
- •Тема 2. Концептуальне проектування бази даних на основі er-моделІ предметної області Застосування er-моделі для опису предметної області. Етапи життєвого циклу розробки бд
- •Модель «сутність-зв'язок»
- •Сутності
- •Атрибути
- •Зв’язки
- •Діаграма сутностей і зв’язків
- •Множинність сутностей
- •Багатосторонні зв’язки
- •Зв’язки та ролі
- •Атрибути зв’язків
- •Підкласи в er-моделі
- •Підкласи в об’єктно-орієнтованих системах
- •Приклад er-діаграми генеалогічної бд
- •Принципи проектування er-моделі
- •Моделювання обмежень у er- моделі Класифікація обмежень
- •Ключі в er-моделі
- •Обмеження унікальності
- •Обмеження посилальної цілісності
- •Слабкі множини сутностей
- •Сурогатний ключ
Тема 2. Концептуальне проектування бази даних на основі er-моделІ предметної області Застосування er-моделі для опису предметної області. Етапи життєвого циклу розробки бд
Етапи життєвого циклу бази даних:
Проектування:
планування,
аналіз вимог,
концептуальне проектування,
логічне проектування,
фізичне проектування,
реалізація,
завантаження,
тестування,
експлуатація і супровід.
Проектування БД починається з аналізу того, яка інформація має бути в ній представлена та які взаємозв’язки між елементами цієї інформації. Структура або схема (schema) БД може бути виражена засобами різних мов або систем позначень. Після уточнень і узгоджень проект перетворюється у форму, яка може бути сприйнята СУБД, і база починає власне життя.
Зазвичай прийнято починати з вивчення понять і описів інформації, що підлягає моделюванню, а потім намагатися відображувати їх в рамках ER-моделі. Потім ER-проект перетвориться в реляційну схему, виражену засобами мови визначення даних для конкретної СУБД. В більшості випадків СУБД грунтуються на реляційній моделі. В цьому разі в ході прямолінійного процесу абстракція реалізується у конкретній реляційній схемі БД (relational database schema).
Рис.2.1. Процес моделювання і реалізації БД
Модель «сутність-зв'язок»
М
одель
«сутність-зв'язок» була запропонована
в 1976 році Пітером Пін-Шен Ченом (англ.
Peter Pin-Shan
Chen) [The
History of Conceptual Modeling (англ.). www.uni-klu.ac.at.]
– американським професором
комп'ютерних наук в університеті штату
Луїзіана.
В ER-моделі структура даних відображається графічно, у вигляді діаграми сутностей і зв’язків (entity-relationship diagram), що складається з елементів трьох основних типів:
a) множин сутностей;
b) атрибутів;
c) зв’язків.
Сутності
Сутність (entity) — це абстрактний об'єкт певного виду. Набір однорідних сутностей утворює множину сутностей (entity set).
ER-проектування |
ОО- проектування |
Сутність |
Об’єкт |
Множина сутностей |
Клас об’єктів |
Приклад 2.1 стосується бази даних про кінофільми, в яких беруть участь актори, студіях, що здійснили зйомку, і т.п. Кожен з фільмів є сутністю, а колекція всіх фільмів є множиною сутностей. Актори, що знімаються у фільмах, також є сутністю, але іншого виду, і їх множина — це множина сутностей. Кіностудія — це сутність ще одного виду, а перелік кіностудій формує третя множина сутностей.
Атрибути
Множині сутностей відповідає набір атрибутів (attributes), які є властивостями сутностей цієї множини. Наприклад, множині сутностей Movies (кінофільми) можуть відповідати атрибути title (назва) і lenth (тривалість фільму у хвилинах). Вважаємо, що атрибути мають атомарні значення (як-от рядки, цілі або дійсні числа і т.п.). В інших версіях ER-моделі атрибутами можуть бути:
структура (як у С),
кортеж, який містить фіксоване число атомарних компонентів,
або множина значень одного типу.
Зв’язки
З
в’язки
- це з’єднання між двома
або більше множинами сутностей. Якщо,
напр., Movies
(кінофільми) та Stars
(актори) – дві множини сутностей, то
можлива наявність зв’язку Stars-in
(„актори-учасники”, які знялись у
фільмі), який з’єднує множини сутностей
Movies і
Stars:
сутність m
множини сутностей Movies
з’єднана з сутністю s
множини сутностей Stars
зв’язком Stars-in,
якщо актор s
знявся в фільмі m.
Рис.2.2. Зв’язок між сутностями Актор та Фільм
Найбільш розповсюджені бінарні зв’язки (binary relationships) між двома сутностями, але ER-модель припускає існування зв’язків між довільною кількістю множин сутностей – множинні зв’язки.