Для создания связи между таблицами, которые являются основополагающими для базы данных, используется окно «Схема данных».
Чтобы создать связь, нужно выбрать вкладку Работа с базами данных и нажать на кнопкуСхема данных(рис. 3.81)
Рис. 3.81 Схема данных
При обращении к этому пункту на экране отображается диалоговое окно «Добавление таблицы», из него выбираются таблицы или запросы, которые требуется включить в окно «Схема данных». Если диалоговое окно «Добавление таблицы» автоматически не отобразилось, необходимо открыть его с помощью кнопки , либо нажать на поле Схемы данных правой кнопки мыши, для отображения подменю, где выбрать пункт Добавить таблицу(рис. 3.82).
Рис. 3.82
После добавления нужных таблиц окно «Добавление таблицы» следует закрыть. Окно «Схема данных» при этом будет иметь вид, представленный на рис. 4.83. При этом связь может сформироваться автоматически (если в связанных таблицах имеются одинаковые столбцы). Выделенным является ключевое поле.
Рис. 3.83 Схема данных - добавление таблиц
Если необходимо изменить связь (кнопка Изменить связь) или она не сформировалась автоматически необходимо щелкнуть и перетащить поле из одной таблицы в поле другой (эти два поля, как правило, имеют одно и то же значение). Начинать перетаскивание надо с того поля, которое является первичным ключом таблицы без ключевого поля. Таблица, из которой начинается перетаскивание, в данной связи называется первичной таблицей. При перетаскивании поля на экране появляется окно (рис. 3.84), в котором нужно установить в состояние «Включено» пункт «Обеспечение целостности данных» и щелкнуть по кнопке «ОК».
Рис. 3.84 Изменение связей
После этого в окне «Схема данных» появляется связь между таблицами, которая показана на рис. 3.85.
Рис. 3.85 Изменение связей
Как мы видим из рисунка, около одной таблицы установилась цифра 1, которая говорит о том, что из данной таблицы берется одна запись. У второй таблицы установился знак ∞ (бесконечность), который указывает, что из этой таблицы берется несколько записей, одной записи из первой таблицы соответствует несколько записей из второй таблицы в соответствии с конкретными качественными характеристиками.
После этого можно работать с каждой из таблиц по отдельности, но при работе с таблицей «Список товаров» в поле «№ п/п» вводится число, которое не должно быть больше числа записей в таблице «Поставщики». Например, если попытаться в поле «№ п/п» таблицы «Список товаров» ввести цифру 5, то Access выдаст предупреждение, так как существует связь этой таблицы с таблицей «Поставщики» и мы должны указывать номера только тех фирм, которые имеются в таблице «Поставщики».
Для того, чтобыудалить связь, необходимо щелкнуть правой кнопкой мыши по самой связи и выбрать пункт удалить связь. Для изменения связи выбрать пунктизменить связь.
Для проверки наличия связи необходимо закрыть созданную схему данных перейти на вкладку «Работа с базами данных» и выбрать пиктограмму «Схема данных».
Задание3.31
1. Откройте таблицу «Список товаров», удалите из нее столбец «Поставщик».
2. Создайте связь типа «один-ко-многим» между таблицами «Поставщики» и «Список товаров». Для этого откройте Схему данных. Добавьте в схему данных таблицы «Поставщики» и «Список товаров». Если связь не создалась автоматически перетащите с помощью мыши строку № п/п из таблицы «Поставщики» в таблицу «Список товаров» строку №п/п. При этом в диалоговом окне Изменениесвязей поставьте флажки в пунктах «Обеспечение целостности данных», «Каскадное обновление связанных полей», «Каскадное удаление связанных полей». Нажмите кнопку Создать и сохраните полученный результат (рис. 3.85). Также такую процедуру можно проделать, если удалить созданную автоматически связь.
3. Закройте схему данных и проверьте наличие связи вновь открыв ее (вкладка «Работа с базами данных», пиктограмма «Схема данных»).