![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
В некоторых ситуациях одних сущностей и связей может оказаться недостаточно для полноценного моделирования предметной области. Одна из таких ситуаций возникает тогда, когда экземпляры некоторой сущности должны играть разные роли в деятельности предприятия.
В качестве примера предположим, что для небольшого предприятия- поставщика автомобилей необходимо хранить информацию о производственном персонале. Различают две категории служащих: Мастеров и Сборщиков. Мастера получают фиксированный оклад, в то время как у сборщиков почасовая оплата.
Первый вариант ER-диаграммы:
![]() |
Правило 4 |
Рис. 7.54 |
Записываем отношение:
Мастер (Таб.ном.маст.,…)
Сборщик (Таб.ном.сборщ.,…,Таб.ном.маст.)
С этой моделью связана проблема, возникающая при добавлении ключевых атрибутов в предварительные отношения.
Дадим обозначения:
Слфам | - | фамилия служащего |
Ртел | - | рабочий телефон мастера |
Дтел | - | домашний телефон служащего |
Адр.сл. | - | адрес служащего |
Тставка | - | почасовая тарифная ставка сборщика |
Оклад | - | Месячный оклад мастера |
Код.сб. | - | Код сборщика |
Сф.ком | - | сфера компетенции мастера |
Легко распределить почти все атрибуты, кроме Слфам, Дтел и Адр.сл..
Распределим атрибуты:
Ртел | - | Мастер |
Тставка | - | Сборщик |
Оклад | - | Мастер |
Код.сб. | - | Сборщик |
Сф.ком | - | Мастер |
Остальные атрибуты можно распределить следующим образом: разбить общие атрибуты на этот же атрибут Мастер и Сборщик, т.е. Слфам служащего = Слфам. Мастера и Слфам сборщика.
![]() | ![]() | ![]() |
Рис. 7.55 |
Но количество увеличивается, следовательно, возникнет дублирование. Лучшим решением является следующее: все Мастера и Сборщики рассматриваются как служащие, а мастера и Сборщики это те роли, которые данный служащий может играть (некоторые служащие являются Мастерами, другие Сборщиками).
Графически это изображается следующим образом:
![]() |
Правило 4 |
Рис. 7.56 |
Служащий представляет собой сущность, ключом которой является табельный номер служащего (ТНС), а экземплярами данной сущности могут быть либо мастера, либо сборщики. Два ролевых набора Мастер и Сборщик соединяются связью “Руководит”. Стрелки идущие от сущности Служащий к сущностям Мастер и Сборщик, указывают на то, что сущность Служащий является исходной, а сущности Мастер и Сборщик только ролями.
Дата публикования: 2015-01-23; Прочитано: 230 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!