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


1.4.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Х. Считается, что всякая связь "многие-ко-многим" может быть заменена на одну или более связь "один-ко-многим". Хотя это так, по мнению автора, целесообразность применения такой связи должна рассматриваться прежде всего в контексте разрабатываемой базы данных и приложения для работы с ней, и там, где это удобно, такая связь должна реализовываться.




- Начало -  - Назад -  - Вперед -