Основні поняття ЕR-ДІАГРАМ

Лекція 10.

Контрольні питання і завдання

1. У чому суть діаграми потоків даних?

2. У яких випадках доцільно використовувати діаграми потоків даних?

3. Які основні нотації використовуються для побудови діаграми потоків даних?

4. Поясніть для чого потрібно дотримуватися правила балансування при деталізації контекстної діаграми.

5. Побудуйте діаграму потоків управляючих даних для системи обліку успішності студентів.

6. Яка інформація знаходиться в словнику даних?

7. Що описує БНФ-нотація?


Тема: ДІАГРАМИ «СУТНІСТЬ-ЗВ’ЯЗОК»

Діаграми "сутність-зв’язок" (ERD) призначені для розробки моделей даних і забезпечують стандартний спосіб визначення даних і відношень між ними [11]. Фактично за допомогою ERD здійснюється деталізація сховищ даних майбутньої системи, а також документуються сутності системи і способи їх взаємодії, включаючи ідентифікацію об’єктів, важливих для предметної області (сутностей), властивостей цих об’єктів (атрибутів) і їх відношень з іншими об’єктами (зв’язків).

Базовими поняттями ЕR-моделі даних (ER — Entity-Relationship) є сутність, атрибут і зв'язок [31].

Перший варіант моделі «сутність—зв’язок» був запропонований в 1976 р. Пітером Пін-Шен Ченом. Надалі багатьма авторами були розроблені свої варіанти подібних моделей (нотація Мартіна, нотація IDEF1X, нотація Баркера і ін.). Всі варіанти діаграм «сутність—зв’язок» виходять з однієї ідеї — рисунок завжди наочніше текстового опису. Вони використовують графічне зображення сутностей предметної області, їх властивостей (атрибутів) і взаємозв'язків між сутностями.

Оскільки нотація Баркера є найбільш розповсюдженою, надалі дотримуватимемося саме її.

Сутність— це клас однотипних об’єктів (людей, подій, станів, ідей, предметів і т.д.), інформація про які повинна бути врахована в моделі [31]. Сутність має ім’я, що виражене іменником в однині, і позначається у виглядіпрямокутника з назвою (рис. 10.1, а). Прикладами сутностей можуть бути такі класи об’єктів, як «Студент», «Співробітник», «Товар».

 

Співробітник   Співробітник   Співробітник
    Табельний номер Прізвище Ім'я По батькові Посада Зарплата   Табельний номер Прізвище Ім'я По батькові Посада Зарплата

а б в

 

Рисунок 10.1 – Позначення сутностей в нотації Баркера:

а – без атрибутів,

б – з атрибутами; в – з ключовим атрибутом

 

Екземпляр сутності— це конкретний представник даної сутності. Наприклад, конкретний представник сутності «Студент» — «Максимів». Причому сутність повинна мати деякі властивості, унікальні для кожного екземпляра цієї сутності, для того щоб розрізняти екземпляри.

Атрибут сутності— це іменована характеристика, яка являється деякою властивістю сутності. Ім’я атрибуту повинно бути виражене іменником в однині. Прикладами атрибутів сутності «Студент» можуть бути такі атрибути, як «Номер залікової книжки», «Прізвище», «Ім'я», «Рід», «Вік», «Середній бал» і тому подібне. Атрибути зображаються в прямокутнику, що позначає сутність (рис. 10.1, б).

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

Зв'язок — це відношення однієї сутності до іншої або до самої себе. Можливо по одній сутності знаходити інші, зв’язані з нею. Наприклад, зв'язки між сутностями можуть виражатися наступними фразами — «СПІВРОБІТНИК може матидекілька ДІТЕЙ», «СПІВРОБІТНИК зобов'язаний числитися точно в одному ВІДДІЛІ». Графічно зв'язок зображується лінією, яка з’єднує дві сутності (рис.10.2).

 

Співробітник 1,1 мати    
       
      0,N   Дитина
           
      належати    

Рисунок 10.2 – Приклад зв’язку між сутностями

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

Степінь зв’язку – це кількість сутностей, які приймають участь у зв’язку. Степінь зв’язку 2 називається бінарною, степінь N – N-арною. Зв’язок, в якому одна і та ж сама сутність приймає участь в різних ролях, називається рекурсивною або унарною. Зв'язок може мати один з наступних типів — рис. 10.3.

Зв'язок типу один-до-одного означає, що один екземпляр першої сутності пов'язаний точно з одним екземпляром другої сутності.

Такий зв'язок найчастіше свідчить про те, що ми неправильно розділили одну сутність на дві.

Зв'язок типу один-до-багатьох означає, що один екземпляр першої сутності пов'язаний з декількома екземплярами другої сутності. Це тип зв'язку найчастіше використовується.

Зв'язок типу багато-до-багатьох означає, що кожний екземпляр першої сутності може бути пов'язаний з декількома екземплярами другої сутності, і навпаки. Тип зв'язку багато-до-багатьох є тимчасовим типом зв'язку, який допустимий на ранніх етапах розробки моделі. Надалі такий зв'язок необхідно замінити двома зв'язками типу один-до-багатьох шляхом створення проміжної сутності.

Кожен зв'язок може мати один з двох модальних зв'язків (рис. 10.4).

Зв'язок може мати різну модальність з різних кінців, як на рис. 10.2. Кожен зв'язок може бути прочитаним як зліва направо, так і справа наліво. Зв'язок на рис. 10.2 читається так: зліва направо: «Співробітник може мати декілька дітей»; справа наліво: «Дитина повинна належати точно одному співробітникові».