Діаграма сутність-зв'язок

2.2. Діаграма "сутність-зв'язок".

Набір незалежних сутностей

Набір залежних сутностей

Атрибути з сутностями і сутності зі зв'язками з'єднуються прямими лініями. При цьому для вказівки кардинально зв'язків використовуються позначення, введені в попередньому параграфі.

В процесі побудови діаграми можна виділити кілька очевидних етапів:
  1. Ідентифікація представляють інтерес сутностей і зв'язків.
  2. Ідентифікація семантичної інформації в наборах зв'язків (наприклад, чи є деякий набір зв'язків відображенням 1: n).
  3. Визначення кардинально зв'язків.
  4. Визначення атрибутів і наборів їх значень (доменів).
  5. Організація даних у вигляді відносин "сутність-зв'язок".
Як приклад побудуємо діаграму, що відображає зв'язок даних для підсистеми обліку персоналу підприємства.

Виділимо цікавлять нас сутності і зв'язку:

  1. Перш за все Преприятие складається з відділів, в яких працюють співробітники. Оклад кожного співробітника залежить від займаної ним посади (інженер, провідний інженер, бухгалтер, прибиральник і т.д.). Далі припустимо, що на нашому підприємстві допускається сумісництво посад, тобто кожен співробітник може мати більш ніж одну посаду (і працювати більш ніж в одному відділі), причому може займати неповну ставку. У той же час, одну і ту ж посаду можуть займати одночасно кілька співробітників. В результаті цих міркувань ми повинні ввести набори сутностей
    • ВІДДІЛ (ІМЯ_ОТДЕЛА),
    • СПІВРОБІТНИК (ТАБЕЛЬНИЙ_НОМЕР, ІМ'Я),
    • ПОСАДУ (ІМЯ_ДОЛЖНОСТІ, ОКЛАД),
    і і набір зв'язків РАБОТАЕТ_В з атрибутом ставка між ними. Атрибут ставка може приймати значення з інтервалу] 0,1] (більше нуля, але менше або дорівнює одиниці), він визначає яку частину посадового окладу отримує даний співробітник.

Як вже зазначалося вище, кожен n -арної набір зв'язків можна замінити декількома бінарними наборами. Зараз як раз представляється нагода, щоб оцінити переваги кожного з цих способів подання зв'язків.

  • Тренарная зв'язок, показана тут, безумовно несе повнішу інформацію про предметну область. Дійсно, вона однозначно відображає той факт, що оклад співробітника залежить від його посади, відділу, де він працює, і ставки. Однак, в цьому випадку виникають деякі проблеми з визначенням ступеня зв'язку. Хоча, як було сказано, кожен працівник може займати кілька посад, а в штаті кожного відділу існують вакансії з різними посадами, проте клас приналежності сутності ПОСАДУ на наведеному малюнку встановлений в (1,1). Це пояснюється тим, що ПОСАДУ асоціюється практично не з сутностями СПІВРОБІТНИК і ВІДДІЛ, а зі зв'язком між ними. Позначати цей факт пропонується так, як це показано на наступній діаграмі:
  • Попитаемя відобразити асоціації співробітників, відділів і посад за допомогою бінарних зв'язків.

    В цьому випадку для адекватного опису семантики предметної області необхідно ввести ще одну сутність ШТАТНАЯ_ЕДІНІЦА, яка фактично замінює собою зв'язок РАБОТАЕТ_В в абстрактної сутності і тому має атрибут ставка.

  • Перехід від n -арної зв'язку через аггрегацію сутностей до набору бінарних зв'язків можна розглядати як послідовні етапи одного процесу, який призводить до однозначного породження реляційної моделі даних. При побудові діаграми "сущность- зв'язок" можна використовувати будь-який з цих трьох способів подання даних.

    Узагальнюючи все проведені вище міркування, отримаємо диаграма "сутність-зв'язок", показану на слудющем малюнку.

    На закінчення цього розділу Новомосковсктелю пропонується кілька питань для самостійного опрацювання:
    1. Як зміниться діаграма "сутність - зв'язок" в тому випадку, якщо відсоток винагороди за всіма контрактами буде однаковий?
    2. Що зміниться в діаграмі, якщо буде заборонено сумісництво посад, тобто кожен співробітник матиме право займати тільки одну посаду зі ставкою 1?
    відповіді:
    1. У першому випадку відпадає необхідність по суті РАБОЧАЯ_ГРУППА. Всі її зв'язку перейдуть до суті КОНТРАКТ.
    2. У другому випадку зв'язок "займає" не матиме атрибутів. При декомпозиції її на бінарні зв'язку отримаємо сутність ШТАТНАЯ_ЕДІНІЦА, також не має атрибутів.

    Наступна глава: 2.3.Целостность даних

    Схожі статті