Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Створення логічної схеми інформаційної системи на рівні атрибутів.





Нагадаємо, що атрибут відображує визначену якість об’єкта. В реляційній базі даних атрибуту відповідає колонка таблиці.

Атрибут характеризується своїм іменем, типом та областю визначення. Атрибут може бути ключовим і не ключовим, може приймати значення NULL чи ні. Ключем (ключовим атрибутом) називають атрибут, який є унікальним ідентифікатором запису. Ключів може бути декілька. Тоді розрізняють первинний ключ та інші.

Список атрибутів можна сформувати для конкретного об’єкту, якщо клацнути правою клавішею миші, коли її курсор знаходиться на зображенні об’єкту. З’являється діалогове вікно Attribute Editor, в якому задаються назви та ознаки атрибутів. Для визначення атрибутів користуються закладкою Definition. Первинний ключ задається в закладці General, встановленням відповідного прапорця .

Область визначення атрибута називається доменом. Або, інакше, домен - це сукупність значень з яких вибирається значення атрибуту. Кожен атрибут може визначатися лише на одному домені, але на одному домені може бути визначена множина атрибутів. До поняття домен входить не тільки тип даних, але і область існування даних. Домен може бути заданий тільки один раз і використовуватись, як у логічній, так і у фізичній моделі.

Домени дозволяють полегшити роботу з даними, як розробникам на етапі проектування, так і адміністраторам БД на етапі експлуатації системи. На логічному рівні домени можна описати без конкретних фізичних якостей. На фізичному рівні вони автоматично отримують специфічні якості притаманні вибраній СКБД, які можна змінити вручну.

Для створення домену в логічній моделі служить Domain Dictionary Editor. Його можна викликати з меню Edit/ Domain Dictionary при натискуванні на кнопку, яка розташована у верхній лівій частині закладки General вікна Attribute Editor.



ERWin має спеціальний інструмент, який значно полегшує створення нових атрибутів в моделі за рахунок використання доменів. Це вікно викликається, а також закривається гарячою клавішею CTRL+B.

Атрибут чи група атрибутів, які ідентифікують сутність називаються первинним ключем. Атрибути первинного ключа знаходяться на діаграмі в списку атрибутів вище горизонтальної лінії. На діаграмі об'єкт-зв’язок вони відсутні і з’являються вперше на діаграмі (Key Based model (КВ).

Вибір первинного ключа не просте діло. Якість вирішення цієї задачі може вплинути на ефективність всієї системи в цілому. Часто декілька атрибутів претендують на роль первинного ключа. Їх називають потенційними ключами (Candidate key).

Ключі можуть бути складними, тобто складатися з декількох атрибутів, які на діаграмі вміщують вище горизонтальної лінії. Для того, щоб стати первинним потенційний ключ повинен задовольняти наступним вимогам:

· Бути унікальним – два записи не повинні мати однакових значень первинного ключа;

· Бути компактним – складний ключ не повинен вміщувати жодного атрибута, вилучення якого не впливає на унікальність;

· Первинний ключ не може мати нульового значення ;

· Значення атрибутів первинного ключа не змінюється впродовж всього часу існування системи (або суттєвості).

Потенційні ключі, що не стали первинними, можуть бути задані в якості альтернативних, тобто ключів за якими можна індексувати базу в разі потреби.

Іноді бізнес правила потребують вибрати в якості індексу атрибут, який не є унікальним для кожного запису, наприклад, прізвище клієнта. Такий атрибут називають інверсним входом і відповідно позначають на логічній схемі.

Внесення первинного ключа

Первинний ключ вибирається з списку атрибутів. Первинний ключ може бути заданий за допомогою закладки General в діалоговому вікні Attribute Editor.

На схемі у зображенні об’єкту виділене спеціальне поле, для первинного ключа. Воно відокремлене від списку атрибутів горизонтальною лінією.

Атрибут, вибраний в якості первинного ключа, можна також перетягнути, за допомогою миші, до поля первинного ключа із списку атрибутів, що знаходяться нижче горизонтальної лінії.

Питання для самоперевірки

1. Що таке атрибут ?

2. Що таке домен ?

3. На скількох доменах може бути заданий атрибут ?

4. Як задати домен у логічній моделі ?

5. Який інструмент існує для створення атрибута за значенням домену ?

6. Що таке первинний ключ? Які вимоги висуваються до первинного ключа ?

7. Чим можна пояснити необхідність використання первинного ключа?

8. Що таке альтернативний ключ ?

9. Для чого використовують інверсні входи ?

10. Коли виникає необхідність створення складного ключа ?

 

Лекція 4

Встановлення зв’язків в логічній моделі інформаційної системи

Зв’язок це логічне відношення між об’єктами. На логічному рівні можна встановити ідентифікований зв’язок один-до-багатьох, багато-до-багатьох та не ідентифікований зв’язок один-до-багатьох.

Ідентифікований зв’язок встановлюється між незалежною (батьківський кінець зв’язку) з залежною (дочірній кінець зв’язку) сутностями. Атрибути первинного ключа батьківської сутності мігрують до області первинного ключа дочірньої сутності. В пакеті ERWin ідентифікований зв’язок показують на діаграмі цільною лінією з товстою крапкою на дочірньому кінці зв’язку. У випадку наявності ідентифікованого зв‘язку між сутностями дочірня сутність стає залежною від батьківської, тобто не можна коригувати дочірню сутність довільним чином, а тільки за спеціальними правилами, щоб не порушити узгодженість (цілісність) даних між батьківською і дочірньою сутностями. Залежна сутність зображується прямокутником з округленими кутами.

При встановленні неідентифікованого зв’язку дочірня сутність залишається незалежною, а атрибути первинного ключа батьківської сутності мігрують до складу не ключових компонентів батьківської сутності. Неідентифікований зв’язок слугує для зв’язування незалежних об’єктів. Наприклад: Відділ <складається> з Співробітників.

Екземпляр сутності Співробітникможе існуватинезалежно від будь-якого екземпляру сутності Відділ, тобто співробітник може працювати в організації не входячи до складу будь-якого відділу. Неідентифікований зв’язок показується на діаграмі пунктиром.

Кожен зв’язок повинен іменуватися дієсловом або дієслівною фразою (Rilationship Verb Phrases). Ім’я зв’язку відображує деяке обмеження чи бізнес-правило і допомагає читанню діаграми, наприклад:

- Кожен Клієнт <розміщує> Замовлення;

- Кожен Замовлення <виконується> Співробітником.

Зв’язок показує, які замовлення розмістив клієнт і який конкретно співробітник їх виконує.

Встановлення зв’язків

В палітрі інструментів кнопка відповідає ідентифікованому зв’язку, кнопка зв’язку багато-до-багатьох і кнопка відповідає неідентифікованому зв’язку.

Для створення нового зв’язку слід:

- Встановити курсор миші на потрібній кнопці в палітрі інструментів (ідентифікований чи неідентифікований зв’язок) і натиснути ліву кнопку миші;

- Клацнути спочатку по батьківському, а потім по дочірньому об’єкту.

Форму лінії зв’язку завжди можна змінити за допомогою миші.

Для редагування властивостей зв’язку треба клацнути правою кнопкою миші по зв’язку і вибрати на контекстному меню пункт Relationship Editor.

В закладці General вікна діалогу Relationship Editor можна задати потужність, ім’я та тип зв’язку.

За замовчуванням ім’я зв’язку на діаграмі не показується. Для відображення імені треба в контекстному меню вибрати пункт Display Options/Relationship і потім включити опцію Verb Phrase. Контекстне меню з’являється, якщо клацнути лівою кнопкою миші по будь-якому не зайнятому місцю діаграми.

Потужність зв’язку (Cardinality) – існує для позначення відношення кількості екземплярів батьківської сутності до кількості екземплярів дочірньої сутності.

Розрізняють чотири типи потужності:

- Загальний випадок, коли одному екземпляру батьківської сутності відповідають 0,1 чи багато екземплярів дочірньої сутності не відмічають ніяким символом;

- Символом Р відмічають випадок, коли одному екземпляру батьківської сутності відповідає 1 чи багато екземплярів дочірньої сутності (виключається нульове значення);

- Символом Z відмічають випадок, коли одному екземпляру батьківської сутності відповідають 0 чи 1 екземпляр дочірньої сутності (виключено множинні значення);

- Цифрою відмічається випадок точної відповідності, коли одному екземпляру з батьківської сутності відповідає заздалегідь задана кількість екземплярів дочірньої сутності.

Зовнішні ключі

Зовнішні ключі створюються автоматично, якщо існує зв’язок між сутностями. Атрибути первинного ключа в батьківській сутності переносяться до поля первинного ключа в дочірній сутності з позначкою (FK) після свого імені. Якщо підлегла сутність отримує один і той же зовнішній ключ від декількох батьківських сутностей, то щоб уникнути появи двох атрибутів з однаковими іменами автоматично виконується уніфікація ключа, тобто на діаграмі він показується один раз. Зовнішній ключ потрапляє до поля первинного ключа, якщо зв’язок між сутностями ідентифікований, а якщо неідентифікований, то – до загального списку атрибутів.

Приклади логічної моделі на рівні атрибутів з вказаними ключовими полями та всіма параметрами зв‘язків для відділу постачання м‘ясокомбінату наведені в додатку 3.

Питання для самоперевірки

1. Які типи зв’язків ви знаєте ?

2. Який принцип найменування зв’язків ?

3. Що таке потужність зв‘язків?

4. Для зв’язків якого типу встановлюється потужність ?

5. Як створюється зовнішній ключ?

6. Що таке уніфікація зовнішніх ключів?

 

Лекція 5

5. Рекурсивний зв‘язок та ім‘я ролі

Рекурсивний зв‘язок встановлюється між екземплярами однієї сутності. Розрізняють два типи рекурсивного зв‘язку: ієрархічний та мережевий.

Ієрархічний зв‘язок показує, що існує залежність предок–потомок між записами однієї сутності. Такий зв‘язок може бути тільки неідентифікованим, тому що не між усіма записами існує ієрархічна залежність. Таким чином, відбувається посилання в екземплярі дочірньої сутності на ключовий атрибут батьківської сутності, який мігрує в якості зовнішнього ключа до області не ключових атрибутів.

Наприклад, Державний Стандарт України (ДСТУ) може мати посилання, як на Міжнародні стандарти (МС), так і на статті власного стандарту. Для того, щоб розрізнити посилання в ДСТУ на різні статті з міжнародного стандарту (МС) та на власні статті використовують ім‘я ролі, тобто кожному зовнішньому ключу дають додаткову назву. ВнПос1. ID_D(FK) – реалізація ієрархічного рекурсивного зв‘язку. Вн.Пос1– ім‘я ролі, що означає внутрішнє посилання, тобто посилання на інший запис цієї ж таблиці .

Схема БД стандартів наведена на рисунку 5.1.

 

МС ДСТУ

 
 

 


Рис. 5.1. Рекурсивний зв‘язок та ім‘я ролі в БД стандартів

 

Інший тип рекурсії – мережний відображає залежність багато до багатьох між екземплярами однієї сутності. Цей зв‘язок можна реалізувати за допомогою додаткової сутності.

Наприклад, нехай задана БД перепису населення, в якій знаходяться відомості про членів кожної сім‘ї та їх родові відносини між собою. Тобто, одна людина на прізвище Іванчук може бути як батьком так і сином відносно інших членів сім‘ї. Для розв‘язку такої колізії слід створити додаткову таблицю в якій вказати типи відношень між членами кожної сім‘ї (рис. 5.2.).

Громадянин Родина



 

Рис. 5.2. Приклад реалізації мережної рекурсії в БД перепису населення

 

Як видно з наведених прикладів ім‘я ролі широко використовується для реалізації рекурсивного зв‘язку. Тобто, ім‘я ролі використовують при перенесенні атрибутів в наслідок утворення зв‘язків між об‘єктами. Ім‘я ролі присвоюють атрибуту в таких випадках:

- при наявності декількох однотипних зв‘язків між двома сутностями;

- при наявності рекурсивного зв‘язку між екземплярами однієї сутності.

Питання для самоперевірки

1. Що таке рекурсивний зв’язок ?

2. Які типи рекурсивних зв‘язків ви знаєте?

3. Які правила розв‘язання рекурсивного зв‘язку вам відомі?

4. В яких випадках використовують ім‘я ролі ?

Тест до модуля 1

1. В предметній області сутності відповідає:

а) об‘єкт;

б) клас об‘єктів;

в) підмножина об‘єктів одного класу;

г) сукупність об‘єктів;

д) таблиця;

ж) запис.

2. В базі даних об‘єкту відповідає:

а) зв‘язок;

б) дані;

в) поле;

г) таблиця;

д) запис.

3. В базі даних сутності відповідає:

а) зв‘язок;

б) дані;

в) поле;

г) таблиця;

д) запис.

4. В предметній області атрибутом називається:

а) характеристика об‘єкту;

б) характеристика класу об‘єктів;

в) поле;

г) характеристика бази даних;

д) таблиця;

ж) запис.

5. В базі даних атрибуту відповідає:

а) запис;

б) дані;

в) поле;

г) таблиця;

д) домен.

6. Область визначення атрибуту називається:

а) полем;

б) множиною;

в) даними;

г) доменом;

д) записом.

7. Чим визначається домен ?

а) набором даних в базі даних;

б) розміром даних;

в) обмеженнями на значення даних;

г) типом даних;

д) кількістю полів.

8. Candidate key в середовищі ERWin називаються:

а) альтернативні ключі;

б) зовнішні ключі;

в) унікальні ключі;

г) інверсні входи;

д) індексовані поля.

9. В базі даних інверсні входи можуть бути:

а) зовнішніми ключами;

б) первинними ключами;

в) унікальними ключами;

г) альтернативними ключами;

д) індексованими полями.

10. В базі даних альтернативні ключі можуть бути:

а) зовнішніми ключами;

б) первинними ключами;

в) унікальними ключами;

г) інверсними входами;

д) індексованими полями.

11. В логічній моделі бази даних іменником в однині іменується:

а) атрибут;

б) зв‘язок;

в) об‘єкт;

г) клас;

д) сутність.

12. В логічній моделі бази даних дієсловом іменується:

а) атрибут;

б) зв‘язок;

в) об‘єкт;

г) клас;

д) сутність.

13. Зв‘язок один до багатьох в логічній моделі бази даних означає, що:

а) одному запису в батьківській таблиці відповідає багато записів в дочірній таблиці;

б) батьківська таблиця пов‘язана з багатьма дочірніми таблицями;

в) первинний ключ батьківської таблиці пов‘язаний з зовнішніми ключами дочірньої таблиці;

г) екземпляр батьківської сутності пов‘язаний з багатьма екземплярами дочірньої сутності;

д) батьківська сутність пов‘язана з багатьма дочірніми сутностями.

14. Ідентифікований зв‘язок в логічній моделі бази даних означає, що:

а) кожен екземпляр батьківської сутності пов‘язаний з багатьма екземплярами дочірньої сутності;

б) кожен екземпляр батьківської сутності пов‘язаний хоча б з одним екземпляром дочірньої сутності;

в) батьківська сутність пов‘язана хоча б з однією дочірньою сутністю;

г) одному запису в батьківській таблиці відповідає хоча б один запис в дочірній таблиці;

д) первинний ключ батьківської таблиці пов‘язаний хоча б з одним зовнішнім ключем дочірньої таблиці.

15. Потужність зв‘язку в логічній моделі бази даних показує :

а) скільки дочірніх сутностей зв‘язано з батьківською сутністю;

б) скільки екземплярів дочірньої сутності пов‘язано з одним екземпляром батьківської сутності;

в) скільки зовнішніх ключів дочірньої сутності пов‘язано з первинним ключем батьківської сутності;

г) скільки записів батьківської таблиці пов‘язано з одним записом дочірньої таблиці;

д) скільки полів дочірньої таблиці пов‘язано з ключовим полем батьківської таблиці.

Модуль 2. Лекції 6-9

1. Зв’язок багато до багатьох в логічній та фізичній моделі даних.

2. Типи відношень між об’єктами. Поняття про категоріальний зв’язок.

3. Збереження цілісності посилань при транзакціях в базі даних..

4. RI тригери та їх завдання в ERWin.

5. Нормалізація даних.

Лекція 6









Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2018 zdamsam.ru Размещенные материалы защищены законодательством РФ.