Отдельные таблицы, содержащие информацию по определенной теме, необходимо связать в единую структуру базы данных. Для связывания таблиц следует задать ключевые поля. Ключ состоит из одного или нескольких полей, значения которых однозначноопределяют каждую запись в таблице. Наиболее подходящим в качестве ключевого поля является «Счетчик», так как значения в данном поле являются уникальными (т. е. исключают повторы).
Нажмите правой кнопкой мыши на поле Код сотрудника и в появившемся контекстном меню выберите команду Ключевое поле. Если в таблице необходимо установить несколько ключевых полей, то выделить их можно, удерживая клавишу Ctrl.
Для таблицы Клиентыустановите ключевое поле Кодклиента, а для таблицы
Заказы–Кодзаказа.
Таблица Заказысодержит поля Кодсотрудникаи Кодклиента. При их заполнении могут возникнуть некоторые трудности, так как не всегда удается запомнить все предприятия, с которыми работает фирма, и всех сотрудников с номером кода. Для удобства можно создать раскрывающиеся списки с помощью Мастераподстановок.
Откройте таблицу Заказы в режиме Конструктора.
Для поля Кодсотрудникавыберите тип данных Мастерподстановок.
В появившемся окне выберите команду «Объект «столбецподстановки»будетиспользоватьзначенияизтаблицы илизапроса» и щелкните на кнопке Далее.
В списке таблиц выберите таблицу Сотрудники и щелкните на кнопке Далее.
В списке Доступныеполявыберите поле Кодсотрудникаи щелкните на кнопке со стрелкой, чтобы ввести поле в список Выбранные поля. Таким же образом добавьте поля Фамилияи Имяи щелкните на кнопке Далее.
Выберите порядок сортировки списка по полю Фамилия.
В следующем диалоговом окне задайте необходимую ширину столбцов раскрывающегося списка.
На последнем шаге Мастераподстановокзамените при необходимости надпись для поля подстановок и щелкните на кнопке Готово.
Аналогичным образом создайте раскрывающийся список для поля Кодклиента.
После создания ключевых полей можно приступить к созданию связей. Существует несколько типов отношений между таблицами:
при отношении «один-к-одному»каждой записи ключевого поля в первой таблице соответствует только одна запись в связанном поле другой таблицы, и наоборот. Отношения такого типа используются не очень часто. Иногда их можно использовать для разделения таблиц, содержащих много полей, для отделения части таблицы по соображениям безопасности;
при отношении «один-ко-многим»каждой записи в первой таблице соответствует несколько записей во второй, но запись во второй таблице не может иметь более одной связанной записи в первой таблице;
при отношении «многие-ко-многим»одной записи в первой таблице могут соответствовать несколько записей во второй таблице, а одной записи во второй таблице могут соответствовать несколько записей в первой.
Закройте все открытые таблицы, так как создавать или изменять связи между открытыми таблицами нельзя.
Если ранее никаких связей между таблицами базы не было, то при открытии окна Схемаданныходновременно открывается окно Добавлениетаблицы, в котором выберите таблицы Сотрудники,Клиентыи Заказы.
Если связи между таблицами уже были заданы, то для добавления в схему данных новой таблицы щелкните правой кнопкой мыши на схеме данных и в контекстном меню выберите пункт Добавить таблицу.
Установите связь между таблицами Сотрудники и Заказы, для этого выберите поле Код сотрудника в таблице Сотрудники и перенесите его на соответствующее поле в таблице Заказы.
После перетаскивания откроется диалоговое окно Изменениесвязей(рисунок 3), в котором включите флажок Обеспечение условия целостности. Это позволит предотвратить случаи удаления записей из одной таблицы, при которых связанные с ними данные других таблиц останутся без связи.
Рисунок 3 – Создание связи между таблицами
Флажки Каскадноеобновлениесвязанныхполейи Каскадноеудалениесвязанныхзаписейобеспечивают одновременное обновление или удаление данных во всех подчиненных таблицах при их изменении в главной таблице.
Параметры связи можно изменить, нажав на кнопку Объединение.
После установления всех необходимых параметров нажмите кнопку ОК.
Связь между таблицами Клиентыи Заказыустановите самостоятельно.
В результате должна получиться схема данных, представленная на рисунке 4.
Рисунок 4 – Схема данных
В приведенном примере используются связи «один-ко-многим». На схеме данных они отображаются в виде соединительных линий со специальными значками около таблиц. Связь
«один-ко-многим» помечается «1» вблизи главной таблицы (имеющей первичный ключ) и
«∞» вблизи подчиненной таблицы (имеющей внешний ключ). Связь «один-к-одному» помечается двумя «1» (оба поля таблиц имеют первичные ключи). Неопределенная связь не имеет никаких знаков. Если установлено объединение, то его направление отмечается стрелкой на конце соединительной линии (ни одно из объединенных полей не является ключевым и не имеет уникального индекса).
В таблицу Сотрудники внесите данные о семи работниках.
В таблицу Клиентывнесите данные о десяти предприятиях, с которыми работает данная фирма.
В таблице Заказы оформите несколько заявок, поступивших на фирму.