
- •Лекція 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
5.4.4. Генералізація Генералізація - процес зведення розходжень між сутностями до мінімуму шляхом виділення їхніх загальних характеристик.
Генералізація являє собою висхідний підхід, що дозволяє створити узагальнений суперклас на основі різних вихідних підкласів. Процес генералізації можна розглядати як протилежний процесу спеціалізації. Давайте, розглянемо модель, у якій Manager, Secretary і Sales_Personnel представлені як окремі типи сутностей. Застосування методу генералізації до цих сутностей полягає в пошуку будь-яких подібностей між ними, тобто виділенні їхніх загальних атрибутів і зв'язків. Як згадувалося вище, ці сутності спільно використовують атрибути, загальні для всіх співробітників компанії. Тому сутності Manager, Secretary і Sales Personnel можна розглядати як підкласи узагальненого суперкласу Staff, що і показано на мал. 5.28.
5 .4.5. Обмеження, що накладаються на процедури спеціалізації і генералізації
У цьому розділі ми розглянемо обмеження, що можуть бути накладені на процедури спеціалізації і генералізації. Тут ми обговоримо можливі обмеження тільки у відношенні спеціалізації, однак цього ж розуміння в однаковій мірі застосовні і до процедури генералізації.
Перше обмеження називається обмеженням не перетинання (disjoint constraint). Воно говорить, що якщо підкласи деякої спеціалізації не перетинаються, те кожна окрема сутність може бути членом тільки одного з підкласів даної спеціалізації. Для представлення непересічної (disjoint) спеціалізації використовується символ "d", що розташовується в центрі кружка, що з'єднує підкласи даного суперкласу. Наприклад, показані на мал. 5.29 підкласи видів прийнятих угод про наймання (Full Time Permanent і Part Time Temporary) є непересічними. Цей виходить, що співробітник може установити з компанією або угода про повну постійну зайнятість, або угода про часткову тимчасову зайнятість.
Якщо підкласи спеціалізації перетинаються, у такому випадку сутність може бути членом відразу декількох підкласів спеціалізації. Для представлення пересічної (no ndis joint) спеціалізації використовується символ "про", що розташовується в центрі кружка, що з'єднує підкласи даного суперкласу. Наприклад, показані на мал. 5.29 підкласи спеціалізації службових ролей (Manager, Secretary, Sales_Personnel) є пересічними. У даному прикладі це значить, що співробітник може бути одночасно і менеджером (тобто членом підкласу Manager), і торговим агентом (тобто членом підкласу Sales_Personnel).
Друге обмеження спеціалізації називається обмеженням участі (participation constraint), воно може бути повним чи частковим. Спеціалізація з повною участю означає, що кожна сутність суперкласу повинна бути членом підкласу цієї спеціалізації. Для позначення повної участі між суперкласом і кружком спеціалізації проводять подвійну лінію. Наприклад, на мал. 5.29 спеціалізація типів угод про наймання характеризується повною участю, при якому кожен співробітник компанії повинний установити з нею угоду про повну постійну чи часткову тимчасову зайнятість.
Спеціалізація з частковою участю означає, що сутність не обов'язково повинна бути членом будь-якого підкласу цієї спеціалізації. Для позначення часткової участі між суперкласом і кружком спеціалізації проводять одинарну лінію. Наприклад, на мал. 5.29 спеціалізація службових ролей характеризується частковою участю, при якому співробітник не обов'язково повинний виконувати одну з додаткових службових ролей - менеджера (тобто бути членом підкласу Manager), секретаря (тобто бути членом підкласу Secretary) чи торгового агента (тобто бути членом підкласу Sales_Personnel).
Обмеження перетинання й участі для спеціалізації і генералізації відрізняються. Їх прийнято поділяти на наступні чотири категорії: непересічні повні, непересічні часткові, пересічні повні і пересічні часткові. Коротке зведення позначень для представлення понять спеціалізації/генералізації на EER-діаграмах представлені на внутрішній стороні обкладинки цієї книги.
Якщо тепер повернутися до мал. 5.1, то стануть ясними і зрозумілими всі концепції, показані на цій EER-діаграмі. Якщо якісь деталі залишаються усе ще незрозумілими, то вам належить ще раз прочитати відповідні розділи даної глави. Крім того, концепції EER-моделювання стануть більш наочними, якщо ознайомитися з докладним описом всіх етапів створення EER-діаграми, представленої на мал. 5.1, яке можна знайти в розділі 5.5.