|
|||||||
Связи в реляционных базах данныхДата добавления: 2014-11-24 | Просмотров: 1678
В БД отношения могут быть связаны друг с другом. Например, в БД Факультет отношение Студенты (НомерЗачетнойКнижки, Фамилия, Имя, Отчество, КодГруппы) связано с отношением Группы (КодГруппы, Специальность, Курс). Значение поля КодГруппы в отношении Студенты допустимо только в том случае, если такое значение имеется в качестве значения первичного ключа отношения Группы. В этом случае поле КодГруппы в отношении Студенты является внешним ключом, ссылающимся на первичный ключ – КодГруппы отношения Группы (см. рис. 14).
Значение внешнего ключа является ссылкой к записи, содержащей соответствующее значение первичного ключа. Отношение, содержащее внешний ключ, называется ссылающимся (подчиненным), аотношение, содержащее объект ссылки (первичный ключ) – ссылочным (главным).
Внешние ключи реализуют следующие три типа связей между двумя отношениями. 1. Один-к-одному: каждой записи первого отношения соответствует не более одной записи второго отношения, а каждой записи второго отношения – не более одной записи первого отношения. Например – см. рис. 15. 2. Один-ко-многим: каждой записи ссылочного (главного) отношения соответствует ноль, одна или несколько записей ссылающегося (подчиненного) отношения, а каждой записи ссылающегося (подчиненного) отношения соответствует только одна запись ссылочного (главного) отношения. Пример – см. рис. 14. 3. Многие-ко-многим: каждой записи первого отношения соответствует ноль, одна или несколько записей второго отношения, и каждой записи второго отношения соответствует ноль, одна или несколько записей первого отношения. В реляционной модели данных такая связь напрямую не реализуется – она может быть смоделирована разбиением на две связи типа один-ко-многим: вводится дополнительное отношение, в качестве полей которого задаются первичные ключи связываемых отношений. Причем в этом дополнительном отношении первичный ключ будет составным, включающим оба первичных ключа. Пример – см. рис. 16.
|
При использовании материала ссылка на сайт Конспекта.Нет обязательна! (0.032 сек.) |