- •Тема 2. Концептуальне проектування бази даних на основі er-моделІ предметної області Застосування er-моделі для опису предметної області. Етапи життєвого циклу розробки бд
- •Модель «сутність-зв'язок»
- •Сутності
- •Атрибути
- •Зв’язки
- •Діаграма сутностей і зв’язків
- •Множинність сутностей
- •Атрибути зв’язків
- •Підкласи в er-моделі
- •Багатосторонні зв’язки
- •Зв’язки та ролі
- •Підкласи в об’єктно-орієнтованих системах
- •Приклад er-діаграми генеалогічної бд
- •Принципи проектування er-моделі
- •Моделювання обмежень у er- моделі Класифікація обмежень
- •Ключі в er-моделі
- •Обмеження унікальності
- •Обмеження посилальної цілісності
- •Слабкі множини сутностей
- •Сурогатний ключ
Діаграма сутностей і зв’язків
Діаграма сутностей і зв’язків (entity-relationship diagram), або ER-діаграма - це графічне представлення множин сутностей, їхніх атрибутів та зв’язків. Ці елементи є вершинами графу, і для вказання належності елемента до певного виду використовуються:
прямокутник – для множин сутностей,
овал – для атрибутів,
ромб – для зв’язків.
Ребра графа з’єднують множини сутностей з атрибутами і служать для представлення зв’язків між множинами сутностей.
Приклад 2.2. На рис.2.2 наведено ER-діаграму зі структурою простої БД, яка містить інформацію про кінофільми.
Таблиця 2.1. Сутності і атрибути БД фільмів
Назва сутності |
Призначення сутності |
Назва атрибуту |
Movies |
Кінофільми filmType – тип плівки, може бути color або blackAndWhite |
title year lenth filmType |
Stars |
Кінозірки |
name address |
Studios |
Студії, які випускають фільми |
name address |
Зв’язок Owns пов’язує фільм із кіностудією, яка випустила фільм і володіє правами на нього. Стрілка у сутності Studios свідчить про те, що кожний фільм має одну і лише одну студію-власника.
Рис.2.3. Діаграма сутностей і зв’язків для бази кінофільмів
БД, яка відповідає конкретній ER-діаграмі та містить конкретний набір даних, є екземпляром БД (database instance). Множині сутностей у ній відповідає конкретний набір сутностей, кожна сутність має атрибути з певними значеннями. Зв’язок можна описати таблицею, як-от:
Таблиця 2.1.Екземпляр зв’язку Stars-in для екземпляру бази кінофільмів
Множинність сутностей
Нехай R – зв’язок, що з’єднує множини сутностей E та F. Тоді можливе виконання одної з трьох умов:
Якщо кожний член множини E зв’язком R може бути з’єднаний не більш як з одним членом F, кажуть, що R є зв’язок типу „багато до одного” (many-one relationship), спрямований від E до F. У цьому разі кожна сутність F припускає з’єднання з багатьма членами E. Якщо ж навпаки, кожний член множини F зв’язком R може бути з’єднаний не більш як з одним членом E, кажуть, що R є зв’язок типу „один до багатьох” (one-many relationship), якщо читати від E до F. У ER-діаграмі стрілка ставиться на стороні „1”. Приклад: зв’язок Owns на малюнку 2.2.
Якщо зв’язок R в обох напрямках, від E до F та від F до E, належить до типу багато до одного, кажуть, що R є зв’язком „один до одного” (one-one relationship). У цьому разі кожний елемент одної множини сутностей припускає з’єднання не більше ніж з одним елементом іншої множини сутностей.
Якщо зв’язок R в жодному напрямку, від E до F та від F до E, не належить до типу багато до одного, кажуть, що R є зв’язком „багато до багатьох” (many - many relationship).
Приклад зв’язку багато до багатьох на малюнку 2.3: Stars-in .
Приклад зв’язку один до одного: нехай студію очолює президент.
Рис.2.4. Зв’язок типу один до одного.
Доречно уявити, що студію очолює лише один президент, і кожний президент очолює лише одну студію.
Такий зв’язок указує на не більш ніж один елемент кореспондуючої множини сутностей, проте наявність такого елемента не гарантована. Приклади:
У „президента” має бути студія, інакше який же він президент.
Проте студія тимчасово може обходитись без президента.
Рис.2.5. Співвідношення типів зв’язків
Зв’язки Один до одного є підмножиною зв’язків Багато до одного.
Зв’язки Багато до одного є підмножиною зв’язків Багато до багатьох.
