Какие операции с файлами можно выполнять работая в базе данных
Работу с базами данных SQL, как структурированный язык запросов, выполняет практически идеально. Более того, он считается основным инструментом для взаимодействия с реляционными БД, позволяющим проводить с ними самые разные манипуляции.
И пусть возраст SQL насчитывает уже несколько десятилетий, он до сих пор используется весьма широко. Создать без него нечто серьезное весьма затруднительно.
Особенности языка SQL
SQL является непроцедурным языком программирования, предназначенным в первую очередь для описания данных, их выборки из реляционных БД и последующей обработки. Таким образом, SQL оперирует исключительно базами данных, и использовать только его для создания полноценного приложения нельзя.
В этом случае потребуются инструменты других языков, поддерживающих встраивание SQL-команд. Именно по причине своей специфичности SQL считают вспомогательным средством, позволяющим обрабатывать данные. Этот язык на практике используется только совместно с другими языками.
Особенности языка SQL
В общем случае прикладные средства программирования подразумевают создание процедур. SQL такими возможностями не обладает. Здесь нельзя указать способы решения задач — задается лишь смысл каждой конкретной задачи. Иначе говоря, в работе с базами данных SQL важны результаты, а не процедуры, приводящие к этим результатам.
Этот специфический язык программирования обладает одним важным свойством — возможностью доступа к реляционным базам данных. Иногда все реляционные БД ошибочно приравниваются к СУБД с применением средств SQL. На самом деле эти понятия следует различать.
Типы данных в Microsoft Access
Таблицы баз данных дают возможность для работы с различными типами данных. Система баз данных Access предназначается для таких типов данных, как:
- Текстовый. Может быть использован для хранения стандартного текста с ограничением 255 символов в размере. Текст или числа не предназначаются для расчётов.
- Числовой. Используют для хранения действительных чисел. Здесь есть огромное число подтипов, выбор которых определяет точность вычислений.
- Поле Мемо – специальный тип данных, предназначенный для хранения текстов объёмом до 65 535 символов. В поле хранится именно указатель на место базы данных, где хранится непосредственно текст. Поле данного типа не может быть ключевым или проиндексированным. Предусмотрены длинный текст или комбинация текста и числовых значений.
- Дата/время. Предназначен для хранения дат календаря и настоящего времени в специальном фиксированном формате.
- Денежный. Необходим для хранения денежных сумм. В него включены денежные значения и числовые сведения, используемые при математических расчётах.
- Счётчик, в форме специального типа данных для оригинальных натуральных чисел, неповторяющихся в поле и обладающих автоматическим наращиванием. Функция заключается в порядковой нумерации записей.
- Логический. Нужен для хранения логических данные и полей, которые содержат одно из 2-х возможных значений (могут принимать только 2 значения, например: «Да» или «Нет»).
- Гиперссылка в форме специального поля, в котором хранятся адреса URL web-данных в сети интернет. При нажатии на ссылку, в автоматическом режиме запустится браузер и будет воспроизведён объект в его окне.
- Мастер подстановок. Не представляет собой специальный тип данных. Можно автоматизировать настройки таким образом, чтобы не вводить информацию в ручном режиме. Сведения в таком случае можно выбрать из раскрывающегося списка.
- Поле объекта OLE предназначается для включения изображения, звукозаписи и других типов данных. Такое поле не является ключевым или проиндексированным.
Элементы базы данных Access
Классическая версия Access состоит из определённого набора объектов. Основными элементами выступают:
Панель «Таблицы» открывает для редактирования таблицы. Распределение информации происходит по строкам и столбцам. Это обеспечивает значительное упрощение процесса импорта электронной формы в таблицу базы данных. Отличие всего одно – информация структурирована.
Строки называются записями. Они состоят из информационных блоков. Каждая из записей состоит из одного поля. Поля располагаются в соответствии со столбцами. В них могут быть расположены конкретные виды данных (цифровые, текстовые, и т.п.).
Описание записей и полей таблицы базы данных Access производится при помощи визуализации стандартного стиля каталога карточек библиотеки. Каждая из карточек соответствует записи в базе данных. Определённый информационный фрагмент на отдельно взятой карточке соответствует полю в базе данных.
Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.
Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!
Скачивайте и используйте уже сегодня:
Топ-30 самых востребованных и высокооплачиваемых профессий 2022
Подборка 50+ ресурсов об IT-сфере
ТОП сервисов и приложений, на которые следует перейти уже сегодня
3,7 MB
Применение форм для объектов базы данных Access направлено на создание интерфейса пользователя, в который можно заносить и редактировать информацию. Обычно формы состоят из кнопок с командами и иными функциями управления, которые используются для реализации того или иного функционала. При их отсутствии можно собрать БД путём редактирования имеющейся информации в таблицах Access. Таким образом, большинство пользователей используют формы с целью просмотра, ввода и корректировки сведений в таблицах. Командные кнопки позволяют:
- задать данные для конечного отображения в форме;
- открыть другие формы и отчёты;
- выполнить другие задачи, например, работать с «Формой клиента».
Формы базы данных Access позволяют обеспечить контроль взаимодействия пользователей с данными. Например, есть возможность создать форму, которая отображает определённые поля и выполняет конкретное число операций. Это, в свою очередь, даёт гарантию защиты и правильность при вводе данных.
Запросы в базе данных Access необходимы для реализации многих функций. Главная опция – это поиск информации в той или иной таблице. Если необходимые сведения располагаются в разных таблицах, их можно просмотреть в одной (при помощи запроса). Запросы могут позволить пользователю производить фильтрацию данных путём определения критериев поиска для отображения только нужных сведений.
С помощью функции «обновляемых» запросов можно заниматься редактированием данных, найденных в основных таблицах. При этом правки появляются как в таблице запроса, так и в основных таблицах.
Существует 2 вида запросов – запросы на выборки и запросы на выполнение действий. Запрос на выборки выполняет функцию извлечения данных, чтобы преобразовать их в нужный для дальнейшего использования вид.
В данном случае результаты запроса могут быть выведены на экран, печать или перемещены в буфер обмена. Данные на выходе запроса необходимо применять, как источник записей для формы. Функция запроса на изменение – выполнение задач с информацией. С ними удобно создавать новые таблицы, делать пополнение сведений существующих таблиц, удалять или обновлять данные.
Мы вместе с экспертами по построению карьеры подготовили документы, которые помогут не ошибиться с выбором и определить, какая профессия в IT подходит именно вам.
Благодаря этим гайдам 76% наших студентов смогли найти востребованную профессию своей мечты!
Скоро мы уберем их из открытого доступа, успейте скачать бесплатно:
Женщины в IT: мифы и перспективы в карьере
Как прокачать свою технику речи
100 тыс. руб за 100 дней с новой профессией
Список из 6 востребованных профессий с заработком от 100 тыс. руб
Критические ошибки, которые могут разрушить карьеру
Собрали 7 типичных ошибок, четвертую должен знать каждый!
Гайд по профессиям в IT
5 профессий с данными о навыках и средней заработной плате
4,7 MB
Это аналог упрощённого языка программирования. При помощи макросов можно повысить уровень функциональности базы данных. Например, если добавить макрос к командной кнопке, он сможет запускаться при каждом нажатии на данную кнопку. Макросы состоят из команд, по средствам которых можно решить конкретно поставленную задачу: открыть отчёты, выполнить запросы, закрыть базы данных и т.д.
Макросы дают возможность для автоматизации многих операционных процессов, которые ранее выполнялись в ручном режиме. Такая функция может существенно сэкономить время при работе с программой.
Элементы в таком виде предназначены для того, чтобы повысить уровень функциональности баз данных. Создание модулей происходит на языке Visual Basic для приложений (VBA). Модули представляют собой набор инструкций, описаний, процедур. Есть стандартные элементы и модули класса.
В последнем случае у них имеется не только связь с конкретными формами или отчётами, но и содержание процедур по работе с ними. У стандартных модулей имеются общие процедуры, несвязанные с определёнными объектами. Список стандартных модулей представлен в перечне «Модули в области навигации».
Общая характеристика базы данных Access
Чтобы глубже ознакомиться с возможностями реляционной системы, которая входит в пакет Microsoft Office, следует разобраться с таким понятием, как база данных Access. Напомним, что набор информации, включающей структурированные по установленным правилам данные, который характеризуется особыми правилами описания и хранения, а также является независимым от программных приложений, называют базой данных (БД).
Общая характеристика базы данных Access
Самой популярной моделью представления упорядоченной информации является реляционная система. Ее название происходит от прилагательного relational (относительный). Это связано с тем, что отдельная запись в БД включает сведения, касающиеся только одного объекта.
При этом появляется возможность для работы с данными, которые принадлежат различным объектам, как единым целым, базирующимся на значениях, связанных друг с другом. Особенность реляционных систем управления информационными базами состоит в том, что весь массив обрабатываемых данных представлен в табличной форме.
На сегодняшний день система Access является одной из самых распространенных моделей управления БД в семействе продуктов корпорации Microsoft Office. Её может освоить не только опытный пользователь, но и новичок. В Microsoft Access база данных – это система, состоящая из элементов (например, таблицы, формы, запросы), выполняющих конкретно поставленную задачу. Сам термин «access» означает «доступ» (если перевести в электронном словаре).
Access – это современная прикладная программа Windows, позволяющая использовать все возможности DDE (Dynamic Data Exchange) — динамический обмен данными и OLE (Object Linking and Embedding) — связь и внесение объектов.
Получите подборку бесплатно (pdf 2,5 mb)
DDE позволяет обеспечивать обмен данными между MS Access и любым приложением от Windows. OLE также способен как устанавливать связь с объектами других прикладных программ, так и внедрять определённый объект в БД Access. Примером таких объектов могут быть электронные таблицы, диаграммы, рисунки, или документы из других приложений Windows.
Access способен работать с огромным количеством различных форматов данных. При этом, импорт/экспорт данных производится из электронных таблиц и текстовых файлов. Система способна заниматься непосредственной обработкой файлов FoxPro, Paradox, dBase III, dBase IV, и т.д.
Для работы с элементами СУБД Access использует процессор баз данных Microsoft Jet. Конструктор форм предназначен для объектов доступа и используется, как средство быстрого построения интерфейса. Конструктор отчётов обеспечивает вывод соответствующих документов. Чтобы автоматизировать рутинные операции можно воспользоваться функциями макрокоманд.
Система ориентирована на конечного пользователя. В работе Access используется язык программирования Visual Basic for Application. Он может создавать массивы, собственные типы данных, вести контроль работы прикладных программ.
Понятие реляционной СУБД
Не углубляясь в детали, можно дать такое определение: реляционной называется СУБД, использующая реляционную модель управления.
Доктор Е. Ф. Кодд в 1970 году опубликовал свою работу, где впервые было дано понятие реляционной модели. В публикации описывался некий математический аппарат, структурирующий данные и оперирующий ими. Основная идея состояла в представлении любых данных в виде абстрактной модели.
В соответствии с предложенной концепцией отношение между объектами (relation) представляет собой некую таблицу с данными. При этом существуют атрибуты (или признаки) отношения, которые соответствуют столбцам рассматриваемой таблицы. Сами данные предстают в виде наборов этих признаков и формируют записи (кортежи). Последние в свою очередь соответствуют табличным строкам.
Значения атрибутов каждого кортежа входят в домены, представляющие собой определенные наборы данных и задающие пределы допустимых значений.
Разберем это на примере. Существует домен «Неделя», в котором содержатся значения всех дней недели («Понедельник», «Вторник», …, «Воскресенье»). Атрибут, имеющий эти значения, называется «ДеньНедели». Тогда соответствие этого атрибута домену автоматически означает, что в одноименном столбце должны содержаться только перечисленные значения. Любые другие символы и группы символов недопустимы.
2. В Access создание таблиц может быть выполнено способом прямого
конструирования и с помощью Мастера таблиц. Построение с помощью Мастера таблиц выполняется:
- клавишей "Таблица" открывается окно "Создание таблиц" (СТ);
- в окне СТ щелканем по кнопке Мастер открывается окно "Разработка
таблиц". Здесь в образцах таблиц выбирается нужная: Задачи, Заказчики и т.д.
В образцах полей выбираются необходимые, которые будут именами столбцов таблицы. Выбор заканчивается включением кнопки >>.
В последующих диалоговых окнах Мастера таблиц можно задать имя
таблицы и другие параметры. В результате выводится таблица с поименованными колонками и пустыми клетками, которые заполняются информацией, как в ЭТ.
3. В сформированной таблице или при ее заполнении возможны следующие корректировки:
- изменения в выделенных клетках выполняются поверх имеющихся данных;
- информацию клеток или их групп можно вырезать, копировать, вставлять соответствующими командами меню Правка или кнопка ИП;
- перемещение выделенных фрагментов таблицы БМ;
- вставка новой строки пункта Правка/Вставка строки.
Необходимо помнить, что внесение изменений в тип данных и форму таблицы возможны только в режиме конструирования, который включается из пункта Вид.
4. Создание форм. Запись БД в Access может быть представлена в виде
формы, которая содержит названия колонок и данных одной записи. Формы можно создавать отдельно или с их помощью просматривать и корректировать записи в уже созданных таблицах. Переключение в окно форм выполняется из ОБД кнопкой “Форма” (Form).
5. Сортировка записей выполняется при открытой таблице, где выделяются колонки для сортировки. Команда на сортировку (по возрастанию или убыванию) осуществляется кнопкой ИП через пункт Записи/Быстрая Сортировка.
6. СУБД Access предоставляет несколько способов поиска: простой, с применением фильтра, запросы.
Простой поиск может быть выполнен скроллингом, но удобнее использовать информацию в форме, где указывается поле поиска (ЩЛ), а далее пункт Правка/Найти или соответствующей ПГ в диалоговом окне указываются данные для поиска.
Фильтр - это поиск записей по заданным критериям. Выполняется из окна "Фильтр", открываемого пунктом Записи/Изменить фильтр. Нужные поля из описываемого бокса двойным ЩЛ помещаются в таблицу, вводятся критерии. Выполнение фильтрации осуществляется пунктом Записи/Применить фильтр.
7. Отчет - представляет собой документ в виде сводки необходимой информации, выбранной из БД. В эту сводку могут быть включены не все, а некоторые из столбцов ранее изготовленной таблицы или запроса. Часто - итоговые данные.
Создание отчета начинается с включения вкладки Отчет/Создать в окне ОБД и перехода в окно “Создание отчета”. Далее выбираются из списка необходимые таблицы (запросы) и используются подходящие Мастера отчетов. Перемещения по диалоговым окнам Мастера позволяет выбрать необходимые поля для отчета, внешний вид и заголовок. По окончании формирования отчета, нажатием кнопки Готово, Access выводит внешний вид отчета для просмотра. После сохранения отчет может быть отпечатан пункт Файл/Печать.
Все программы и данные хранятся в долговременной (внешней) памяти компьютера в виде файлов.
Файл — это определенное количество информации (программа или данные), имеющее имя и хранящееся в долговременной (внешней) памяти.
Имя файла состоит из двух частей, разделенных точкой: собственно имя файла и расширение, определяющее его тип (программа, данные и т. д.). Собственно имя файлу дает пользователь, а тип файла обычно задается программой автоматически при его создании.
Тип файла | Расширение |
Исполняемые программы | exe, com |
Текстовые файлы | txt, rtf, doc |
Графические файлы | gif, jpg, png, pds и др. |
Web-страницы | htm, html |
З звуковые файлы | wav, mp3, midi, kar, ogg |
видеофайлы | avi, mpeg и др. |
Код (текст) программы на языках программирования | bas, pas, cpp и др. |
В различных операционных системах существуют различные форматы имен файлов. В операционной системе MS-DOS собственно имя файла должно содержать не более восьми букв латинского алфавита и цифр, а расширение состоит из трех латинских букв, например: proba.txt
В операционной системе Windows имя файла может иметь до 255 символов, причем допускается использование русского алфавита, например:
Единицы измерения информации.doc
До появления операционной системы Windows 95 на большинстве компьютеров IBM PC работала операционная система MS-DOS, в которой действовали весьма строгие правила присвоения имен файлам. Эти правила называют соглашением 8.3
По соглашению 8.3 имя файла может состоять из двух частей, разделенных точкой. Первая часть может иметь длину до 8 символов, а вторая часть (после точки) — до 3 символов. Вторая часть, стоящая после точки, называется расширением имени.
При записи имени файла разрешается использовать только буквы английского алфавита и цифры. Начинаться имя должно с буквы. Пробелы и знаки препинания не допускаются, за исключением восклицательного знака (!), тильды (~) и символа подчеркивания (_).
После введения в действие операционной системы Windows 95 требования к именам файлов стали существенно мягче. Они действуют и во всех последующих версия операционных систем Windows.
1. Разрешается использовать до 255 символов.
2. Разрешается использовать символы национальных алфавитов, в частности русского.
3. Разрешается использовать пробелы и другие ранее запрещенные символы, за исключением следующих девяти: /\:*?"<>|.
4. В имени файла можно использовать несколько точек. Расширением имени считаются все символы, стоящие за последней точкой.
Роль расширения имени файла чисто информационная, а не командная. Если файлу с рисунком присвоить расширение имени ТХТ, то содержимое файла от этого не превратится в текст. Его можно просмотреть в программе, предназначенной для работы с текстами, но ничего вразумительного такой просмотр не даст.
Файловая система. На каждом носителе информации (гибком, жестком или лазерном диске) может храниться большое количество файлов. Порядок хранения файлов на диске определяется установленной файловой системой.
Файловая система - это система хранения файлов и организации каталогов.
Для дисков с небольшим количеством файлов (до нескольких десятков) удобно применять одноуровневую файловую систему, когда каталог (оглавление диска) представляет собой линейную последовательность имен файлов. Для отыскания файла на диске достаточно указать лишь имя файла.
Если на диске хранятся сотни и тысячи файлов, то для удобства поиска файлы организуются в многоуровневую иерархическую файловую систему, которая имеет «древовидную» структуру (имеет вид перевернутого дерева).
Начальный, корневой, каталог содержит вложенные каталоги 1-го уровня, в свою очередь, в каждом из них бывают вложенные каталоги 2-го уровня и т. д. Необходимо отметить, что в каталогах всех уровней могут храниться и файлы.
Для облегчения понимания этого вопроса воспользуемся аналогией с традиционным «бумажным» способом хранения информации. В такой аналогии файл представляется как некоторый озаглавленный документ (текст, рисунок и пр.) на бумажных листах. Следующий по величине элемент файловой структуры называется каталогом. Продолжая «бумажную» аналогию, каталог будем представлять как папку, в которую можно вложить множество документов, т.е. файлов. Каталог также получает собственное имя (представьте, что оно написано на обложке папки).
Каталог сам может входить в состав другого, внешнего по отношению к нему каталога. Это аналогично тому, как папка вкладывается в другую папку большего размера. Таким образом, каждый каталог может содержать внутри себя множество файлов и вложенных каталогов (их называют подкаталогами). Каталог самого верхнего уровня, который не вложен ни в какие другие, называется корневым каталогом.
А теперь полную картину файловой структуры представьте себе так: вся внешняя память компьютера — это шкаф с множеством выдвижных ящиков. Каждый ящик — аналог диска; в ящике — большая папка (корневой каталог); в этой папке множество папок и документов (подкаталогов и файлов) и т.д. Самые глубоко вложенные папки хранят в себе только документы (файлы) или могут быть пустыми.
Путь к файлу. Для того чтобы найти файл в иерархической файловой структуре необходимо указать путь к файлу. В путь к файлу входят записываемые через разделитель "\" логическое имя диска и последовательность имен вложенных друг в друга каталогов, в последнем из которых находится данный нужный файл.
Например, путь к файлам на рисунке можно записать так:
C:\Рефераты\
C:\Рефераты\Физика\
C:\Рефераты\Информатика\
C:\Рисунки\
Полное имя файла.
Путь к файлу вместе с именем файла называют полным именем файла.
Пример полного имени файлов:
C:\Рефераты\Физика\Оптические явления.doc
C:\Рефераты\Информатика\Интернет.doc
C:\Рефераты\Информатика\Компьютерные вирусы.doc
C:\Рисунки\Закат.jpg
C:\Рисунки\ Зима.jpg
В операционной системе Windows вместо каталогов используется понятие «папка». Папка – это объект Windows, предназначенное для объединения файлов и других папок в группы. Понятие папки шире, чем понятие «каталог».
В Windows на вершине иерархии папок находится папка Рабочий стол. (Следующий уровень представлен папками Мой компьютер, Корзина и Сетевое окружение (если компьютер подключен к локальной сети).
Если мы хотим ознакомиться с ресурсами компьютера, необходимо открыть папку Мой компьютер.
С файлами и папками можно выполнить ряд стандартных действий.
Такие действия с файлами, как «создать», «сохранить», «закрыть» можно выполнить только в прикладных программах («Блокнот», «Paint», …).
Действия «открыть», «переименовать», «переместить», «копировать», «удалить» можно выполнить в системной среде.
• Копирование (копия файла помещается в другой каталог);
• Перемещение (сам файл перемещается в другой каталог);
• Удаление (запись о файле удаляется из каталога);
• Переименование (изменяется имя файла).
Графический интерфейс Windows позволяет производить операции над файлами с помощью мыши с использованием метода Drag&Drop (тащи и бросай). Существуют также специализированные приложения для работы с файлами, так называемые файловые менеджеры.
Историческим шагом стал переход к использованию систем управления файлами. С точки зрения прикладной программы файл – это именованная область внешней памяти, в которую можно записывать и из которой можно считывать данные. Правила именования файлов, способ доступа к данным, хранящимся в файле, и структура этих данных зависят от конкретной системы управления файлами и, возможно, от типа файла. Система управления файлами берет на себя распределение внешней памяти, отображение имен файлов в соответствующие адреса внешней памяти и обеспечение доступа к данным.
В этом разделе мы рассмотрим историю файловых систем, их основные черты и области разумного применения. Однако сначала сделаем два замечания. Во-первых, в области управления файлами исторически существует некоторая терминологическая путаница. Термин файловая система (file system) используется для обозначения программной системы, управляющей файлами, и архива файлов, хранящегося во внешней памяти. Было бы лучше в первом случае использовать термин система управления файлами, оставив за термином файловая система только второе значение. Однако принятая практика заставляет нас использовать термин файловая система в обоих смыслах. Будем надеяться, что точный смысл термина будет понятен из контекста. (Заметим, что среди непрофессионалов аналогичная путаница возникает при использовании терминов база данных и система управления базами данных. В этом курсе мы будем строго разделять эти термины.) Во-вторых, мы ограничимся описанием свойств так называемых традиционных файловых систем, не обсуждая особенности современных систем с повышенной надежностью, поскольку это заставило бы нас сильно отклониться от основной темы курса.
Первая развитая файловая система была разработана специалистами IBM в середине 60-х гг. для выпускавшейся компанией серии компьютеров «360». В этой системе поддерживались как чисто последовательные, так и индексно-последовательные файлы, а реализация во многом опиралась на возможности только появившихся к этому времени контроллеров управления дисковыми устройствами. Контроллеры обеспечивали возможность обмена с дисковыми устройствами порциями данных произвольного размера, а также индексный доступ к записям файлов, и эти функции контроллеров активно использовались в файловой системе ОS/360.
Файловая система ОS/360 обеспечила будущих разработчиков уникальным опытом использования дисковых устройств с подвижными головками, который отражается во всех современных файловых системах.
1.3.1. Структуры файлов
Практически во всех современных компьютерах основными устройствами внешней памяти являются магнитные диски с подвижными головками, и именно они служат для хранения файлов. Как отмечалось ранее, аппаратура магнитных дисков допускает выполнение обмена с дисками порциями данных произвольного размера. Однако возможность обмениваться с магнитными дисками порциями, размеры которых меньше полного объема блока, в настоящее время в файловых системах не используется. Это связано с двумя обстоятельствами.
Во-первых, как указывалось в разделе 1.2 «Устройства внешней памяти», считывание или запись только части блока не приводит к существенному выигрышу в суммарном времени обмена. Во-вторых, для работы с частями блоков файловая система должна обеспечить буферы оперативной памяти соответствующего размера, что существенно усложняет распределение оперативной памяти. Алгоритмы распределения памяти порциями произвольного размера плохи тем, что любой из них рано или поздно приводит к внешней фрагментации памяти. В памяти образуется большое число маленьких свободных фрагментов. Их совокупный размер может быть больше размера любого требуемого буфера, но его можно выделить, только если произвести сжатие памяти, т. е. подвижку всех занятых фрагментов таким образом, чтобы они располагались вплотную один к другому. Во время выполнения операции сжатия памяти нужно приостановить выполнение обменов, а сама эта операция занимает много времени.
Поэтому во всех современных файловых системах явно или неявно выделяется уровень, обеспечивающий работу с базовыми файлами, которые представляют собой наборы блоков, последовательно нумеруемых в адресном пространстве файла и отображаемых на физические блоки диска (рис. 1.2). Размер логического блока файла совпадает с размером физического блока диска или кратен ему; обычно размер логического блока выбирается равным размеру страницы виртуальной памяти, поддерживаемой аппаратурой компьютера совместно с операционной системой.
В некоторых файловых системах базовый уровень был доступен пользователю, но чаще он прикрывался некоторым более высоким уровнем, стандартным для пользователей. Существуют два основных подхода. При первом подходе, свойственном, например, файловым системам операционных систем компании DEC RSX и VMS, пользователи представляют файл как последовательность записей. Каждая запись – это последовательность байтов, имеющая постоянный или переменный размер. Можно читать или писать записи последовательно либо позиционировать файл на запись с указанным номером. Некоторые файловые системы позволяют структурировать записи на поля и объявлять некие поля ключами записи.
Рис. 1.2. Схематичное изображение базового файла
В таких файловых системах можно потребовать выборку записи из файла по ее заданному ключу. Естественно, в этом случае файловая система поддерживает в том же (или другом, служебном) базовом файле дополнительные, невидимые пользователю, служебные структуры данных. Распространенные способы организации ключевых файлов основываются на технике хэширования и B-деревьев. Существуют и многоключевые способы организации файлов (у одного файла объявляется несколько ключей, и можно выбирать записи по значению каждого ключа).
Второй подход, получивший распространение вместе с операционной системой UNIX, состоит в том, что любой файл представляется как непрерывная последовательность байтов. Из файла можно прочитать указанное число байтов, либо начиная с его начала, либо предварительно выполнив его позиционирование на байт с указанным номером. Аналогично можно записать указанное число байтов либо в конец файла, либо предварительно выполнив позиционирование файла. Тем не менее заметим, что скрытым от пользователя, но существующим во всех разновидностях файловых систем ОС UNIX является базовое блочное представление файла.
Конечно, в обоих случаях можно обеспечить набор преобразующих функций, приводящих представление файла к другому виду. Примером тому может служить поддержка стандартной файловой среды UNIX в среде операционных систем компании DEC.
1.3.2. Логическая структура файловых систем и именование файлов
Во всех современных файловых системах обеспечивается многоуровневое именование файлов за счет наличия во внешней памяти каталогов – дополнительных файлов со специальной структурой. Каждый каталог содержит имена каталогов и/или файлов, хранящихся в данном каталоге. Таким образом, полное имя файла состоит из списка имен каталогов плюс имя файла в каталоге, непосредственно содержащем данный файл.
Поддержка многоуровневой схемы именования файлов обеспечивает несколько преимуществ, основным из которых является простая и удобная схема логической классификации файлов и генерации их имен. Можно сопоставить каталог или цепочку каталогов с пользователем, подразделением, проектом и т. д. и затем образовывать в этом каталоге файлы или каталоги, не опасаясь коллизий с именами других файлов или каталогов.
Разница между способами именования файлов в разных файловых системах состоит в том, с чего начинается эта цепочка имен. В любом случае первое имя должно соответствовать корневому каталогу файловой системы. Вопрос заключается в том, как сопоставить этому имени корневой каталог – где его искать? В связи с этим имеются два радикально различных подхода.
Во многих системах управления файлами требуется, чтобы каждый архив файлов (полное дерево каталогов) целиком располагался на одном дисковом пакете или логическом диске – разделе физического дискового пакета, логически представляемом в виде отдельного диска с помощью средств операционной системы. В этом случае полное имя файла начинается с имени дискового устройства, на котором установлен соответствующий диск. Такой способ именования использовался в файловых системах компаний IBM и DEC; очень близки к этому и файловые системы, реализованные в операционных системах семейства Windows компании Microsoft. Можно назвать такую организацию поддержкой изолированных файловых систем.
Другой крайний вариант был реализован в файловых системах операционной системы Multics [3.2]. Эта система заслуживает отдельного разговора, в ней был реализован целый ряд оригинальных идей, но мы остановимся только на особенностях организации архива файлов. В файловой системе Multics пользователям обеспечивалась возможность представлять всю совокупность каталогов и файлов в виде единого дерева. Полное имя файла начиналось с имени корневого каталога, и пользователь не обязан был заботиться об установке на дисковое устройство каких-либо конкретных дисков. Сама система, выполняя поиск файла по его имени, запрашивала у оператора установку необходимых дисков. Такую файловую систему можно назвать полностью централизованной.
Конечно, во многом централизованные файловые системы удобнее изолированных: система управления файлами выполняет больше рутинной работы. В частности, администратор файловой системы автоматически оповещается о потребности установки требуемых дисковых пакетов; система обеспечивает равномерное распределение памяти на известных ей дисковых томах; возможна организация автоматического перемещения редко используемых файлов на более медленные носители внешней памяти; облегчается рутинная работа, связанная с резервным копированием.
Но в таких системах возникают существенные проблемы, если требуется перенести поддерево файловой системы на другую вычислительную установку. Поскольку файлы и каталоги любого логического поддерева могут быть физически разбросаны по разным дисковым пакетам и даже магнитным лентам, для такого переноса требуется специальная утилита, собирающая все объекты требуемого поддерева на одном внешнем носителе, не входящем в состав штатных устройств централизованной файловой системы. Конечно, даже при наличии такой утилиты выполнение процедуры физической сборки требует существенного времени.
Компромиссное решение применяется в файловых системах ОС UNIX [3.1]. На базовом уровне в этих файловых системах поддерживаются изолированные архивы файлов. Один из таких архивов объявляется корневой файловой системой. Это делается на этапе генерации операционной системы, и после запуска операционная система «знает», на каком дисковом устройстве (физическом или логическом) располагается корневая файловая система. После запуска системы можно «смонтировать» корневую файловую систему и ряд изолированных файловых систем в одну общую файловую систему. Технически это осуществляется посредством создания в корневой файловой системе специальных пустых каталогов (точек монтирования).
Специальный системный вызов mount ОС UNIX позволяет подключить к одному из пустых каталогов корневой каталог указанного архива файлов. Выполнение такого действия приводит к «наложению» корневого каталога монтируемой файловой системы на каталог точки монтирования; корневой каталог приобретает имя каталога точки монтирования. После монтирования общей файловой системы именование файлов производится так же, как если бы она с самого начала была централизованной. Если учесть, что обычно монтирование файловой системы производится при раскрутке системы (при выполнении стартового командного файла), пользователи ОС UNIX, как правило, и не задумываются о происхождении общей файловой системы.
Кроме того, поддерживается системный вызов unmount , «отторгающий» ранее смонтированную файловую систему от общей иерархии. Конечно, все это заметно облегчает перенос частей файловой системы на другие установки.
1.3.3. Авторизация доступа к файлам
1.3.4. Синхронизация многопользовательского доступа
Последнее, на чем мы остановимся в связи с файлами, – это способы применения файлов в многопользовательской среде. Если операционная система поддерживает многопользовательский режим, может возникнуть ситуация, когда два или более пользователей одновременно пытаются работать с одним и тем же файлом. Если все эти пользователи собираются только читать файл, ничего страшного не произойдет. Но если хотя бы один из них будет изменять файл, для корректной работы этой группы требуется взаимная синхронизация.
В файловых системах обычно применялся следующий подход. В операции открытия файла (первой и обязательной операции, с которой должен начинаться сеанс работы с файлом) помимо прочих параметров указывался режим работы (чтение или изменение). Если к моменту выполнения этой операции от имени некоторого процесса A файл уже был открыт некоторым другим процессом B, причем существующий режим открытия был несовместим с требуемым режимом (совместимы только режимы чтения), то в зависимости от особенностей системы либо процессу A сообщалось о невозможности открытия файла в нужном режиме, либо процесс A блокировался до тех пор, пока процесс B не выполнит операцию закрытия файла.
1.3.5. Области разумного применения файлов
После краткого экскурса в историю и современное состояние файловых систем обсудим возможные области их применения. Прежде всего, конечно, файлы используются для хранения текстовых данных: документов, текстов программ и т. д. Такие файлы обычно создаются и модифицируются с помощью различных текстовых редакторов. Эти редакторы могут быть очень простыми, такими, как ed в мире UNIX или утилиты редактирования Norton Commander, FAR Manager и других интерактивных сред Windows. Они могут быть сложными и многофункциональными, синтаксически ориентированными, как, например, GNU Emacs. Но обычно структура текстовых файлов очень проста (c точки зрения файловой системы): это либо последовательность записей, содержащих строки текста, либо последовательность байтов, среди которых встречаются специальные символы (например, символы конца строки). Конечно же, сложность логической структуры текстового файла определяется текстовым редактором, но в любом случае файловой системе она не видна.
Файлы, содержащие тексты программ, используются как входные файлы компиляторов (чтобы правильно воспринять текст программы, компилятор должен понимать логическую структуру текстового файла), которые, в свою очередь, формируют файлы, содержащие объектные модули. С точки зрения файловой системы объектные файлы также обладают очень простой структурой – последовательность записей или байтов. Система программирования накладывает на такую структуру более сложную и специфичную для этой системы структуру объектного модуля. Подчеркнем, что логическая структура объектного модуля файловой системе неизвестна; эта структура поддерживается инструментами системы программирования.
Аналогично обстоит дело с файлами, формируемыми редакторами связей (редактор связей должен понимать логическую структуру файлов объектных модулей) и содержащими образы выполняемых программ. Логическая структура таких файлов остается известной только редактору связей и загрузчику – программе операционной системы. Общая схема взаимодействия программных компонентов при построении программы показана на рис. 1.3. Мы кратко обозначили способы использования файлов в процессе разработки программ, но можно сказать, что ситуация аналогична и в других случаях: например, при образовании и использовании файлов, содержащих графическую, аудио- и видеоинформацию.
Одним словом, файловые системы обычно обеспечивают хранение слабо структурированной информации, оставляя дальнейшую структуризацию прикладным программам. В перечисленных выше случаях использования файлов это даже хорошо, потому что при разработке любой новой прикладной системы, опираясь на простые, стандартные и сравнительно дешевые средства файловой системы, можно реализовать те структуры хранения, которые наиболее точно соответствуют специфике данной прикладной области.
Рис. 1.3. Связи между программными компонентами по пониманию логической структуры файлов
Создание базы данных Access и дальнейшая работа с ней под силу даже не слишком опытному пользователю. Инструмент предоставляет массу возможностей, объединяя реляционный Microsoft Jet Database Engine с графическим интерфейсом пользователя и средствами разработки программного обеспечения.
Хотя, конечно, некоторые общие знания, чтобы управлять системой Access, иметь необходимо. То есть предварительно следует изучить характеристики данной СУБД, ознакомиться с ее функционалом, получить представление о режимах работы и существующем наборе компонентов. Итак, начнем?
Функции и режимы работы Access
Access обладает такими важными функциями, как:
- Определение данных, то есть анализ структуры, типа и установление связей.
- Обработка данных, которая включает поиск, сортировку, фильтрацию, вычисление. Также эта функция объединяет данные с иной информацией, связанной с ними.
- Управление данными. Необходимо только прописать разрешение на использование информации (кому именно разрешено). Помимо перечисленного эта функция поможет определить правила совместного пользования данных.
В системе Access есть широкий набор инструментов для того, чтобы задать типа данных — электронные таблицы, числовые значения, денежные эквиваленты, документы, текст, даты, время, рисунки, звук. Можно задавать и разные форматы хранения информации (размер длины строки, точность представления числовых данных и даты времени) и представлять эти данные при выводе на печать или экран.
Существует 3 режима работы базы данных Access:
- Режим запуска, который позволяет осуществлять сжатие и восстановление базы данных без необходимости в её открытии.
- Режим конструктора, где есть возможности для создания и модификации структуры таблиц и запросов, создания форм для отображения и редактирования данных и подготовки отчётов перед печатью.
- Режим выполнения, где в главном окне выводятся окна объектов баз данных.
Создание базы данных в MS Access
Формировать базу данных программы Access можно, используя шаблоны, представленные в самом приложении. Кроме того, их можно найти на портале у разработчиков.
Создание базы данных в MS Access
Конечно, существует вероятность, что доступные шаблоны не смогут полностью удовлетворить ваши потребности, но, опыт формирования БД на их основе будет полезен с точки зрения знакомства со структурой таких баз, их компонентами и возможностями применения. Далее мы продемонстрируем, как выглядит процесс формирования.
Для создания баз данных необходимо запустить Microsoft Access. После этого нужно нажать кнопку Office и использовать команду «Создать». Программа по умолчанию предложит имя БД. Затем, чтобы выбрать место, куда сохранится база данных нужно открыть каталог, а после выбора нажимаем «Создать».
Есть и другой вариант, связанный с использованием шаблонов. Для этого необходимо выбрать в группе соответствующей категории локальные шаблоны, после чего откроется перечень доступных форм. Это будет список задач, из которого мы выбираем ту, которая больше всего соответствует нашим целям. К примеру, возьмем шаблон «Учащиеся». Как и в первом случае программа предложит имя БД. Нужно определиться с каталогом, в который будет сохранена база и кликнуть «Создать».
Теперь у нас есть, пока еще, пустая база данных, включающая готовые шаблоны разных ее составляющих. Так как в БД могут содержаться исключительно активные компоненты, кликаем «Параметры»-> Включить активное содержимое (затем это содержимое может быть включено в базу данных).
Для отображения всех элементов нужно нажать на области переходов, после чего мы увидим все виды объектов, содержащиеся в базе данных Access. Будут отображены таблицы, формы, запросы и отчеты.
Мы можем вносить данные в таблицы или в соответствующие им формы. В ходе изучения окна программы Microsoft Access можно обнаружить большое количество уже знакомых нам компонентов интерфейса. Здесь есть панель Office, кнопка быстрого доступа и т.д. Но, среди известных элементов есть и совершенно новый, который называется «область переходов». Здесь отображается весь перечень элементов БД.
Все эти элементы мы подробно рассмотрели в предыдущих разделах этого материала. При этом, обращаем ваше внимание, что все объекты БД Access могут храниться в едином файле с расширением.
Подытожим информацию, представленную в этой статье. С точки зрения обычного пользователя система управления базами данных Access в плане использования предполагает перечень несложных операций: формирование БД с выбором типов информации, ввод/вывод последней по запросу, создание отчета по доступу в виде презентации. При достаточно широком наборе возможностей система Access от Майкрософт отличается простотой, и работа с ней не вызывает каких-либо проблем.
Читайте также: