
- •Інструкція до практичної роботи №1 Побудова концептуальної моделі
- •1. Мета роботи
- •2. Короткі теоретичнi вiдомостi
- •1.1 Призначення сутнісної моделі.
- •1.2 Степінь точності сутнісної моделі
- •1.3 Елементи моделі.
- •1.4. Категоризація сутності
- •1.5. Побудова моделі
- •Контрольні запитання
- •4. Практичне завдання
- •6. Список літератури
1.4. Категоризація сутності
Сутність може бути розділена і представлена у вигляді двох або більше сутностей-категорій, кожна з яких має загальні атрибути і/або відносини, які визначаються одноразово на верхньому рівні і наслідуються на нижньому. Сутності-категорії можуть мати і свої власні атрибути і/або відносини, а також, у свою чергу, можуть бути декомпоновані своїми сутностями-категоріями на наступному рівні. Розщеплювана на категорії сутність отримала назву загальної сутності (зауважимо, що на проміжних рівнях декомпозиції одна і та ж сутність може бути як загальною сутністю, так і сутністю-категорією).
Для демонстрації декомпозиції сутностей на категорії використовуються діаграми категоризації. Така діаграма містить загальну сутність, дві і більше сутностей-категорій і спеціальний вузол-дискримінатор, який описує способи декомпозиції сутності (див. Рис. 5.4).
Рис. 2.9 Діаграма категоризації
Існує 4 можливі типи дискримінаторів (рис.2.9):
Повне і обов'язкове входження E/M (exclusive/mandatory) – сутність повинна бути однією і лише однією з випливаючих категорій. Для прикладу на рис. 5.4 це означає, що ВИКЛАДАЧЕМ є ФІЗИК, або ХІМІК, або МАТЕМАТИК.
Повне і необов'язкове входження E/O (exclusive/optional) - сутність може бути однією і лише однією з випливаючих категорій. Це означає, що ВИКЛАДАЧЕМ є ФІЗИК, або ХІМІК, або МАТЕМАТИК, або викладач якої-небудь іншої дисципліни (наприклад, ІСТОРИК).
Неповне і обов'язкове входження I/M (inclusive/mandatory) - сутність повинна бути принаймні однією з випливаючих категорій. Це передбачає у доповнення до 1) задавати наступну ситуацію: ВИКЛАДАЧЕМ є одночасно і ФІЗИК і ХІМІК.
Неповне і необов'язкове входження I/O (inclusive/optional) - сутність може бути принаймні однією з випливаючих категорій. У доповнення до 2) ВИКЛАДАЧЕМ є викладач якої-небудь іншої дисципліни (наприклад, ІСТОРИК).
Рис 2.10 Типи дискримінаторів.
1.5. Побудова моделі
Дуже важливою властивістю моделі "сутність-зв'язок є те, що вона може бути представлена у вигляді графічної схеми. Це значно полегшує аналіз предметної області. Існує декілька варіантів позначення елементів діаграми " сутність -зв'язок, кожний з яких має свої позитивні риси. Ми використовуватимемо певний гібрид нотацій Чена (позначення представлення, зв'язків і атрибутів) і Мартіна (позначення степенів і класу належності зв’язків).
У процесі побудови діаграми можна виділити декілька очевидних етапів:
Ідентифікація сутностей і зв'язків, які викликають інтерес.
Ідентифікація семантичної інформації у наборах зв'язків (наприклад, чи є деякий набір зв'язків відображенням 1:n).
Визначення класу належності зв'язків.
Визначення атрибутів і наборів їх значень (доменів).
Організація даних у вигляді відношень "сутність-зв'язок.
Як приклад розглянемо діаграму, яка відображає зв'язок даних для підсистеми обліку персоналу підприємства.
Перший етап є визначальним при побудові моделі, його початковою інформацією виступає вміст сховищ даних, який визначається його вхідними та вихідними потоками даних.
Виділяються сутності і зв'язки, які нас цікавлять:
Перш за все підприємство складається з відділів, у яких працюють співробітники. Оклад кожного співробітника залежить від посади яку той займає (інженер, провідний інженер, бухгалтер, прибиральник тощо). Далі припустимо, що на нашому підприємстві допускається суміщення посад, тобто кожний співробітник може мати більше ніж одну посаду (і працювати більше ніж в одному відділі), причому може займати неповну ставку. У той же час, одну і ту ж посаду можуть займати одночасно декілька співробітників. У результаті цих міркувань ми повинні ввести набори сутностей
ВІДДІЛ(НАЗВА_ВІДДІЛУ)
СПІВРОБІТНИК(ТАБЕЛЬНИЙ_НОМЕР, ІМ'Я)
ПОСАДА(ІМ’Я_ПОСАДИ, ОКЛАД)
і набір зв'язків ПРАЦЮЄ_В із атрибутом ставка між ними. Атрибут ставка може приймати значення з інтервалу ]0,1] (більше нуля, але менше або дорівнює одиниці), він визначає яку частину посадового окладу отримує даний співробітник.
Рис. 2.11 Етап побудови моделі предметної області
Як уже наголошувалося, кожний n-арний набір зв'язків можна замінити декількома бінарними наборами. Розглянемо переваги кожного з цих способів представлення зв'язків.
Тренарний зв'язок, показаний тут, безумовно несе повнішу інформацію про предметну область. Дійсно, вона однозначно відображає той факт, що оклад співробітника залежить від його посади, відділу, де він працює і ставки. Проте, у цьому випадку виникають деякі проблеми із визначенням степені зв'язку. Хоча, як було сказано, кожний працівник може займати декілька посад, а у штаті кожного відділу існують вакансії із різними посадами, проте клас належності сутності ПОСАДА на наведеному рисунку встановлений у (1,1). Це пояснюється тим, що ПОСАДА асоціюється фактично не з сутностями СПІВРОБІТНИК і ВІДДІЛ, а із зв'язком між ними. Цей факт позначається так, як це зображено на наступній діаграмі:
Рис. 2.12 Приклад графічної побудови абстрактної сутності
Тут сутності СПІВРОБІТНИК, ВІДДІЛ і зв'язок ПРАЦЮЄ_В агрегуються у деяку нову абстрактну сутність, яка асоціюється із сутністю ПОСАДА за допомогою зв'язку степені n:1.
Відобразимо асоціації співробітників, відділів і посад за допомогою бінарних зв'язків (Рис.2.13).
Рис. 2.13 Відображення асоціації співробітників, відділів і посад за допомогою бінарних зв'язків
У цому випадку для адекватного опису семантики предметної області необхідно ввести ще одне сутність ШТАТНА_ОДИНИЦЯ, яка фактично замінює собою зв'язок ПРАЦЮЄ_В в абстрактній сутності і тому має атрибут ставка.
Перехід від n-арного зв'язку через аггрегацию сутностей до набору бінарних зв'язків можна розглядати як послідовні етапи одного процесу, який приволить до однозначного породження реляційної моделі даних. При побудові діаграми "сутність-зв'язок" можна використовувати будь-який з цих трьох способів представлення даних.
Перерахуємо низку об'єктів, які описані вище і будуть корисними під час моделювання даних вибраного підприємства. Їм відповідають наступні сутності:
ЗАМОВНИК(ІМ’Я_ ЗАМОВНИКА,АДРЕСА)
КОНТРАКТ(НОМЕР,ТЕРМІН_ПОЧАТКУ, ТЕРМІН_ЗАВЕРШЕННЯ,СУМА)
РОБОЧА ГРУПА(ПРОЦЕНТ_ВИНАГОРОДИ)
Атрибут "процент_винагороди" відображає ту частку вартості контракту, яка призначена для оплати праці членів відповідної робочої групи. Зміст решти атрибутів зрозумілий без додаткових пояснень. Зв'язки між перерахованими сутностями також описані вище
Як правило, один із членів робочої групи є керівником по відношенню до інших співробітників, що входять до її складу. Для відображення цього факту необхідно ввести зв'язок "керує" із класои належності 1,1:0,n між сутностями СПІВРОБІТНИК і РОБОЧА_ГРУПА (співробітник може керувати у довільній кількості робочих груп, але кожна робоча група має одного і лише одного керівника).
Розглянемо уважніше інформаційний об'єкт "замовник". На практиці дуже часто виникає необхідність розрізняти національну приналежність юридичних осіб, із якими підприємство вступає у договірні відносини. Це пов’язано із тим, що для зарубіжних фірм необхідно зберігати, наприклад, інформацію про валюту, у якій здійснюються розрахунки, мову, на якій підписана угода тощо. У свою чергу, для українських компаній необхідно мати відомості про їхню форму власності (приватна або державна), оскільки від цього може залежати порядок оподаткування засобів, отриманих за виконання робіт за контрактом.
Таким чином, ми приходимо до висновку, що необхідно ввести ще дві множини, які не перетинаються, ЗАРУБІЖНЕ_ПІДПРИЄМСТВО(ВАЛЮТА, МОВА) і УКРАЇНСЬКЕ_ПІДПРИЄМСТВО(ФОРМА_ВЛАСНОСТІ), об'єднання яких складає повну сутність ЗАМОВНИК. Асоціацію між цими об'єктами називають відношенням наслідування або ієрархічним зв'язком, оскільки сутність ЗАРУБІЖНЕ_ПІДПРИЄМСТВО і УКРАЇНСЬКЕ_ПІДПРИЄМСТВО наслідують атрибути сутності ЗАМОВНИК(ІМ’Я_ ЗАМОВНИКА,АДРЕСА)
Для того, щоб визначити до якої підмножини відноситься конкретна сутність з набору ЗАМОВНИК (і, відповідно, який набір атрибутів вона має) необхідно ввести атрибут "національна приналежність", який називається дискримінантом. Цей тип зв'язку відображається на діаграмі наступним чином (Рис.2.14):
Рис. 2.14 Приклад графічної побудови дискримінанту
Узагальнюючи всі проведені вище міркування, отримуємо діаграму "сутність-зв'язок, яка показана на наступному рисунку (Рис.2.15).
Рис. 2.15 Результуюча діаграма предметної області