Пусть имеется n наборов объектов Е1, Е2, … , Еn.
Связью называется множество последовательностей объектов (еi1, еi2,…, еin), где еi1 I Е1, еi2 I Е2, …, еin I Еn.
С помощью связей наборы объектов объединяются в единую информационную структуру.
Между двумя наборами объектов (n=2) различают три типа связей:
1. один к одному ( 1:1 );
2. один ко многим ( 1:М );
3. много ко многим ( М:N ).
Связь между двумя наборами Е1 и Е2 относится к типу «один к одному», если для каждого объекта из первого набора можно указать 0 или 1 объект из второго набора и для каждого объекта из второго набора можно указать 0 или 1 объект из первого набора.
Примерами связей типа 1:1 служат связи между:
- студентами и зачетными книжками,
- между государствами и валютами,
- между офицерами и табельным оружием,
- между гражданами и заграничными паспортами. У каждого студента или нет зачетной книжки, или есть только одна.
Для каждой зачетки или студент не указан, или имеется только один.
Связь между двумя наборами Е1 и Е2 относится к типу «один ко многим», если для каждого объекта из первого набора можно указать 0 или более объектов из второго набора и для каждого объекта из второго набора можно указать 0 или 1 объект из первого набора.
Примерами связей 1:М служат связи между
- банками и вкладами,
- вкладами и взносами,
- между группами и студентами,
- между отделами и сотрудниками,
- между ведомостями и строками ведомостей,
- между клиентами и заявками.
В каждом банке или нет вкладов (банк еще не открылся) или может быть много вкладов. Для каждого вклада или банк не указан, или есть только один.
Связь между двумя наборами Е1 и Е2 относится к типу «многие ко многим», если для каждого объекта из первого набора можно указать 0 или более объектов из второго набора и для каждого объекта из второго набора можно указать 0 или более объектов из первого набора.
Примерами связей M:N служат связи между
- продуктами и странами,
- между студентами и дисциплинами,
- между сотрудниками и проектами,
- между заявками и товарами,
- между магазинами и покупателями.
Каждый продукт может поставляться из многих стран и не поставляться вовсе. Каждая страна может поставлять много продуктов и не поставлять никаких.
Графически связи изображаются стрелками (рис.4.5).
В реальных СУБД реализуется только один тип связи – один ко многим.
Связь 1:1 получается из связи 1:М путем ее ограничения.
Для реализации связи М:N вводится новый набор объектов и используются две связи 1:М.
Например, связь между странами и продуктами типа M:N получается с помощью набора данных «поставки» (рис.4.6).
M : N |
Страны Продукты
1 : М
1 : М
Поставки
Рис.4.6. Реализация связи M : N.
связь М:1 это связь 1:М.
Модель данных
Модель данных – это совокупность трех групп логических правил:
- описание структуры данных,
- правила целостности и непротиворечивости данных,
- операции манипулирования с данными.
Существует три вида моделей данных: иерархическая, сетевая, реляционная.