Високорівнева концептуальна модель «Сутність – зв'язок» або ER-модель
Розділ 2. Основний розділ
Обгрунтування вибору засобів реалізації
Високорівнева концептуальна модель «Сутність – зв'язок» або ER-модель
Перш ніж розробити базу даних потрібно її спроектувати. Проектування бази даних здійснюється за допомогою моделі «Сутність- зв'язок».
Модель «Сутність-зв'язок» була запропонована в 1976 році Пітером Пін-Шен Ченом (англ. Peter Pin-shen Chen)– американським професором комп'ютерних наук в університеті штату Луїзіана. Фактично Чен не винайшов модель, він узяв ідеї з раніших робіт таких практиків, як А. Браун і інших. Проте Пітер Чен зробив більше, ніж хто б то не було до нього для формалізації і популяризації ER-моделі, а також для її впровадження в наукову літературу.
Модель «Сутність-зв'язок» (ER-модель) (англ. entity-relationship model (ERM) або англ. entity-relationship diagram (ERD)) — модель даних, що дозволяє описувати концептуальні схеми. Є графічною нотацією, заснованою на блоках і лініях, що сполучають їх, за допомогою яких можна описувати об'єкти і стосунки між ними який-небудь іншій моделі даних. У цьому сенсі ER-модель є мета-моделлю даних, тобто засобом опису моделей даних.
ER-модель зручна при проектуванні інформаційних систем, баз даних, архітектури комп'ютерних застосувань, і інших систем. З її допомогою можна виділити ключову сутність, присутню в моделі, і позначити стосунки, які можуть встановлюватися між цією сутнicтю.
ER-модель є однією з найпростіших візуальних моделей даних (графічних нотацій). Вона дозволяє позначити структуру у загальних рисах. Цей загальний опис структури називається ER-діаграмою або онтологією обраної наочної області (area of interest).
Головними поняттями моделі «Сутність - зв’язок» вважаються сутності, атрибути та зв’язки.
Для ER-моделі не існує единої стандартизованої системи позначень, тому характеристики ER-діаграм можуть дещо відрізнятися.
Під сутністю в ER-моделі розуміються об’єкт або явище, інформація про яких буде зберігатися в базі даних. При цьому розрязняють тип сутності та екземпляр сутності.
Під типом сутності розуміють набір однорідних об’єктів, який відображається як єдине ціле.
Під екземпляром сутності розуміється конкретний об’єкт.
На ER-діаграмі сутність зображується прямокутником, в якому вказане її ім’я.
Сутності мають властивості, які називаються атрибутами. Атрибути повинні дозволяти розрізняти екземпляри сутності. На ER-діаграмі атрибути зображуються овалами, в яких вказуються їх імена. Атрибути поєднуються з сутностями прямими лініями.
Атрибуты, які однозначно ідентифікують сутність, називаються ключовими атрибутами. Ключові атрибути на ER-діаграмі підкреслюються.
В деяких ситуаціях з декількох простих атрибутів може бути сформований складений.
За допомогою зв’язківна ER-діаграмі відображається взаємодія між сутностями. Зв’язок зображується ромбом, який поєднує сутності. Всередині ромбу вказується вид зв’язка. Кількість сутностей, які приймають участь в зв’язку, визначає її ступінь.
Для предметної області «Інформаційно-довідкова система для київського футбольного клубу «Динамо» була побудована модель «Сутність – зв'язок» (ER-модель), яка зображена на рис. 2.1:
Рис. 2.1 Модель «Сутність-зв’язок» для предметної області «Інформаційно-довідкова система для київського футбольного клубу «Динамо»
Створена модель складається з 4 сильних сутностей та двох слабких («Матчі» та «Отримані кубки»), тому що вони не можуть існувати без деяких сильних сутностей, а саме: сутність «Матчі» не може існувати без сутності «Клуби», тому що саме з цієї сутності вона бере інформацію про клуби, які здійснюють матчі між собою; сутність «Отримані кубки» є залежною від сутностей «Клуби» та «Кубки», тому що за атрибутами «Код клуба» та «Код кубка» вона пов’язується саме з цими сутностями.
До кожної з сутностей належить декілька атрибутів, які зберігають в собі унікальну інформацію і характеризують відповідну їм сутність. Наприклад, сутність «Футболісти» містить таку інформацію як: код футболіста – це унікальний ідентифікатор кожного футболіста; ПІБ футболістів, його зріст та вага, дата його народження, амплуа кожного футболіста (захисник, воротар, нападник); клуб, в якому грає кожен футболіст та громадянство до якого належить кожен із футболістів.
Сутності пов’язуються між собою зв’язками, наприклад сутність «Клуби» та сутність «Матчі» пов’язуються зв’язком «Зіграли», тобто клуби зіграли матчі.
На етапі переходу до реалізації даної ER-діаграмі у вигляді реальної інформаційної системи або програми, відбувається відображення ER-моделі в детальнішу модель даних реляційної бази даних, яка називається даталогічною моделлю даних по відношенню до вихідної ER-діаграмі.