Урок 53
Тема: «Связывание данных».
Теоретическая часть.
Связывание таблиц базы данных
Установление связей в Access дает возможность автоматически соединять данные из разных таблиц, таким образом, обеспечивается целостность базы данных.
Процесс установки связей между таблицами называют построением схемы базы данных.
Для установления связей между двумя таблицами необходимо определить в каждой из них поля для этого связывания. Эти поля не обязательно могут иметь одинаковые имена, но должны содержать однотипные данные.
Пример. Рассмотрим связь между двумя таблицами «Покупатель» и «Заказы» в базе данных Trade.mdb. Структура каждой таблицы представлена на рис. 4.10.
Рис. 4.10
В таблице «Покупатель» ключевым полем является поле Код покупателя. Данное поле является счетчиком и содержит уникальные значения для каждой записи этой таблицы. Поле данной таблицы назовем первичным ключом.
Если каждый покупатель имеет право сделать только один заказ, то в таблице «Заказы» ключевым полем может являться аналогичное первой таблице поле-счетчик Код покупателя. В таблице «Заказы» ключевое поле Код покупателя будем называть внешним ключом.
В этом случае тип связи, установленной между первичным и внешним ключом, называют связью один к одному. Этот тип связи представлен на рисунке 4.11
Рис. 4.11
Если в таблице «Заказы» один покупатель имеет право сделать несколько заказов, то поле Код покупателя уже не будетуникальным, так как может повторяться многократно. В этом случае тип данных в этом поле может принимать числовые значения, а ключевым полем с уникальными значениями может быть определено поле Номер заказа. В этом случае тип связи, установленной между одноименными полями Код покупателя в обеих таблицах, называют связью один ко многим, как показано на рисунке 4.12.
|
Рис. 4.12
В реляционных базах данных между таблицами могут также создаваться связи типа многие ко многим.
Для создания Схемы данных в СУБД Access необходимо выполнить следующее:
1. Откройте многотабличную базу данных, для которой между таблицами устанавливаются связи, например базу данных trade.mdb.
2. Щелкните мышью по значку Схема данных или выполните цепочку команд Сервис®Схема данных на панели Стандартная.
3. Выделите первую таблицу, для которой устанавливается связь в окне Добавление таблицы. Для примера эта таблица - «Покупатель».
4. Щелкните мышью на кнопке Добавить. На экране будет отображена таблица, которую мы добавили, как показано на рисунке 4.13. Затем таким же образом требуется добавить в Схему данных остальные связываемые таблицы, например «Заказы» и щелкнуть мышью по кнопке Закрыть.
Рис. 4.13
5. В окне первой таблицы щелкните мышью на поле, которое будете использовать для установки связи, например Код покупателя и перетащите его на совпадающее поле второй таблицы.
6. В окне Изменение связей убедитесь, что связаны необходимые поля и установите флажок Обеспечение целостности данных, затем нажмите кнопку Создать (Рис. 4.14).
Рис. 4.14
В результате выполненных действий в окне Схема данных два связанных поля соединятся линией, как показано на рисунках 4.11 и 4.12.
В дальнейшем для сохранения созданных связей необходимо щелкнуть мышкой по кнопке Сохранить и закрыть окно Схема данных.
|
Созданные связи в дальнейшем можно удалить в окне Схема данных, щелкнув мышью по линии связи, чтобы выделить ее, а затем нажать клавишу Delete (Удалить). Двойной щелчок мышью по линии связи приведет к открытию окна Изменение связей, в котором связи могут быть отредактированы.
Практическая часть.
Упражнения
- На основании таблиц, структуры которых определялись на предыдущих уроках, создайте эти таблицы в Access и установите связи между ними.
а) база данных «Реклама» (файл advertisement.mdb) c таблицами «Рекламные агентства», «Заказы»;
б) база данных «Библиотека дисков» (файл Library.disk.mdb) c таблицами «Клиенты», «Выдача дисков», «Диски»;
в) база данных «Успеваемость» (файл advance.mdb) с таблицами «Учитель, «Ученик», «Дисциплина», «Экзамены».