Базы данных

Представление связей в виде таблиц


Типы связей “многие ко многим” невозможно представить с помощью описанного в предыдущем сайтеметода. Внешний ключ, добавляемый к одной из связанных схем в таком случае, не может быть однозначным. Напротив, внешний ключ сущности будет иметь значение для каждой связанной сущности. Может существовать множество (много) связанных сущностей и соответственно будет множество значений внешнего ключа.

Связь “многие ко многим” следует представлять в виде отдельной реляционной схемы с атрибутами, являющимися ключами связанных типов сущностей. Например, тип связи IsChildOf  можно представить реляционной схемой с атрибутами child и parent. Значением каждого из этих атрибутов является номер полиса социального страхования (ssn) соответствующего лица. На 4.8 показаны определение схемы и образец таблицы для этого типа связи. В таблице приведены записи о четырех людях.

Определение схемы и образец таблицы для типа связи IsChildOf

Вполне допустимо, но вовсе необязательно, представлять типы связей “один к одному” и “один ко многим” в виде таблиц. По существу, использование этой структуры повышает тип связи до статуса сущности и, следовательно, может быть несовместимо с ER-моделью. Создание таблицы подходит в случае очень разреженных типов связей, но в остальных случаях предпочтительней использовать внешние ключи.

Комментарии закрыты