Основы работы с СУБД Microsoft Office Access 2007
В данной лабораторной работе рассматриваются основные возможности и особенности СУБД Microsoft Office Access, стандартные режимы работы с таблицами, методы разработки экранных форм, отчетов, запросов.
Цель: освоение методов работы с базами данных в системе Microsoft Office Access 2007
Общая характеристика системы
Система Microsoft Access является одним из основных компонентов Microsoft Office и предназначена для работы с реляционными базами данных. Особенность данной СУБД состоит в том, что вся информация базы данных хранится в одном файле (*.accdb). Кроме информации таблиц, в этом же файле сохраняются компоненты приложения для работы с базой данных - экранные формы, отчеты, запросы, программные модули.
Для работы с базой данных система использует Microsoft Jet database engine - систему управления базами данных, извлекающую и сохраняющую данные в пользовательских и системных задачах. Ядро базы данных Microsoft Jet можно рассматривать как компонент диспетчера данных, с помощью которого строятся остальные системы доступа к данным, такие как Microsoft Access и Microsoft Visual Basic.
Язык написания программных модулей для работы с базой данных - Microsoft Visual Basic for Applications (VBA).
Основные возможности системы при работе с базами данных приведены в табл. 1.
Таблица 1. Спецификации системы Microsoft Office Access 2007 | |
Атрибут | Максимальное значение |
База данных | |
Размер файла базы данных (*.accdb) | 2 Гбайт за вычетом места, необходимого системным объектам |
Число объектов в базе данных | 32 768 |
Модули (включая формы и отчеты) | 1 000 |
Число знаков в имени объекта | |
Число знаков в пароле | |
Число знаков в имени пользователя или имени группы | |
Число одновременно работающих пользователей |
|
В табл. 2. приведены сведения об основных типах данных, которые могут иметь поля в таблицах.
Таблица 2. Основные типы данных системы Microsoft Access | |||
Тип данных полей | Тип данных в VBA | Использование | Размер |
Текстовый | String | Текст, состоящий из любых символов в кодировке Unicode (2 байта на символ) | До 255 символов |
Поле МЕМО | String | Текст в кодировке Unicode | До 64000 символов |
Числовой (Байт, Целое, Длинное целое, Одинарное с плавающей точкой, Двойное с плавающей точкой, Код репликации, Действительное) | Byte, Integer, Long, Single, Double | Числовые данные | 1, 2, 4 или 8 байтов. 16 байтов только для кодов репликации |
Дата/время. Полный формат даты. Длинный формат даты. Средний формат даты. Краткий формат даты. Длинный формат времени. Средний формат времени. Краткий формат времени | Date | Даты и время. 31.12.04 23:55:59 31 декабря 2004 г. 31-дек-04 31.12.2004 31.12.04 23:55:59 11:55 23:55 | 8 байтов (при активации поля всегда показывает полный формат даты) |
Денежный | Currency | Значения валют. Денежный тип используется для предотвращения округлений во время вычислений. Предполагает до 15 символов в целой части числа и 4 - в дробной | 8 байтов |
Счетчик | Автоматическая вставка последовательных увеличивающихся на 1 чисел при добавлении записи. | 4 байта. 16 байтов только для кодов репликации | |
Логический | Boolean | Поля, содержащие только одно из двух возможных значений, таких как Да/Нет, Истина/Ложь, Вкл/Выкл. | 1 бит |
Поле объекта OLE | String | Объекты (например, документы Microsoft Word, электронные таблицы Microsoft Excel, рисунки, звуки и другие двоичные данные), созданные в программах, использующих протокол OLE. Объекты могут быть связанными или внедренными. | До 1 гигабайта (ограничено объемом диска) |
Гиперссылка | String | Поле, в котором хранятся гиперссылки. Гиперссылка может иметь вид URL-адреса | До 64000 символов |
Мастер подстановок | Создает поле, позволяющее выбрать значение из другой таблицы или из списка значений, используя поле со списком. При выборе данного типа запускается Мастер для определения этого поля | Тот же размер, который имеет первичный ключ, являющийся полем подстановок |
|
Система Microsoft Access имеет собственные средства для разграничения прав доступа пользователей к базе данных.
Простейшим способом ограничения доступа к базе данных является установка пароля для открытия базы данных (*.accdb). После установки пароля при каждом открытии базы данных будет появляться диалоговое окно, в которое требуется ввести пароль. Этот способ достаточно надежен (Microsoft Access шифрует пароль, поэтому к нему нет доступа при непосредственном чтении файла базы данных), но он действует только при открытии базы данных. После открытия базы все объекты становятся доступными для пользователя (пока не определены другие типы защиты, описанные ниже). Для базы данных, которая совместно используется небольшой группой пользователей или на автономном компьютере, обычно оказывается достаточно установки пароля.
База данных может быть зашифрована. При шифровании базы данных ее файл сжимается и становится недоступным для чтения служебными программами или текстовыми редакторами. Дешифрование базы данных отменяет результаты операции шифрования.
|
Создание базы данных
Процесс создания базы данных рассмотрим на примере модели базы данных информационной системы "Студенты университета".
Схема 1 – схема данных информационной системы «Студенты университета»
В системе Microsoft Access процесс создания базы данных выполняется следующим образом. При запуске системы появляется диалоговое окно для выбора режима работы (рис. 1), в котором следует выбрать пункт Новая база данных...
Рис. 1 - Создание файла
После выбора первого пункта появляется окно для задания пути сохранения и имени новой базы.
Создадим папку на диске с именем Ваша_фамилия для сохранения файла базы данных и зададим имя базы – Ваша_фамилия_STUDENTS, нажмем на кнопку Создать, после чего откроется окно базы данных.
Далее необходимо задать структуру таблиц. Далее описан режим создания таблиц с помощью Конструктора. Умение использовать этот режим необходимо каждому пользователю для создания новых таблиц и модификации структуры уже существующих.
Выберем вкладку Создание, нажмём кнопку Конструктор таблиц (рис. 2) и опишем структуру главной таблицы базы данных, т.е. зададим имя, тип, размер каждого поля таблицы, а также первичный ключ (если необходимо), индексированные поля и подпись (рис. 3). Имена полей лучше писать латинскими буквами, в одно короткое слово - для удобства использования их в запросах и программах, работающих с базой данных; задание подписей для полей облегчает разработку экранных форм и отчетов.
Рис. 2 - Окно базы данных
Рис. 3 - Описание структуры таблицы SPISOK в конструкторе
Структура таблицы SPISOK приведена в табл. 3.
Таблица 3. Структура таблицы SPISOK | ||||
Имя поля | Тип данных | Размер поля | Индексированное поле | Подпись |
NZ | Счётчик | Длинное целое | Да (Совпадения не допускаются) | № зачетки |
FIO | Текстовый | Фамилия, имя, отчество | ||
DATA_P | Дата/время | Краткий формат даты | Дата поступления | |
N_FCLT | Числовой | Байт | Да (Допускаются совпадения) | Факультет |
N_SPECT | Числовой | Байт | Да (Допускаются совпадения) | Специальность |
KURS | Числовой | Байт | Курс | |
N_GRUP | Числовой | Байт | Группа | |
N_PASP | Текстовый | Номер паспорта |
Для поля NZ следует задать свойство "Ключевое поле", т.к. номер зачетки - уникальный для каждого студента и однозначно его идентифицирует в таблице базы. По окончании описания структуры таблицы даем команду Сохранить (на стандартной панели инструментов, в меню - раздел Файл, или при закрытии окна конструктора) и задаем название таблицы - SPISOK.
Аналогичным образом создаем в базе данных справочник факультетов с именем файла FCLT, структура его приведена в табл. 4, специальностей SPECT, оценок OCENKI ипредметов PREDMETS.
Таблица 4. Структура таблицы FCLT | ||||||
Имя поля | Тип данных | Размер поля | Индексированное поле | Подпись | ||
N_FCLT | Числовой | Байт | Да (Совпадения не допускаются) | Номер факультета | ||
NAME_F | Текстовый | Название факультета | ||||
Таблица 5. Структура таблицы SPECT | ||||||
Имя поля | Тип данных | Размер поля | Индексированное поле | Подпись | ||
N_SPECT | Числовой | Байт | Да (Совпадения не допускаются) | Номер специальности | ||
NAME_S | Текстовый | Название специальности | ||||
Таблица 6. Структура таблицы OCENKI | ||||||
Имя поля | Тип данных | Размер поля | Индексированное поле | Подпись | ||
NZ | Числовой | Длинное целое | Да (Допускаются совпадения) | Номер зачетки | ||
SEMESTR | Числовой | Байт | Семестр | |||
N_PREDM | Числовой | Целое | Да (Допускаются совпадения) | Предмет | ||
BALL | Числовой | Байт | Оценка | |||
DATA_B | Дата/время | Краткий формат даты | Дата | |||
PREPOD | Текстовый | Преподаватель | ||||
Таблица 7. Структура таблицы PREDMETS | ||||
Имя поля | Тип данных | Размер поля | Индексированное поле | Подпись |
N_PREDM | Числовой | Целое | Да (Совпадения не допускаются) | Номер предмета |
NAME_P | Текстовый | Название предмета |
После этого необходимо выбрать вкладку Работа с базами данных, Схема данных (рис.4.) и создать связи один ко многим между таблицами (смотри схему 1).
Рис. 4 - Вкладка Работа с базами данных
Стандартный режим работы с таблицами
Заполнение базы данных информацией следует начинать со справочников - иначе при заполнении главных таблиц возникнут конфликты сохранения ссылочной целостности базы. Например, если в справочнике факультетов не будет номера факультета, указанного для студента, появится сообщение:
Рис. 5 – Сообщение об ошибке
и Вы не сможете сохранить данные, пока не укажете правильное значение.
Для работы с информацией таблицы базы данных (добавление, редактирование и удаление записей) следует выбрать ее в разделе объектов базы данных "Таблицы" (см. рис. 6) и двойным щелчком мыши открыть.
Рис. 6 - База данных
Таблица откроется в стандартном режиме работы с информацией, как показано на рис. 6.
Рис. 7 - Стандартный режим работы с таблицей базы данных
В таком режиме каждая запись таблицы базы данных представлена как строка, состоящая из столбцов - полей, над которыми показаны подписи полей или, при их отсутствии, имена полей. В нижней части таблицы присутствует пустая запись с символом * в левой колонке - это несуществующая запись, которая добавляется в таблицу, как только в ней появляется какая-либо информация. На нижней рамке окна находятся кнопки для перемещения по таблице, номер текущей записи и информация об общем количестве записей в таблице. Колонка слева с символом + имеется в наличии, если у таблицы есть связь от одной записи данной таблицы ко многим записям связанной с ней таблицы. В данном случае при щелчке мышью на плюсе откроется как подтаблица - список студентов для соответствующего факультета.
В системе Microsoft Access существуют также дополнительные возможности использования в таблицах режима "Подстановка" для показа и выбора данных из раскрывающихся списков ("тип источника строк" - таблица или запрос, список значений или список полей). Этот режим можно создать с помощью Мастера, если выбрать тип поля "Мастер подстановок" или описать самому на странице "Подстановка". В примере этот режим задан для поля N_FCLT таблицы Spisok (см. рис.8). В дальнейшем для поля с описанными свойствами раздела "Подстановка" на экранной форме будет автоматически создаваться объект типа "Поле со списком".
Рис. 8 - Параметры страницы "Подстановка" в Конструкторе
Аналогичным образом задайте режим подстановка для поля N_SPECT таблицы SPISOK, поля N_PREDM таблицы OCENKI.
Вид таблицы Spisok с использованием поля со списком для полей N_FCLT и N_SPECT показан на рис. 9.
Рис. 9 - Таблица с использованием режима "Подстановка"
При работе с таблицей можно задать сортировку записей по одному из полей и фильтр для показа данных, соответствующих заданному условию (см. вкладку «Главная»).
После окончания добавления, редактирования или удаления данных следует дать команду Сохранить, или при закрытии окна таблицы подтвердить сохранение изменений.