Типы информационных связей в моделях данных

При построении инфологических моделей предметной области используется понятие информационных связей между отдельными реквизитами. Существует четыре основных типа информацион- ных связей:

 

Рис. 9.1. Связь «один-к-одному»

 

1) «один-к-одному». Такая связь означает, что каждому значению реквизита Л соответствует одно и только одно значение связанного с ним реквизита В, и наоборот. Например, каждому значению реквизита Номер паспортасоответствует единственное зна-1 чение реквизита ФИО гражданина страны, и наоборот. Такую связь обозначают 1:1, графически в инфологических моделях эта связь изображается одинарными стрелками (рис. 9.1).

Рис. 9.2. Связь «один-ко-многим»

2) «один-ко-многим». Эта связь означает, что каждому значению реквизита А соответствует ноль, одно или несколько значений связанного с ним реквизита В, а каждому значению реквизита В соответствует одно и только одно значение реквизита А. Например, для аэропорта, из которого осуществляется множество рейсов, характерна следующая связь между описывающими этот объект реквизитами: одному значению реквизита Название аэропорта вылета соответствует несколько значений реквизита Номер рейса, а каждому значению Номер рейса соответствует только одно Название аэропорта вылета. Такую связь обозначают 1: М, графически связь изображается одинарной стрелкой со стороны «один» и двойной — со стороны «много» (рис. 9.2).

3) «многие-к-одному». Эта связь интерпретируется как обратная к связи «один-ко многим».

4) «многие-ко-многим». Такая связь означает, что каждому значению реквизита А соответствует несколько значений связанного с ним реквизита В, и наоборот. Например, турагентство может работать с несколькими туроператорами, а туроператор обычно имеет разветвленную сеть турагентов. Такую связь обозначают М: М, а графически изображают двойными стрелками (рис. 9.3).

Аналогичные связи могут быть установлены в БД между реляционными таблицами и практически реализованы за счет наличия в них общих полей (реквизитов). Если общих полей в связываемых таблицах нет, то нужно сделать следующее:

если между реляционными таблицами существует связь 1:1 или 1: М, то следует скопировать поле, по которому устанавливается связь, из одной связываемой таблицы в другую;

 

Рис. 9.3. Связь «многие-ко-многим»

 

если между реляционными таблицами существует связь М: М, то следует создать новую таблицу и включить в нее ключевые поля связываемых таблиц.