- •Базы данных
- •Лабораторная работа №1
- •Лабораторная работа №2
- •Цифра (от 0 до 9, ввод обязателен, символы плюс и минус не допускаются)
- •9 Цифра или пробел (ввод не обязателен, символы плюс и минус не допускаются)
- •Лабораторная работа №3
- •Лабораторная работа №4
- •Лабораторная работа №5
- •Лабораторная работа №6
Лабораторная работа №4
Установка связей между таблицами
Устанавливая связи между таблицами, вы можете включать данные из нескольких таблиц в формы, запросы и отчеты. Обычно такие связи создаются с помощью так называемого внешнего ключа. При этом ключевое поле одной таблицы соотносится с полем в другой таблице, которое называется внешним ключом. Таблицу с ключом можно назвать родительской (главной), а таблицу с внешним ключом — дочерней (подчиненной). Данные в поле внешнего ключа могут быть не уникальными, но каждое из них должно встречаться в первичном ключе родительской таблицы. Access это гарантирует, так как обеспечивает ссылочную целостность данных.
Чтобы познакомиться со ссылочной целостностью, давайте создадим новую таблицу, которую назовем Заказы.
Имя поля
Имя поля в каждой таблице должно быть уникальным и содержать не более 64 символов. Нельзя использовать точки, восклицательные знаки и прямые скобки.
1. Щелкните на кнопке Создать в окне базы данных. Выберите режим конструктора, чтобы подготовить структуру таблицы, как показано на верхнем рисунке.
2. Щелкните на селекторе (маркере выделения) строки для поля КодЗаказа. Чтобы сделать это поле ключевым, щелкните на кнопке Ключевое поле на панели инструментов Конструктор таблиц.
3. Задайте полям следующие свойства.
Поле |
Размер |
Формат |
Подпись Обязательное |
КодЗаказа КодЗаказчика |
5 4 |
00000 0000 |
Код заказа Да Код заказчика Да |
Название Место |
30 30 |
|
|
Выполнение Срок |
|
Да/Нет Длинный формат даты |
Да |
Оплата |
|
Денежный |
|
4. Сохраните таблицу под именем Заказы и закройте окно. Теперь создадим реляционные связи между таблицами.
1. Щелкните на кнопке Схема данных на панели инструментов . На экране появится окно Схема данных и откроется окно диалога Добавление таблицы.
2. Из списка таблиц выберите таблицу Заказчики. Чтобы поместить ее в окно Схема данных, щелкните на кнопке Добавить.
3. Аналогичным способом добавьте таблицу Заказы и закройте окно Добавление таблицы. Окно Схема данных будет иметь вид, показанный ниже.
4. Щелкните на поле КодЗаказчика в списке полей таблицы Заказчики и перетащите его в список полей таблицы Заказы. На экране появится окно диалога (см. нижний рисунок).
5. Чтобы согласовать данные в полях обеих таблиц, установите флажок Обеспечение целостности данных. Обратите внимание, что в нижней части окна диалога установлен тип отношения один-ко-многим. Это означает, что каждой записи родительской таблицы (Заказчики) может соответствовать несколько записей в дочерней таблице (Заказы).
6. Щелкните на кнопке Создать для создания связи. Access покажет на схеме отношения между таблицами. Значки 1 и °° означают отношение «один-ко-многим» (см. рисунок выше).
7. Закройте окно Схема данных. Щелкните на кнопке Да, чтобы сохранить внесенные изменения.
Проведем небольшую проверку.
1. Откройте таблицу Заказы и введите данные в одну запись. Для перехода между полями используйте клавишу Tab.
Код Код Название Место Выполнение Срок Оплата
заказа заказчика
12345 1234 Журнал С.Петербург 01.12.99 20000
2. Обратите внимание, что мы пытаемся ввести несуществующий код заказчика. Access не позволит вам завершить ввод данных в запись, пока вы не введете верный код. Введите код 4578 и завершите ввод записи.
3. Закройте таблицу Заказы.
Согласитесь, не очень удобно работать с двумя таблицами попеременно (в случае, если вы не помните всех кодов заказчиков). Access предоставляет более удобный способ работы со связанными таблицами.
1. Откройте таблицу Заказчики (см. рисунок выше). Перед столбцом Код заказчика появился новый столбец. Если щелкнуть на значке «плюс» в этом столбце, на экране появятся поля для ввода данных в связанную таблицу (Заказы), соответствующие записям для данного кода заказчика.
2. Введите следующие данные для заказов. Для установки флажка в поле Выполнение нажмите пробел при выделении рамки флажка. Для ввода даты достаточно вводить данные в виде 01,01,99: Access корректно преобразует их в длинный формат.
3. Закройте таблицу Заказчики и откройте таблицу Заказы. Обратите внимание, что все введенные в таблицу Заказчики записи появились в новой таблице.