Создание межтабличных связей
Целостность данных - это набор правил, гарантирующих, что Access будет работать только с непротиворечивыми данными и разрешёнными операциями.
Активизировать команду Сервис \ Схема данныхВ диалоговом окне Схема данных:
1. Щёлкнуть по кнопке Добавить таблицу.
2. В диалоговом окне из списков выбрать Таблицы, между которыми создаются связи. Закрыть окно Добавление таблицы. Искомые таблицы появятся в окне Схема данных..
3. Выделить в 1-й таблице ключевое поле и с помощью мыши перетащить его на одноименное поле 2-й таблицы.
При отпускании кнопки мыши откроется диалоговое окно Связи
4. Установить флаг Обеспечение целостности данных.
5. Щёлкнуть по кнопке Создать. Появится связь 1:1.
Предположим, что требуется установить связь между таблицами "Кафедра" и "Преподаватель" через поле ККАФ (код кафедры). В таблице "Кафедра" это поле является уникальным ключом, а в таблице "Преподаватель" — внешним ключом. Если схема данных создается заново, то при нажатии на кнопку "Схема данных" поверх окна схемы данных появится окно "Добавление таблицы". В этом окне следует выделить требуемые таблицы и нажать "Добавить".
В результате в окно схемы данных будут добавлены графические образы двух таблиц:
Необходимо перетащить мышью поле ККАФ таблица "Кафедра" на поле ККАФ таблицы "Преподаватель". В открывшемся окне "Изменение связей" следует установить флажок "Обеспечение целостности данных". В этом случае Access будет выдавать предупреждающие сообщения о неправильном вводе данных, если, например, в поле ККАФ подчиненной таблицы "Преподаватель" будет введено значение, отсутствующее в поле ККАФ базовой таблицы "Кафедра".
Обратите внимание, что Access автоматически определил тип связи как "один-ко-многим".
Можно также установить флажки "каскадное обновление связей" и "каскадное удаление связей". В этом случае Access автоматически скорректирует (удалит) записи в подчиненных таблицах, если будут изменены записи в базовой таблице.
После нажатия на кнопку "Создать", образы таблиц будут соединены связями как показано на рисунке. Ключевые в базовых таблицах выделяются жирным шрифтом.
Для установления связей по составному ключу необходимо в окне "Изменение связей" в полях "Таблица/Запрос" и "Связанная таблица/запрос" вручную выбрать из списков пары связываемых полей. На рисунке показан пример связи по составному ключу.
Если перетащить поле, не являющееся ключевым и не имеющее уникального индекса, на другое поле, которое также не является ключевым и не имеет уникального индекса, создается неопределенное отношение. В запросах, содержащих таблицы с неопределенным отношением, Microsoft Access по умолчанию отображает линию объединения между таблицами, но условия целостности данных при этом не накладываются и нет гарантии уникальности записей в любой из таблиц.
Образовавшиеся межтабличные данные отображаются в окне Схема данных в виде линий, соединяющие 2 поля разных таблиц. Одна из таблиц считается главной,а другая – связанной. Главная –это та таблица, которая участвует в связи своим ключевым полем.
Связь между таблицами позволяет:
· Исключить возможность удаления или изменения данных в ключевом поле главной таблицы, если с этим полем связаны поля других таблиц;
Установить флаг Обеспечение целостности данных.
· При удалении данных в ключевом поле главной таблицы автоматически удалить соответствующие данные в полях связанных таблиц.
Установить дополнительно флаги Каскадное обновление связанных полей и Каскадное удаление связанных записей.
Работа с запросами
Запрос – это отбор записей в разнообразных формах, в соответствии с выбранными условиями.
Запросы служат для извлечения данных из таблиц и предоставления их пользователю в удобном виде.
Виды запросов:
· На выборку;
· Запрос с параметром (критерий задаёт сам пользователь)
· Итоговые запросы (производят вычисления по заданному полю и выдают результат);
· Запросы на изменение (позволяют автоматизировать - заполнение полей таблиц);
· Перекрёстные запросы (позволяют создавать результирующие таблицы на основе результатов расчётов, полученных при анализе группы таблиц)
Специфические запросы – запросы к серверу БД, написанные на языке запросов SQL
Для подготовки используем закладку Создание и выбираем способ создания запроса.
Запросы и фильтры
Запрос на выборку содержит условия отбора данных и возвращает выборку, соответствующую указанным условиям, без изменения возвращаемых данных. В Microsoft Access существует также понятие фильтра, который в свою очередь является набором условий, позволяющих отбирать подмножество записей или сортировать их. Сходство между запросами на выборку и фильтрами заключается в том, что и в тех и в других производится извлечение подмножества записей из базовой таблицы или запроса. Однако между ними существуют различия, которые нужно понимать, чтобы правильно сделать выбор, в каком случае использовать запрос, а в каком — фильтр.
Основные отличия запросов и фильтров заключаются в следующем.
· Фильтры не позволяют в одной строке отображать данные из нескольких таблиц, т. е. объединять таблицы.
· Фильтры не дают возможности указывать поля, которые должны отображаться в результирующем наборе записей, они всегда отображают все поля базовой таблицы.
· Фильтры не могут быть сохранены как отдельный объект в окне базы данных (они сохраняются только в виде запроса).
· Фильтры не позволяют вычислять суммы, средние значения, подсчитывать количество записей и находить другие итоговые значения.
Запросы могут использоваться только с закрытой таблицей или запросом. Фильтры обычно применяются при работе в режиме Формы или в режиме Таблицы для просмотра или изменения подмножества записей. Запрос можно использовать:
· для просмотра подмножества записей таблицы без предварительного открытия этой таблицы или формы;
- для того чтобы объединить в виде одной таблицы на экране данные из нескольких таблиц;
- для просмотра отдельных полей таблицы;
· для выполнения вычислений над значениями полей.
Работа с формами
Формы позволяют:
· Вводить данные в таблицы БД без непосредственного доступа к самим таблицам;
· Выводить результаты работы запросов в виде красиво оформленных форм.
Существует два вида формирования структуры форм:
· На основе таблицы;
· На основе запроса.
· Возможен и комбинированный (творческий) подход.
Работа с отчётами
Отчёты служат для форматированного вывода данных на печатающее устройство.
Здесь существуют средства ручного, автоматического и автоматизированного проектирования.
Структура готового отчёта отличается от структуры формы только увеличенным количеством разделов. Кроме разделов заголовка, примечания и данных, отчёт может содержать разделы верхнего и нижнего колонтитулов. Если отчёт занимает более одной страницы, эти разделы необходимы для печати служебной информации, например номеров страниц.
Мастер отчётов работает в шесть этапов.
I. выбор таблицы или запросов, на которых отчёт базируется; выбор полей, отражаемых в отчёте;
II. выбор полей группировки (уровней и интервалов группировки);
III. выбор полей и методов сортировки;
IV. выбор структуры отчёта печатного макета (блочный, ступенчатый, выровненный по левому краю и т.п.)
V. выбор стиля оформления (из предложенного списка);
VI. на последнем этапе выполняется сохранение отчёта под заданным именем.
Более подробно работу с СУБД Microsoft Access можно изучить по специальной литературе, а практические навыки приобрести, выполнив лабораторные работы по созданию баз данных.
Лабораторные работы
Лабораторная работа 1.
Сортировка и обработка списков связанных данных в электронной таблице
Цель работы
Знакомство с методами обработки данных, организованных в списки, сортировкой, редактированием, просмотром, поиском и извлечением данных по различным критериям.
Подготовка к работе
По указанной литературе изучить приёмы работы со списками, сортировка списка по строкам, столбцам, обработка списка с помощью формы, изменение структуры таблицы.
Контрольные вопросы
1. Дать понятие списков связанных данных (ССД).
2. Дать понятие записи.
3. Дать понятия поля.
4. Добавление данных к существующему списку.
5. Сортировка списка по строкам.
6. Сортировка списка по столбцам.
7. Сортировка данных по заданному условию.
8. Обработка списков с помощью формы.