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