- •Лекция №8. Тема: «er-моделирование»
- •8.1. Определение сущностей и связей. Построение er-модели.
- •8.2. Слабая сущность.
- •8.3. Преобразование er-модели в реляционную базу данных
- •2. Для каждой слабой сущности создается отношение, состоящее из всех простых атрибутов этой сущности и дополнительных столбцов первичных ключей сущностей, от которых зависит ее существование.
- •3. Когда две сущности участвуют в связи один-ко-многим (1-м), отношение, представляющее сущность с кардинальностью м, должно иметь столбец внешнего ключа, представляющий эту связь.
- •4. Когда две сущности участвуют в связи один-к-одному (1-1), в отношение, представляющее одну из этих сущностей, необходимо включить столбец внешнего ключа.
- •5. Если две сущности участвуют в связи многие-ко-многим (м-м), необходимо создать отношение из внешних ключей двух отношений, представляющих сущности-участники.
- •7. Если в связи участвует более двух сущностей, необходимо создать отношение, состоящее из внешних ключей всех отношений, представляющих сущности-участники.
7. Если в связи участвует более двух сущностей, необходимо создать отношение, состоящее из внешних ключей всех отношений, представляющих сущности-участники.
Предположим, что в нашей базе данных имеется тернарная связь «поощряет» между сущностями Сотрудники, Менеджер и Счет. Эта связь отражает факт поощрения менеджером определенного работника, причем менеджер может поощрить любого сотрудника любого филиала независимо от того, управляет ли он тем филиалом, в котором работает указанный сотрудник. Эта связь имеет единственный атрибут Дата_поощрения (рис. 6).
Рис. 6. Тернарная связь М-М
Эта связь будет представлена в виде отношения Поощрения, состоящего из трех внешних ключей (Номер_сотрудника, указывающего сотрудника, Номер_сотрудника, указывающего менеджера, и Название_филиала, указывающее филиал), а также столбца, где указана дата поощрения. Если менеджер может поощрить конкретного сотрудника определенного филиала только один раз, то указанные три внешних ключа образуют составной первичный ключ. Если таких поощрений может быть несколько, то в первичный ключ должен войти также столбец Дата_поощрения. Если же этих поощрений может быть несколько в течение одного дня, то необходимо включить дополнительный столбец (например, порядковый номер поощрения).
Вопросы для самопроверки:
Дайте определение понятия сущности.
Дайте определение понятия атрибута.
Дайте определение понятия связи.
Расскажите о процессе построения ER-модели при проектировании БД.
Расскажите, как ER-модель трансформируется в базу данных.
Литература:
[1]
[3]
[5]