Работа с СУБД MS Access
Создание межтабличных связей
Целостность данных - это набор правил, гарантирующих, что Access будет работать только с непротиворечивыми данными и разрешёнными операциями.
Активизировать команду Сервис \ Схема данных в диалоговом окне Схема данных:
- Щёлкнуть по кнопке Добавить таблицу.
- В диалоговом окне из списков выбрать таблицы, между которыми создаются связи. Закрыть окно Добавление таблицы. Искомые таблицы появятся в окне Схема данных.
- Выделить в 1-й таблице ключевое поле и с помощью мыши перетащить его на одноименное поле 2-й таблицы. При отпускании кнопки мыши откроется диалоговое окно Связи.
- Установить флаг Обеспечение целостности данных.
- Щёлкнуть по кнопке Создать. Появится связь 1:1.
Предположим, что требуется установить связь между таблицами "Кафедра" и "Преподаватель" через поле ККАФ (код кафедры). В таблице "Кафедра" это поле является уникальным ключом, а в таблице "Преподаватель" - внешним ключом. Если схема данных создается заново, то при нажатии на кнопку "Схема данных" поверх окна схемы данных появится окно "Добавление таблицы". В этом окне следует выделить требуемые таблицы и нажать "Добавить"( рис. 6.5)
В результате в окно схемы данных будут добавлены графические образы двух таблиц:
Необходимо перетащить мышью поле ККАФ таблица "Кафедра" на поле ККАФ таблицы "Преподаватель". В открывшемся окне "Изменение связей" следует установить флажок "Обеспечение целостности данных". В этом случае Access будет выдавать предупреждающие сообщения о неправильном вводе данных, если, например, в поле ККАФ подчиненной таблицы "Преподаватель" будет введено значение, отсутствующее в поле ККАФ базовой таблицы "Кафедра" ( рис. 6.6).
Обратите внимание, что Access автоматически определил тип связи как "один-ко-многим" ( рис. 6.7).
Можно также установить флажки "каскадное обновление связей" и "каскадное удаление связей". В этом случае Access автоматически скорректирует (удалит) записи в подчиненных таблицах, если будут изменены записи в базовой таблице.
После нажатия на кнопку "Создать", образы таблиц будут соединены связями как показано на рисунке. Ключевые в базовых таблицах выделяются жирным шрифтом ( рис. 6.8).
Для установления связей по составному ключу необходимо в окне "Изменение связей" в полях "Таблица/Запрос" и "Связанная таблица/запрос" вручную выбрать из списков пары связываемых полей. На рис. 6.9 показан пример связи по составному ключу.
Если перетащить поле, не являющееся ключевым и не имеющее уникального индекса, на другое поле, которое также не является ключевым и не имеет уникального индекса, создается неопределенное отношение. В запросах, содержащих таблицы с неопределенным отношением, Microsoft Access по умолчанию отображает линию объединения между таблицами, но условия целостности данных при этом не накладываются и нет гарантии уникальности записей в любой из таблиц.
Образовавшиеся межтабличные данные отображаются в окне Схема данных в виде линий, соединяющие 2 поля разных таблиц. Одна из таблиц считается главной, а другая - связанной. Главная - это та таблица, которая участвует в связи своим ключевым полем.
Связь между таблицами позволяет:
- Исключить возможность удаления или изменения данных в ключевом поле главной таблицы, если с этим полем связаны поля других таблиц;
Установить флаг Обеспечение целостности данных.
- При удалении данных в ключевом поле главной таблицы автоматически удалить соответствующие данные в полях связанных таблиц.
Установить дополнительно флаги Каскадное обновление связанных полей и Каскадное удаление связанных записей.
Работа с запросами
Запрос - это отбор записей в разнообразных формах, в соответствии с выбранными условиями.
Запросы служат для извлечения данных из таблиц и предоставления их пользователю в удобном виде.
Виды запросов
- На выборку;
- Запрос с параметром (критерий задаёт сам пользователь)
- Итоговые запросы (производят вычисления по заданному полю и выдают результат);
- Запросы на изменение (позволяют автоматизировать - заполнение полей таблиц);
- Перекрёстные запросы (позволяют создавать результирующие таблицы на основе результатов расчётов, полученных при анализе группы таблиц)
- Специфические запросы - запросы к серверу БД, написанные на языке запросов SQL
Для подготовки используем закладку Создание и выбираем способ создания запроса.
Запросы и фильтры
Запрос на выборку содержит условия отбора данных и возвращает выборку, соответствующую указанным условиям, без изменения возвращаемых данных. В Microsoft Access существует также понятие фильтра, который в свою очередь является набором условий, позволяющих отбирать подмножество записей или сортировать их. Сходство между запросами на выборку и фильтрами заключается в том, что и в тех и в других производится извлечение подмножества записей из базовой таблицы или запроса. Однако между ними существуют различия, которые нужно понимать, чтобы правильно сделать выбор, в каком случае использовать запрос, а в каком - фильтр.
Основные отличия запросов и фильтров заключаются в следующем.
- Фильтры не позволяют в одной строке отображать данные из нескольких таблиц, т. е. объединять таблицы.
- Фильтры не дают возможности указывать поля, которые должны отображаться в результирующем наборе записей, они всегда отображают все поля базовой таблицы.
- Фильтры не могут быть сохранены как отдельный объект в окне базы данных (они сохраняются только в виде запроса).
- Фильтры не позволяют вычислять суммы, средние значения, подсчитывать количество записей и находить другие итоговые значения.
Запросы могут использоваться только с закрытой таблицей или запросом. Фильтры обычно применяются при работе в режиме Формы или в режиме Таблицы для просмотра или изменения подмножества записей. Запрос можно использовать:
- для просмотра подмножества записей таблицы без предварительного открытия этой таблицы или формы;
- для того чтобы объединить в виде одной таблицы на экране данные из нескольких таблиц;
- для просмотра отдельных полей таблицы;
- для выполнения вычислений над значениями полей.
Работа с формами
Формы позволяют:
- Вводить данные в таблицы БД без непосредственного доступа к самим таблицам;
- Выводить результаты работы запросов в виде красиво оформленных форм.
Существует два вида формирования структуры форм:
- На основе таблицы;
- На основе запроса.
- Возможен и комбинированный (творческий) подход.
Работа с отчётами
Отчёты служат для форматированного вывода данных на печатающее устройство.
Здесь существуют средства ручного, автоматического и автоматизированного проектирования.
Структура готового отчёта отличается от структуры формы только увеличенным количеством разделов. Кроме разделов заголовка, примечания и данных, отчёт может содержать разделы верхнего и нижнего колонтитулов. Если отчёт занимает более одной страницы, эти разделы необходимы для печати служебной информации, например номеров страниц.
Мастер отчётов работает в шесть этапов.
- выбор таблицы или запросов, на которых отчёт базируется; выбор полей, отражаемых в отчёте;
- выбор полей группировки (уровней и интервалов группировки);
- выбор полей и методов сортировки;
- выбор структуры отчёта печатного макета (блочный, ступенчатый, выровненный по левому краю и т.п.)
- выбор стиля оформления (из предложенного списка);
- на последнем этапе выполняется сохранение отчёта под заданным именем.
Более подробно работу с СУБД Microsoft Access можно изучить по специальной литературе, а практические навыки приобрести, выполнив лабораторные работы по созданию баз данных.
Краткие итоги
Рассмотрены основные объекты базы данных Microsoft Access. Основными считаются таблицы, формы, запросы и отчеты. Таблицы предназначены для хранения и редактирования данных. Формы для ввода данных, отображения их на экране или управления работой приложения. Запрос позволяет пользователю получить нужные данные из одной или нескольких таблиц. Отчет предназначен для создания документа, который впоследствии может быть распечатан или включен в документ другого приложения.
В лекции рассмотрены основные этапы работы с этими объектами.
Вопросы для самопроверки
- Какие основные объекты базы данных Microsoft Access Вы знаете?
- Назначение объекта таблица в Microsoft Access.
- Назначение объекта запроса в Microsoft Access.
- Назначение объекта форма в Microsoft Access.
- Назначение объекта отчет в Microsoft Access.
- Способы создания таблиц, запросов, форм.
- Виды запросов к БД MS Access.
- Назначение отчетов.
- Виды отчетов в БД MS Access.