Delphi 3 и создание приложений баз данных

         

Отношение "многие-ко-многим"


Отношение "многие-ко-многим" имеет место, когда:

а) записи в родительской таблице может соответствовать больше одной записи в дочерней таблице;

б) записи в дочерней таблице может соответствовать больше одной записи в родительской таблице.

На рис. 1.9 показаны таблицы, состоящие в отношении "многие-к-одному". Каждой учебной группе соответствует несколько преподавателей. Каждый преподаватель может вести, во-первых, несколько разных предметов, и, во-вторых, преподавать в разных группах.

Таблица "Учебные группы и Таблица "Преподаватели" дисциплины"

Группа

Предмет

№ преподавателя

№ преподавателя

ФИО преподавателя

Кафедра

ПС-1

Программирование

10

->

10

Красноов Ю.Б.

ТИ-1

ТИ-1

Программирование

12

 

12

Володин В.Н.

ТИ-1

ПС-1

Теория систем

10 62 Булгаков В.М. РИО РТ-2 Философия 62 78 Гноенский Л.С. ТИ-1 ПС-1 Социология 62 85 Подушкин М.А. ЭИ-1 ... ... ... ... ... ...

Рис 1.9 Связь "многие-ко-многим"

Многие СУБД не поддерживают связи "многие-ко-многим" на уровне индексов и ссылочной целостности (см. следующий подраздел), хотя и позволяют реализовывать ее в таблицах неявным образом. Аналогично, мнногие CASE-средства (программы для разработки структуры базы данных в виде диаграмм и генерации на их основе физической базы данных) также нe позволяют определять эту связь между таблицами проектируемой базы даннь1Х. Считается, что всякая связь "многие-ко-многим" может быть заменена на одну или более связь "один-ко-многим". Хотя это так, по мнению автора, целесообразность применения такой связи должна рассматриваться прежде всего в контексте разрабатываемой базы данных и приложения для работы с ней, и там, где это удобно, такая связь должна реализовываться.



Содержание раздела