Типы связей. Тип отношения в создаваемой Microsoft Access связи зависит от способа определения связываемых полей.
Тип отношения в создаваемой Microsoft Access связи зависит от способа определения связываемых полей.
Отношение «один-ко-многим»
Отношение «один-ко-многим» является наиболее часто используемым типом связи между таблицами. В отношении «один-ко-многим» каждой записи в таблице A могут соответствовать несколько записей в таблице B, но запись в таблице B не может иметь более одной соответствующей ей записи в таблице A.
Отношение «один-к-одному»
При отношении «один-к-одному» запись в таблице A может иметь не более одной связанной записи в таблице B и наоборот. Отношения этого типа используются не очень часто, поскольку большая часть сведений, связанных таким образом, может быть помещена в одну таблицу. Отношение «один-к-одному» может использоваться для разделения очень широких таблиц, для отделения части таблицы по соображениям защиты, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице.
Отношение «многие-ко-многим»
При отношении «многие-ко-многим» одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B несколько записей в таблице A. Этот тип связи возможен только с помощью третьей (связующей) таблицы, первичный ключ которой состоит из двух полей, которые являются внешними ключами таблиц A и B. Отношение «многие-ко-многим» по сути дела представляет собой два отношения «один-ко-многим» с третьей таблицей.
Определение связей между таблицами
Связь между таблицами определяется путем добавления связываемых таблиц в окно «Схема данных» с последующим перетаскиванием ключевого поля из одной таблицы в другую. Рассмотрим пример связывания таблиц.
Предположим, что требуется установить связь между таблицами "Кафедра" и "Преподаватель" через поле ККАФ (код кафедры). В таблице "Кафедра" это поле является уникальным ключом, а в таблице "Преподаватель" — внешним ключом. Если схема данных создается заново, то при нажатии на кнопку "Схема данных" поверх окна схемы данных появится окно "Добавление таблицы". В этом окне следует выделить требуемые таблицы и нажать "Добавить".
В результате в окно схемы данных будут добавлены графические образы двух таблиц:
Необходимо перетащить мышью поле ККАФ таблица "Кафедра" на поле ККАФ таблицы "Преподаватель". В открывшемся окне "Изменение связей" следует установить флажок "Обеспечение целостности данных". В этом случае Access будет выдавать предупреждающие сообщения о неправильном вводе данных, если, например, в поле ККАФ подчиненной таблицы "Преподаватель" будет введено значение, отсутствующее в поле ККАФ базовой таблицы "Кафедра".
Обратите внимание, что Access автоматически определил тип связи как "один-ко-многим".
Можно также установить флажки "каскадное обновление связей" и "каскадное удаление связей". В этом случае Access автоматически скорректирует (удалит) записи в подчиненных таблицах, если будут изменены записи в базовой таблице.
После нажатия на кнопку "Создать", образы таблиц будут соединены связями как показано на рисунке. Ключевые в базовых таблицах выделяются жирным шрифтом.
Для установления связей по составному ключу необходимо в окне "Изменение связей" в полях "Таблица/Запрос" и "Связанная таблица/запрос" вручную выбрать из списков пары связываемых полей. На рисунке показан пример связи по составному ключу.
Если перетащить поле, не являющееся ключевым и не имеющее уникального индекса, на другое поле, которое также не является ключевым и не имеет уникального индекса, создается неопределенное отношение. В запросах, содержащих таблицы с неопределенным отношением, Microsoft Access по умолчанию отображает линию объединения между таблицами, но условия целостности данных при этом не накладываются и нет гарантии уникальности записей в любой из таблиц.
Контрольные вопросы
- Что представляет собой схема данных БД?
- Каково назначение схемы данных?
- Как открыть схему данных в Access?
- Как установить связь между таблицами?
- Между какими полями таблиц устанавливается связь?
- Каково обязательное условие при установлении связи?
- Перечислите типы связей между таблицами. Охарактеризуйте их.
- Как определить связи между таблицами?
- От чего зависит выбор отношения в создаваемой Microsoft Access связи?
- В каком случае создается отношение "один-ко-многим"? "Один-к-одному"? "Многие-ко-многим"?
- В каком случае создается неопределенное отношение?
- К каким последствиям приводит создание неопределенных отношений?
Дата добавления: 2015-04-19; просмотров: 5768;