Діаграми сутність-зв'язок - студопедія
Діаграми сутність-зв'язок (ERD) призначені для розробки моделей даних і забезпечують стандартний спосіб визначення даних і відносин між ними.
За допомогою ERD здійснюється деталізація сховищ даних, а також документуються сутності системи і способи їх взаємодії, включаючи ідентифікацію об'єктів предметної області (сутностей), властивостей цих об'єктів (атрибутів) і їх зв'язків (відносин).
Сутність являє собою безліч екземплярів реальних або абстрактних об'єктів, що володіють загальними атрибутами або характеристиками. Будь-який об'єкт системи може бути представлений тільки однією сутністю, яка повинна бути унікальною ідентифікована. Ім'я сутності повинно бути іменником, що відображає назва типу або класу, а не конкретного екземпляра.
Ставлення в найзагальнішому вигляді є зв'язок між двома і більше сутностями. Ставлення має бути однозначно пойменовано. Для цього використовується граматичний оборот дієслова.
Як і для подання діаграм потоків даних, для запису діаграм сутність-зв'язок використовується кілька нотацій. Найбільш поширеними нотаціями ERD є нотація Чена (Chen) і нотація Баркера (Barker). Символи ERD в нотації Чена, відповідні сутностей і відносин, наведені на рис. 11.
Мал. 11. Символи ERD в нотації Чена: а - незалежна сутність;
б - залежна сутність; в - асоціативна сутність; г - необмежена відношення; д - обмежене відношення; е - істотно обмежене відношення
Незалежна сутність визначає незалежні дані, які завжди присутні в системі. При цьому її відносини з іншими сутностями можуть як існувати, так і не існувати.
Залежна сутність представляє дані, що залежать від інших сутностей в системі. Вона завжди повинна мати відносини з іншими сутностями системи.
Асоціативна сутність являє собою дані, які асоціюються з відносинами між двома або більше сутностями.
Необмежена (обов'язкове ставлення) являє собою відношення, що існує до тих пір, поки існують стосуються справи суті.
Обмежене (необов'язкове ставлення) являє собою умовне відношення між сутностями.
Істотно обмежене відношення використовується, коли відповідні сутності взаємозалежні в системі.
Для ідентифікації вимог, відповідно до яких сутності залучаються у відносини, використовуються зв'язку. Кожна зв'язок з'єднує сутність і ставлення і може бути спрямована тільки від ставлення до сутності. Значення зв'язку характеризує її тип і вибирається з безлічі: "0 або 1", "0 або більше", "1", "1 або більше", "діапазон p: q". Пара значень зв'язків, що належить одному і тому ж відношенню, визначить тип цього відношення.
Для більшості додатків досить використовувати такі типи відносин:
· Один до одного (використовується на верхніх рівнях ієрархії моделі даних, на нижніх зустрічається рідко);
· Один до багатьох (відносини такого типу є найбільш часто використовуваними);
· Багато до багатьох (використовується на ранніх етапах проектування з метою прояснення ситуації).
В подальшому кожна з відносин типу "багато до багатьох" має бути перетворено в комбінацію типів відносин "один до одного" або "один до багатьох" (можливо з введенням допоміжних асоціативних сутностей і з введенням нових відносин).
Кожна сутність володіє одним або декількома атрибутами, які однозначно ідентифікують кожен екземпляр сутності. При цьому будь-який атрибут може бути визначений як ключовий.
Деталізація сутностей виконується за допомогою діаграм атрибутів, які розкривають асоційовані з сутністю атрибути. Діаграма атрибутів складається з деталізіруемая суті, відповідних атрибутів та доменів.
Домен - це сукупність значень деякої інформаційної одиниці, а атрибут - унікальне ім'я, яке приписують домену значень деякої інформаційної одиниці. Іншими словами домен описує область значень атрибута.
На діаграмі атрибутів кожен атрибут представляється у вигляді зв'язку між сутністю і відповідним доменом, що є графічним представленням безлічі можливих значень атрибута. Для позначення домену на діаграмі застосовується прямокутник з округленими кутами. Все атрибутних зв'язку мають значення на своєму закінченні. Для ідентифікації ключового атрибута використовується підкреслення його імені.
Наведені вище засоби для опису ERD і діаграми атрибутів визначають модель в нотації Чена. Подальший розвиток цей підхід отримав в роботах Баркера, який запропонував оригінальну нотацію, яка дозволила на верхньому рівні інтегрувати усі запропоновані Ченом кошти опису моделей.
В нотації Баркера використовується тільки один тип діаграм - ERD. Сутність на ERD представляється прямокутником будь-якого розміру, що містить в собі ім'я сутності, список імен атрибутів і покажчиків ключових атрибутів (знак # перед ім'ям ключового атрибута).
Все зв'язку є бінарними і являють собою лінії з двома кінцями, що з'єднують суті, для яких повинно бути визначено ім'я, ступінь множинності і ступінь обов'язковості. Ступінь множинності визначає, один або багато об'єктів беруть участь в зв'язку. Ступінь обов'язковості визначає, чи обов'язкова або не обов'язкова дана зв'язок між сутностями. Для множинної зв'язку лінії приєднують до прямокутникам в трьох точках, а для одиночної зв'язку в одній точці. При обов'язкової зв'язку малюється безперервна лінія до середини зв'язку, при необов'язковою - пунктирна.
Розробка ERD включає такі основні етапи, як:
1) ідентифікація сутностей, їх атрибутів, а також первинних і альтернативних ключів;
2) ідентифікація відносин між сутностями і вказівка типів відносин;
3) дозвіл неспецифічних видів відносин (багато до багатьох).
Для кроку нормалізації існують концепції і методи, розроблені Коддом (Codd). Він встановив три типи нормалізованих схем, званих першої, другої і третьої нормальної формою.
Згідно Кодд будь-яка нормалізована схема (схема без повторюваних груп) автоматично знаходиться в першій нормальній формі (1НФ), незалежно від того, наскільки складний її ключ і який взаємозв'язок може існувати між її елементами. За визначенням схема знаходиться в другій нормальній формі (2НФ), якщо всі її ключові атрибути повністю залежать від ключа. Схема знаходиться в третій нормальній формі (3НФ), якщо вона знаходиться у 2НФ, і жодної неключових атрибут не залежить від іншого неключових атрибута. Порядок переведення ненормалізованих схеми в 3НФ наведено на рис. 12.
Мал. 12. Порядок приведення до 3НФ
Етап 2 служить для виявлення і визначення відносин між сутностями. а також для ідентифікації типів відносин. На цьому етапі допускаються неспецифічні відносини "багато до багатьох".
Визначення відносин включає виявлення зв'язків, для цього відношення має бути перевірено в обох напрямках наступним чином: вибирається примірник однієї з сутностей і визначається, скільки різних примірників другий сутності може бути з ним пов'язано.
Етап 3 призначений для дозволу відносин "багато до багатьох". Для цього кожне таке неспецифічне ставлення перетворюється в два специфічних з введенням нових, а саме, асоціативних сутностей.
Мал. 13. Дозвіл неспецифічного відносини
Неспецифічне ставлення на рис. 13 вказує, що студент може вивчати багато предметів, а предмет може вивчатися багатьма студентами. Однак ми не можемо визначити, який студент вивчає який предмет, поки не введемо для вирішення цього неспецифічного відносини асоціативну сутність вивчення предмета. В результаті кожен екземпляр введеної суті виявляється пов'язаним з одним студентом і з одним предметом.
Таким чином, асоціативні сутності за своєю природою є представниками пар реальних об'єктів і зазвичай з'являються на етапі 3.