- •Тема 2. Концептуальне проектування бази даних на основі er-моделІ предметної області Застосування er-моделі для опису предметної області. Етапи життєвого циклу розробки бд
- •Модель «сутність-зв'язок»
- •Сутності
- •Атрибути
- •Зв’язки
- •Діаграма сутностей і зв’язків
- •Множинність сутностей
- •Атрибути зв’язків
- •Підкласи в er-моделі
- •Багатосторонні зв’язки
- •Зв’язки та ролі
- •Підкласи в об’єктно-орієнтованих системах
- •Приклад er-діаграми генеалогічної бд
- •Принципи проектування er-моделі
- •Моделювання обмежень у er- моделі Класифікація обмежень
- •Ключі в er-моделі
- •Обмеження унікальності
- •Обмеження посилальної цілісності
- •Слабкі множини сутностей
- •Сурогатний ключ
Ключі в er-моделі
Мають місце такі вимоги до ключів:
Кожна множина сутностей повинна мати ключ.
Ключ може складатися з більш ніж одного атрибута (як-от для множини сутностей Залишки на складі).
Для множини сутностей припускається наявність кількох ключів (навіть у найпростішому прикладі - для множини сутностей Марки машин, де можливі ключі: Id, Код, можливо, також Назва. Одначе, доцільно обрати один ключ як первинний ключ (primary key) і надалі переважно працювати через нього.
Якщо певна множина сутностей залучена в ієрархію isa, коренева множина сутностей повинна мати всі атрибути, необхідні для формування ключа. Напр., Рис.2.16не задовольняє цій вимозі. Для її задоволення треба перемістити ідентифікаційні атрибути (ЄДРПОУ для контрагента та ідентифікаційний № для фізособи) з підкласів до базового класу.
Рис.2.16. Приклад діаграми базового класу Контрагент з атрибутом – первинним ключем.
Наступний приклад: визначимо ключ для множини сутностей кінофільми. Оскільки існують фільми з однаковими назвами (як-от King Kong, Три мушкетери), доцільно створити ключ на основі атрибутів title і year, ігноруючи імовірність виходу в одному році фільмів з однаковою назвою.
В реальних ситуаціях, що підлягають моделюванню, часто створюються спеціальні атрибути, єдиним призначенням яких є підтримка ключових ознак сутності у множині однорідних сутностей. Приклади:
Вже згадані ЄДРПОУ для юридичних осіб, ідентифікаційний № для фізичних осіб.
№ авіарейсу, № потяга.
Табельний № співробітника, № залікової книжки студента.
Поштовий код.
№ телефону.
У ER-діаграмі первинні ключі виділяються підкресленням, для інших ключів позначень нема.
Обмеження унікальності
Вимога про те, що певний атрибут не може мати невизначених значень типу NULL, у ER-моделі не має спеціальних засобів представлення. При необхідності можна додати до атрибута текстове пояснення.
Зв’язок типу багато до одного між множинами сутностей E та R, від E до R, також передбачає унікальність у множині R.
Обмеження посилальної цілісності
Якщо обмеження унікальності (single-value constraints) декларують існування не більш ніж одного значення, що виступає в певній ролі певного зв’язку, обмеження посилальної цілісності (referencial integrity constraints) передбачають наявність у точності одного такого значення.
Розглянемо зв’язок Owns („володіє”), що з’єднує сутності Movies і Studios на малюнку 2.17. Цей зв’язок типу багато до одного передбачає лише те, що жодний фільм не може належати кільком студіям одночасно.
Обмеження посилальної цілісності в контексті зв’язку Owns передбачає, що для кожної сутності Фільм у БД має бути сутність Студія, на яку посилається Фільм. Способи підтримки посилальної цілісності на прикладі даного зв’язку:
Якщо БД поповнюється новим фільмом, має існувати (або має бути додана) сутність Студія, на яку посилається Фільм. Якщо це посилання змінюється, нове посилання також має вказувати на сутність множини студій.
Сутність Студія не може бути видалена, поки існують сутності Фільм, які на неї посилаються.
Якщо сутність Студія підлягає примусовому видаленню, мають бути видалені також усі сутності Фільм, які на неї посилаються.
Рис. 2.17. ER-діаграма з обмеженнями посилальної цілісності
Напівкругла стрілка, що з’єднує зв’язок Owns з сутністю Studios, виражає обмеження посилальної цілісності.
Аналогічно інша напівкругла стрілка, що з’єднує зв’язок Owns з сутністю Studios, виражає наступне обмеження посилальної цілісності: кожний президент очолює одну студію і ця студія має існувати у множині Studios. В разі видалення студії з БД відповідна сутність з множини Presidents також має бути видалена. В той же час, зв’язок Runs з’єднується з множиною сутностей Presidents звичайною стрілкою, оскільки при видаленні президента студія не зникає, і у студії певний час може не бути президента.
Для обмежень інших типів ER-модель не забороняє писати текстові примітки.
Рис.2.18. Позначення обмеження на кількість сутностей-акторів, які відповідають кожному фільму.
Таким чином, звичайна стрілка рівноцінна обмеженню виду „<=1”, а напівкругла стрілка (рис.2.17) - виду „=1”.
