Впровадження моделі ER
Пітер Чен розробив діаграму ER у 1976 році. Модель ER була створена, щоб забезпечити просту та зрозумілу модель для представлення структури та логіки баз даних. З тих пір він розвинувся в такі варіанти, як удосконалена ER-модель і модель зв’язку об’єктів
Реляційна модель сутностей — це модель для ідентифікації сутностей, які мають бути представлені в базі даних, і представлення того, як ці сутності пов’язані. Модель даних ER визначає корпоративну схему, яка графічно представляє загальну логічну структуру бази даних.
Діаграма зв’язків сутностей пояснює зв’язок між сутностями, присутніми в базі даних. Моделі ER використовуються для моделювання об’єктів реального світу, таких як людина, автомобіль або компанія, і зв’язку між цими об’єктами реального світу. Коротше кажучи, діаграма ER - це структурний формат бази даних.
Навіщо використовувати діаграми ER у СУБД?
- ER-діаграми використовуються для представлення E-R-моделі в базі даних, що дозволяє легко перетворювати їх у відносини (таблиці).
- ER-діаграми забезпечують реальне моделювання об’єктів, що робить їх дуже корисними.
- Діаграми ER не потребують технічних знань і апаратної підтримки.
- Ці діаграми дуже прості для розуміння і легко створити навіть для наївного користувача.
- Це стандартне рішення для логічної візуалізації даних.
Символи, що використовуються в моделі ER
Модель ER використовується для моделювання логічного вигляду системи з точки зору даних, яка складається з таких символів:
- Прямокутники: Прямокутники представляють сутності в моделі ER.
- Еліпси: Еліпси представляють атрибути в моделі ER.
- Діамант: Діаманти представляють відносини між сутностями.
- рядки: Лінії представляють атрибути сутностей і наборів сутностей з іншими типами зв’язків.
- Подвійний еліпс: Подвійні еліпси представляють Багатозначні атрибути .
- Подвійний прямокутник: Подвійний прямокутник представляє слабку сутність.
Символи, що використовуються на діаграмі ER
Компоненти діаграми ER
Модель ER складається з сутностей, атрибутів і зв’язків між сутностями в системі бази даних.
Компоненти діаграми ER
Сутність
Сутність може бути об’єктом із фізичним існуванням – конкретна особа, автомобіль, будинок чи працівник – або це може бути об’єкт із концептуальним існуванням – компанія, робота чи університетський курс.
Суб'єкти бувають двох типів
1.Матеріальна сутність – Яких можна торкнутися, наприклад автомобіля, людини тощо.
2. Нематеріальна сутність – Яких не можна торкатися, як повітря, банківського рахунку тощо.
Набір об'єктів: Entity — це об’єкт типу Entity, а набір усіх сутностей називається набором entity. Наприклад, E1 — це сутність із типом сутності Student, а набір усіх студентів називається набором сутностей. На діаграмі ER тип об’єкта представлено як:
Набір сутностей
Ми можемо представити набір сутностей на діаграмі ER, але не можемо представити сутність на діаграмі ER, оскільки сутність є рядком і стовпцем у відношенні, а діаграма ER є графічним представленням даних.
1. Сильна сутність
А Сильна сутність це тип сутності, який має ключовий атрибут. Сильна сутність не залежить від іншої сутності в схемі. Він має первинний ключ, який допомагає його унікально ідентифікувати, і він представлений прямокутником. Вони називаються сильними типами сутностей.
2. Слабка сутність
Тип сутності має ключовий атрибут, який унікально ідентифікує кожну сутність у наборі сутностей. Але існує певний тип сутності, для якого не можна визначити ключові атрибути. Такі називаються Слабкі типи сутностей .
Наприклад, Компанія може зберігати інформацію про утриманців (батьків, дітей, подружжя) Працівника. Але утриманці не можуть існувати без працівника. Отже, залежним буде a Слабкий тип сутності і Employee буде типом Identifying Entity для Dependent, що означає, що це так Сильний тип сутності .
Слабкий тип сутності представлений подвійним прямокутником. Участь слабких типів сутностей завжди повна. Зв’язок між слабким типом сутності та його ідентифікуючим сильним типом сутності називається ідентифікаційним зв’язком і позначається подвійним ромбом.
Сильна сутність і слабка сутність
Атрибути
Атрибути це властивості, які визначають тип сутності. Наприклад, Roll_No, Name, DOB, Age, Address і Mobile_No є атрибутами, які визначають тип сутності Student. На діаграмі ER атрибут представлено овалом.
Атрибут
1. Ключовий атрибут
Атрибут який унікально ідентифікує кожну сутність у наборі сутностей називається ключовим атрибутом. Наприклад, Roll_No буде унікальним для кожного студента. На діаграмі ER ключовий атрибут представлено овалом із підлеглими лініями.
Ключовий атрибут
2. Композитний атрибут
Атрибут складається з багатьох інших атрибутів називається складеним атрибутом. Наприклад, атрибут Address типу сутності студента складається з Street, City, State та Country. На діаграмі ER складений атрибут представлений овалом, що складається з овалів.
Композитний атрибут
3. Багатозначний атрибут
Атрибут, що складається з більш ніж одного значення для даної сутності. Наприклад, Номер_телефону (може бути більше одного для даного студента). На діаграмі ER багатозначний атрибут представлений подвійним овалом.
Багатозначний атрибут
4. Похідна ознака
Атрибут, який може бути отриманий з інших атрибутів типу сутності, називається похідним атрибутом. напр.; Вік (може бути похідним від DOB). На діаграмі ER похідний атрибут представлений пунктирним овалом.
Похідний атрибут
Повний тип сутності Student з його атрибутами можна представити як:
Сутність і атрибути
Тип зв’язку та набір зв’язків
Тип зв’язку представляє зв’язок між типами сутностей. Наприклад, «Зараховано» — це тип зв’язку, який існує між типом сутності «Студент» і «Курс». На діаграмі ER тип зв’язку представлено ромбом і лініями, що з’єднують сутності.
Набір сутності-зв’язку
Набір зв’язків одного типу називається набором зв’язків. Наступний набір зв’язків показує S1 як зареєстрований у C2, S2 як зареєстрований у C1 та S3 як зареєстрований у C3.
Набір відносин
Ступінь набору зв'язків
Кількість різних наборів сутностей, які беруть участь у наборі зв’язків, називається ступінь набору відносин.
1. Унарне відношення: Якщо у відношенні бере участь лише ОДИН набір сутностей, зв’язок називається унарним. Наприклад, одна людина одружена тільки з однією людиною.
Унарний зв'язок
2. Бінарне відношення: Якщо у зв’язку беруть участь ДВА набору об’єктів, зв’язок називається бінарним. Наприклад, студента зараховано на курс.
Бінарне відношення
3. Тернарний зв'язок: Якщо у відношенні бере участь n набір сутностей, зв’язок називається n-арним.
Кардинальність
Кількість разів, коли сутність набору сутностей бере участь у наборі зв’язків, називається потужність . Мощність може бути різних видів:
1. Один-на-один: Коли кожна сутність у кожному наборі сутностей може брати участь лише один раз у зв’язку, потужність є один до одного. Припустимо, що чоловік може одружитися з однією жінкою, а жінка може одружитися з одним чоловіком. Тож відносини будуть один на один.
загальна кількість таблиць, які можна використовувати в цьому, становить 2.
потужність один до одного
За допомогою наборів це можна представити як:
Встановити подання один-до-одного
2. Один до багатьох: Також у відображенні «один до багатьох», де кожна сутність може бути пов’язана з більш ніж однією сутністю, а загальна кількість таблиць, які можна використати, дорівнює 2. Припустімо, що одне відділення хірургії може вмістити багато лікарів. Отже, потужність буде від 1 до М. Це означає, що в одному відділенні багато лікарів.
загальна кількість таблиць, які можна використовувати, становить 3.
один до багатьох потужностей
Використовуючи набори, потужність один до багатьох можна представити як:
Встановити представлення один-до-багатьох
3. Багато до одного: Коли сутності в одному наборі сутностей можуть брати участь лише один раз у наборі зв’язків, а сутності в інших наборах сутностей можуть брати участь більше одного разу в наборі зв’язків, кількість елементів дорівнює багато до одного. Припустимо, що студент може прослухати лише один курс, але один курс може прослухати багато студентів. Таким чином, потужність буде від n до 1. Це означає, що для одного курсу може бути n студентів, але для одного студента буде лише один курс.
Загальна кількість таблиць, які можна використати, становить 3.
багато до однієї потужності
За допомогою наборів це можна представити як:
Набір подання багато-до-одного
У цьому випадку кожен студент вивчає лише 1 курс, але 1 курс прослухало багато студентів.
4. Багато-до-багатьох: Коли сутності в усіх наборах сутностей можуть брати участь більше одного разу у відношенні, кількість елементів є багато до багатьох. Припустимо, що студент може прослухати більше ніж один курс і один курс може прослухати багато студентів. Тож відносини будуть багато-багатьом.
загальна кількість таблиць, які можна використовувати в цьому, становить 3.
від багатьох до багатьох
За допомогою наборів це можна представити як:
Представлення множини «багато до багатьох».
У цьому прикладі студент S1 зарахований до C1 і C3, а курс C3 зарахований до S1, S3 і S4. Отже, це стосунки багато-до-багатьох.
Обмеження участі
Обмеження участі застосовується до сутності, яка бере участь у наборі зв’язків.
1. Загальна участь – Кожна сутність у наборі сутностей повинні брати участь у відносинах. Якщо кожен студент повинен записатися на курс, участь студентів буде загальною. Загальна участь показана подвійною лінією на діаграмі ER.
2. Часткова участь – Сутність у наборі сутностей може брати або НЕ брати участь у зв’язку. Якщо деякі курси не записані жодним із студентів, участь у курсі буде частковою.
На діаграмі зображено набір зв’язків «Зараховано» з набором сутностей студентів із повною участю та набором сутностей курсу з частковою участю.
Повна участь і часткова участь
Використовуючи Set, його можна представити як
Встановити представлення повної та часткової участі
Кожен студент у наборі Student Entity бере участь у зв’язку, але існує курс C4, який не бере участі у зв’язку.
Як намалювати діаграму ER?
- Найпершим кроком є ідентифікація всіх сутностей, розміщення їх у прямокутнику та відповідне позначення.
- Наступним кроком буде визначити зв’язок між ними та розмістити їх відповідним чином за допомогою діаманта та переконатися, що зв’язки не пов’язані один з одним.
- Правильно додайте атрибути до сутностей.
- Видаліть зайві сутності та зв’язки.
- Додайте належні кольори, щоб виділити дані в базі даних.