Діаграма сутність-зв'язок
2.2. Діаграма "сутність-зв'язок".
Набір незалежних сутностей
Набір залежних сутностей
Атрибути з сутностями і сутності зі зв'язками з'єднуються прямими лініями. При цьому для вказівки кардинально зв'язків використовуються позначення, введені в попередньому параграфі.
В процесі побудови діаграми можна виділити кілька очевидних етапів:- Ідентифікація представляють інтерес сутностей і зв'язків.
- Ідентифікація семантичної інформації в наборах зв'язків (наприклад, чи є деякий набір зв'язків відображенням 1: n).
- Визначення кардинально зв'язків.
- Визначення атрибутів і наборів їх значень (доменів).
- Організація даних у вигляді відносин "сутність-зв'язок".
Виділимо цікавлять нас сутності і зв'язку:
- Перш за все Преприятие складається з відділів, в яких працюють співробітники. Оклад кожного співробітника залежить від займаної ним посади (інженер, провідний інженер, бухгалтер, прибиральник і т.д.). Далі припустимо, що на нашому підприємстві допускається сумісництво посад, тобто кожен співробітник може мати більш ніж одну посаду (і працювати більш ніж в одному відділі), причому може займати неповну ставку. У той же час, одну і ту ж посаду можуть займати одночасно кілька співробітників. В результаті цих міркувань ми повинні ввести набори сутностей
- ВІДДІЛ (ІМЯ_ОТДЕЛА),
- СПІВРОБІТНИК (ТАБЕЛЬНИЙ_НОМЕР, ІМ'Я),
- ПОСАДУ (ІМЯ_ДОЛЖНОСТІ, ОКЛАД),
Як вже зазначалося вище, кожен n -арної набір зв'язків можна замінити декількома бінарними наборами. Зараз як раз представляється нагода, щоб оцінити переваги кожного з цих способів подання зв'язків.
- Тренарная зв'язок, показана тут, безумовно несе повнішу інформацію про предметну область. Дійсно, вона однозначно відображає той факт, що оклад співробітника залежить від його посади, відділу, де він працює, і ставки. Однак, в цьому випадку виникають деякі проблеми з визначенням ступеня зв'язку. Хоча, як було сказано, кожен працівник може займати кілька посад, а в штаті кожного відділу існують вакансії з різними посадами, проте клас приналежності сутності ПОСАДУ на наведеному малюнку встановлений в (1,1). Це пояснюється тим, що ПОСАДУ асоціюється практично не з сутностями СПІВРОБІТНИК і ВІДДІЛ, а зі зв'язком між ними. Позначати цей факт пропонується так, як це показано на наступній діаграмі:
В цьому випадку для адекватного опису семантики предметної області необхідно ввести ще одну сутність ШТАТНАЯ_ЕДІНІЦА, яка фактично замінює собою зв'язок РАБОТАЕТ_В в абстрактної сутності і тому має атрибут ставка.
Узагальнюючи все проведені вище міркування, отримаємо диаграма "сутність-зв'язок", показану на слудющем малюнку.
На закінчення цього розділу Новомосковсктелю пропонується кілька питань для самостійного опрацювання:- Як зміниться діаграма "сутність - зв'язок" в тому випадку, якщо відсоток винагороди за всіма контрактами буде однаковий?
- Що зміниться в діаграмі, якщо буде заборонено сумісництво посад, тобто кожен співробітник матиме право займати тільки одну посаду зі ставкою 1?
- У першому випадку відпадає необхідність по суті РАБОЧАЯ_ГРУППА. Всі її зв'язку перейдуть до суті КОНТРАКТ.
- У другому випадку зв'язок "займає" не матиме атрибутів. При декомпозиції її на бінарні зв'язку отримаємо сутність ШТАТНАЯ_ЕДІНІЦА, також не має атрибутів.
Наступна глава: 2.3.Целостность даних