
- •Лекція 5. Модель “Сутність – зв’язок”
- •5.1. Концепції er-моделі
- •5.1.1. Типи сутностей Типи сутностей - об'єкт чи концепція, що характеризуються на даному підприємстві які мають незалежне існування.
- •Сутність - екземпляр типу сутності, що може бути ідентифікований унікальним образом.
- •Слабкий тип сутності - тип сутності, існування якого, залежить від якогось іншого типу сутності. Сильний тип сутності - тип сутності, існування якого не залежить від якогось іншого типу сутності.
- •Способи представлення сутностей на діаграмі
- •5.1.2. Атрибути Атрибут - властивість типу сутності чи типу зв'язку.
- •Домен атрибута - набір значень, що можуть бути привласнені атрибуту.
- •Простий атрибут - атрибут, що складається з одного компонента з незалежним існуванням.
- •Складений атрибут - атрибут, що складається з декількох компонентів, кожний з який характеризується незалежним існуванням.
- •Однозначний атрибут - атрибут, що містить одне значення для однієї сутності.
- •Багатозначний атрибут - атрибут, що містить кілька значень для однієї сутності.
- •Похідний атрибут - атрибут, що представляє значення, похідне від значення зв'язаного з ним атрибута чи деякої безлічі атрибутів, що належать якомусь (не обов'язково даному) типу сутності.
- •Потенційний ключ - атрибут чи набір атрибутів, що унікально ідентифікує окремі екземпляри типу сутності.
- •Первинний ключ - потенційний ключ, що обраний як первинний ключ.
- •Складений ключ – потенційний ключ, що складається з двох чи більше атрибутів.
- •Представлення атрибутів на діаграмах
- •5.1.3. Типи зв'язків Тип зв'язку - осмислена асоціація між сутностями різних типів.
- •Зв'язок - асоціація між сутностями, що включає по одній сутності з кожного типу, що бере участь у зв'язку сутності.
- •Представлення зв'язків на діаграмах
- •Ступінь зв'язку - кількість сутностей, що охоплені даним зв'язком.
- •Рекурсивний зв'язок - зв'язок, у якому ті самі сутності беруть участь кілька разів і в різних ролях.
- •5.1.4. Атрибути зв'язків
- •5.2. Структурні обмеження
- •5.2.1. Показник кардинальності Показник кардинальності описує кількість можливих зв'язків для кожної із сутностей учасниць.
- •Зв'язку „один до одного"
- •З в'язок „один до багатьох"
- •Зв'язку "багато до багатьох"
- •5.2.2. Ступінь участі Ступінь участі визначає, чи залежить існування деякої сутності від участі в зв'язку деякої іншої сутності.
- •5.3. Проблеми er-моделювання
- •5.3.1. Пастки розгалуження Пастка розгалуження має місце в тому випадку, коли модель відображає зв'язок між типами сутностей, але шлях між окремими сутностями цього типу визначений неоднозначно.
- •5.3.2. Пастки розриву Пастка розриву з'являється в тому випадку, коли в моделі передбачається наявність зв'язку між типами сутностей, але не існує шляху між окремими сутностями цих типів.
- •5.4.1. Суперкласи і підкласи типів сутностей
- •Суперклас - тип сутності, що включає різні підкласи, які необхідно представити в моделі даних. Підклас - тип сутності, що виконує окрему роль, а також є членом суперкласу.
- •5.4.2. Спадкування атрибутів
- •5.4.3. Спеціалізація Спеціалізація - процес збільшення розходжень між окремими членами типу сутності за рахунок виділення їхніх відмінних характеристик.
- •5.4.4. Генералізація Генералізація - процес зведення розходжень між сутностями до мінімуму шляхом виділення їхніх загальних характеристик.
- •5 .4.5. Обмеження, що накладаються на процедури спеціалізації і генералізації
- •5.4.6. Категоризація Категоризація - моделювання одного підкласу зі зв'язком, що охоплює кілька різних суперкласів.
- •5.5. Створення eer-моделі для представлення користувача Manager з навчального проекту DreamHome
- •5.5.1. Специфікації вимог для представлення користувача Manager
- •5.5.2. Створення eer-моделі
- •Визначення типів сутностей
- •Визначення типів зв'язків
- •Визначення показника кардинальності і ступеня участі сторін для типів зв'язків
- •Визначення атрибутів і зв'язування їх з типами сутностей і зв'язків
- •Визначення атрибутів, що є потенційними і первинними ключами
- •Чи спеціалізація генералізація типів сутностей
- •Категоризація типів сутностей
- •Створення розширеної діаграми „сутність-зв’язок"
- •Питання
- •Вправи Навчальний проект University Accommodation Office
Сутність - екземпляр типу сутності, що може бути ідентифікований унікальним образом.
Кожен унікально ідентифікований екземпляр типу сутності називається просто сутністю. Деякі інші автори воліють називати його екземпляром сутності (entity occurrence чи entity instance). У цій главі будуть використовуватися тільки терміни "сутність" і "тип сутності". Однак термін "сутність" буде використовуватися й у більш загальному змісті, там, де цей зміст очевидний. Кожен тип сутності ідентифікується ім'ям і списком властивостей. База даних звичайно містить багато різних типів сутностей. На мал. 5.1 показані приклади таких типів сутностей, як Staff, Branch і Next_of_Kin. Незважаючи на те, що тип сутності має унікальний набір атрибутів, кожна сутність має свої власні значення для кожного атрибута. Типи сутностей можна класифікувати як сильні і слабкі.
Слабкий тип сутності - тип сутності, існування якого, залежить від якогось іншого типу сутності. Сильний тип сутності - тип сутності, існування якого не залежить від якогось іншого типу сутності.
Слабкий тип сутності залежить від існування іншої сутності. На мал. 5.1 сутність Next_of_Kin є сутністю слабкого типу, що представляє зведення про родичів співробітника. Сутність Next_of_Kin не може існувати в даній моделі без присутності сутності Staff. Сутність називається сильної, якщо її існування не залежить від існування іншої сутності. Прикладами сильних сутностей (мал. 5.1) є сутності Staff і Branch. Слабкі сутності іноді називають дочірніми (child), залежними (dependent) чи підлеглими (subordinate), а сильні - батьківськими (parent), сутностями-власниками (owner) чи домінантними (dominant).
Способи представлення сутностей на діаграмі
К
ожен
сильний тип сутності зображується у
виді прямокутника з ім'ям сутності
усередині нього, а кожен слабкий тип
сутності — у виді прямокутника з
подвійним контуром. На мал. 5.2
показаний приклад представлення на
діаграмах сильних (Staff і Branch) і слабких
(Next of Kin) типів сутностей.
5.1.2. Атрибути Атрибут - властивість типу сутності чи типу зв'язку.
Окремі властивості сутностей називаються атрибутами. Наприклад, сутність Branch (Відділення компанії) може бути описана номером відділення (Branch No), адресою (Address), номером телефону (Tel_No) і номером факсу (Fax No). Атрибути сутності містять значення, що описують кожну сутність. Значення атрибутів представляють основну частину зведень, що зберігаються в базі даних.
Зв'язок, що з'єднує дві сутності, також може мати атрибути, аналогічні атрибутам типу сутності
Домен атрибута - набір значень, що можуть бути привласнені атрибуту.
Кожен атрибут зв'язаний з набором значень, що називається доменом. Домен визначає всі потенційні значення, що можуть бути привласнені атрибуту. Наприклад, кількість кімнат в об'єкті нерухомості може варіюватися від однієї до п'ятнадцяти для кожного екземпляра цієї сутності. Отже, набір припустимих значень для атрибута "кількість кімнат" (Rooms) сутності Ргорerty_for_Rent можна визначити як набір цілих чисел від 1 до 15.
Різні атрибути можуть спільно використовувати той самий домен. Наприклад, атрибути адреси (Address) співробітників компанії (сутність Staff) і власників об'єктів нерухомості (сутність Owner) можуть спільно використовувати той самий домен усіх можливих адрес. Домени також можуть являти собою комбінацію, що складається з декількох інших доменів. Наприклад, домен дати народження (DOB) сутності Staff складається з таких підлеглих доменів, як день, місяць і рік.
Домен атрибута імені FName визначити сутужніше, тому що він складається з безлічі всіх можливих імен. Очевидно, що це - текстовий рядок, але вона може складатися не тільки з букв, але також з дефісів чи інших спеціальних символів. Цілком розроблена модель даних включає домени кожного атрибута, що присутні у ER-моделі.
Атрибути поділяються на прості і складені, однозначні і багатозначні, а також похідні.