При построении инфологических моделей предметной области используется понятие информационных связей между отдельными реквизитами. Существует четыре основных типа информацион- ных связей:
Рис. 9.1. Связь «один-к-одному» |
1) «один-к-одному». Такая связь означает, что каждому значению реквизита Л соответствует одно и только одно значение связанного с ним реквизита В, и наоборот. Например, каждому значению реквизита Номер паспортасоответствует единственное зна-1 чение реквизита ФИО гражданина страны, и наоборот. Такую связь обозначают 1:1, графически в инфологических моделях эта связь изображается одинарными стрелками (рис. 9.1).
Рис. 9.2. Связь «один-ко-многим»
2) «один-ко-многим». Эта связь означает, что каждому значению реквизита А соответствует ноль, одно или несколько значений связанного с ним реквизита В, а каждому значению реквизита В соответствует одно и только одно значение реквизита А. Например, для аэропорта, из которого осуществляется множество рейсов, характерна следующая связь между описывающими этот объект реквизитами: одному значению реквизита Название аэропорта вылета соответствует несколько значений реквизита Номер рейса, а каждому значению Номер рейса соответствует только одно Название аэропорта вылета. Такую связь обозначают 1: М, графически связь изображается одинарной стрелкой со стороны «один» и двойной — со стороны «много» (рис. 9.2).
3) «многие-к-одному». Эта связь интерпретируется как обратная к связи «один-ко многим».
4) «многие-ко-многим». Такая связь означает, что каждому значению реквизита А соответствует несколько значений связанного с ним реквизита В, и наоборот. Например, турагентство может работать с несколькими туроператорами, а туроператор обычно имеет разветвленную сеть турагентов. Такую связь обозначают М: М, а графически изображают двойными стрелками (рис. 9.3).
Аналогичные связи могут быть установлены в БД между реляционными таблицами и практически реализованы за счет наличия в них общих полей (реквизитов). Если общих полей в связываемых таблицах нет, то нужно сделать следующее:
если между реляционными таблицами существует связь 1:1 или 1: М, то следует скопировать поле, по которому устанавливается связь, из одной связываемой таблицы в другую;
Рис. 9.3. Связь «многие-ко-многим» |
если между реляционными таблицами существует связь М: М, то следует создать новую таблицу и включить в нее ключевые поля связываемых таблиц.