Високорівнева концептуальна модель «Сутність – зв'язок» або ER-модель

Перш ніж створювати базу даних її треба спочатку спроектувати. Проектування здійснюється за допомогою моделі «Сутність - зв'язок».

Модель «Сутність-зв'язок» була запропонована в 1976 році Пітером Пін-Шен Ченом - американським професором комп'ютерних наук в університеті штату Луїзіана. Фактично Чен не винайшов модель, він узяв ідеї з ранішних робіт таких практиків, як А. Браун і інших. Проте Пітер Чен зробив більше, ніж хто б то не було до нього для формалізації і популяризації ER-моделі, а також для її впровадження в наукову літературу.

Модель «Сутність-зв'язок» (ER-модель) (англ. entity-relationship model (ERM) або англ. entity-relationship diagram (ERD)) - модель даних, що дозволяє описувати концептуальні схеми. Є графічною нотацією, заснованою на блоках і лініях, що сполучають їх, за допомогою яких можна описувати об'єкти і стосунки між ними якій-небудь іншій моделі даних. У цьому сенсі ER-модель є мета-моделлю даних, тобто засобом опису моделей даних.

ER - модель зручна при проектуванні інформаційних систем, баз даних, архітектури комп'ютерних застосувань і інших систем (далі, моделей). З її допомогою можна виділити ключову сутність, присутню в моделі, і позначити стосунки, які можуть встановлюватися між цією сутністю.

ER - модель є однією з найпростіших візуальних моделей даних (графічних нотацій). Вона дозволяє позначити структуру у загальних рисах. Цей загальний опис структури називається ER-діаграмою або онтологією обраної наочної області.

На етапі переходу до реалізації даної ER-діаграми у вигляді реальної інформаційної системи або програми, відбувається відображення ER-моделі в детальнішу модель даних реляційну (об'єктну, мережеву, логічну або ін.) базу даних, яка називається датологічною моделлю даних по відношенню до вихідної ER-діаграми.

Сутність - будь-який конкретний або абстрактний об'єкт у розглянутій предметній області.

Сутності - це базові типи інформації, які зберігаються в БД. До сутностей можуть належати: студенти, клієнти, підрозділи і т. д.

Екземпляр сутності і тип сутності - це різні поняття. Поняття тип сутності відноситься до набору однорідних особистостей, предметів або подій, які виступають як ціле (наприклад, студент, клієнт і т. д.).

Сутності можна класифікувати, як сильні та слабкі.

Сильна сутність - це сутність, яка не залежить від будь-якої іншої сутності, слабка сутність - це сутність, яка залежить від якої-небудь іншої сутності.

Атрибут - це властивість сутності в предметній області. Його найменування повинне бути унікальним для конкретного типу сутності.

Наприклад, для сутності «Студент» можуть бути використані наступні атрибути: прізвище, ім'я, по батькові студента, дата і місце його народження, паспортні дані і т. д.

Зв'язок - взаємозв'язок між сутностями в предметній області.

Зв'язки являють собою з'єднання між частинами БД.

Для предметної області «Розробити програмне забезпечення для автоматизації роботи оператора по роботі з клієнтами таксопарку» була побудована ER-діаграма, яка зображена на рисунку 2.1:

 

 

 


Рисунок 2.1 – ER-діаграма для предметної області «Таксопарк»

На цій ER-діаграмі зображені сутності «Водители», «Клиенты», «Машины», «Операторы» та «Поездки». Сутність «Поездки» є слабкою сутністю, тому що вона залежить від існування всіх інших сутностей, а саме: «Водители», «Клиенты», «Машины» та «Операторы».

До кожної з сутностей належить декілька атрибутів, які зберігають в собі унікальну інформацію і характеризують відповідну їм сутність. Наприклад, сутність «Водители» містить таку інформацію як: номер водія - це унікальний ідентифікатор кожного водія, який працює в таксопарку; ПІБ водія; серія та номер паспорту водія; стаж роботи водія; номер телефону, за яким можна з ним зв’язатися; адреса, за якою він мешкає; статус; кількість поїздок, яку здійснив водій за час роботи таксопарку.

Сутності пов’язані між собою зв’язками, наприклад, сутність «Водители» пов’язана з сутністю «Поездки» зв’язком «Выполняют»; сутність «Клиенты» пов’язана з сутністю «Поездки» зв’язком «Заказывают».