Лабораторная работа №4. 4 Установка связей между таблицами
4 Установка связей между таблицами
Устанавливая связи между таблицами, можно включать данные из нескольких таблиц в формы, запросы и отчеты. Обычно такие связи создаются с помощью так называемого внешнего ключа. Таблицу с ключом можно назвать родительской, а таблицу с внешним ключом — дочерней. Данные в поле внешнего ключа могут быть не уникальными, но каждое из них должно встречаться в первичном ключе родительской таблицы. Access это гарантирует, так как обеспечивает ссылочную целостность данных. Создайте новую таблицу, которую назовем Заказы.
4.1 Создание новой таблицы
1. В Главном меню панели быстрого доступа найти вкладку Создание. Нажать на кнопкуКонст-руктор таблиц.
2. Заполняем её, как показано на рисунке 25.
Рисунок 24
Имя поля | Тип данных |
КодЗаказа | Текстовый |
КодЗаказчика | Текстовый |
Название | Текстовый |
Место | Текстовый |
Выполнение | Логический |
Срок | Дата/время |
Оплата | Денежный |
Щёлкните на селекторе (маркер выделения) строки для поля КодЗаказа.
Чтобы сделать это поле ключевым, щелкните на кнопке Ключевое поле на Панели быстрого доступа.
3. Задайте полям следующие свойства, смотрите таблицу 1.
Рисунок 25
Таблица 1
Поле | Размер | Формат | Подпись | Обязательное |
КодЗаказа | Код заказа | Да | ||
КодЗаказчика | Код заказчика | Да | ||
Название | ||||
Место | ||||
Выполнение | Да/Нет | |||
Срок | Длинный формат даты | Да | ||
Оплата | Денежный |
4. Сохраните таблицу под именем Заказы и закройте окно.
4.2 Создание реляционных связей между таблицами
Теперь создадим реляционные связи между таблицами.
1. В Главном меню панели быстрого доступа найти вкладку Работа с базами данных. Щёлкните на кнопке Схема данных. На экране появится окно Схема данных и откроется окно диалога Добавление таблицы.
Рисунок 26
2. Из списка таблиц выберите таблицу Заказчики. Чтобы поместить ее в окно Схема данных, щелкните на кнопке Добавить.
3. Аналогичным способом добавьте таблицу Заказыи закройте окно Добавление таблицы.Окно Схема данных будет иметь вид, показанный на рисунке 26.
4. Щелкните на поле КодЗаказчикав списке полей таблицы Заказчикии перетащите его в список полей таблицы Заказы.
Рисунок 27
На экране появится окно диалога Изменение связей(рисунок 27).
5. Чтобы согласовать данные в полях обеих таблиц, установите флажок Обеспе-чение целостности данных. Обратите внимание, что в нижней части окна диалога установлен тип отношения один-ко-многим. Это означает, что каждой записи роди-тельской таблицы (Заказчики) может соответствовать несколько записей в дочерней таблице (Заказы).
Рисунок 29
6. Щелкните на кнопке Создатьдля создания связи. Access покажет на схеме отношения между таблицами. Значки 1 и °° означают отношение «один-ко-многим».
7. Закрыть схему данных.
Проведем небольшую проверку.
1. Откройте таблицу Заказы и введите данные в одну запись, как показано на рисунке 28. Для перехода между полями используйте клавишу Tab.
Код заказа | Код заказчика | Название | Место | Выполнение | Срок | Оплата |
Журнал | С.Петербург | 01.12.99 |
2. Обратите внимание, что мы пытаемся ввести несуществующий код заказчика. Access не позволит вам завершить ввод данных в запись, пока вы не введете верный код. Введите код 4578 и завершите ввод записи рисунок 29.
Рисунок 28
3. Закрыть таблицу Заказы, и со-хранить изменения (рисунок 29).
Рисунок 29
Access предоставляет более удобный способ работы со связанными таблицами.
1.Откройте таблицу Заказчики(рисунок 30).
Перед столбцом Код заказчика появился новый столбец.
Рисунок 30
Если щелкнуть на значке «плюс» в этом столбце, на экране появятся поля для ввода данных в связанную таблицу (Заказы), соответствующие записям для данного кода заказчика.
2. Введите следующие данные для заказов рисунок 31. Для установки флажка в поле Выполнение нажмите пробел при выделении рамки флажка. Для ввода даты достаточно вводить данные в виде 01,01,99. Access корректно преобразует их в длинный формат.
Рисунок 31
3. Закройте таблицу Заказчикии откройте таблицу Заказы. Обратите внимание, что все введенные в таблицу Заказчики записи появились в новой таблице.
Рисунок 32