Створення фізичної моделі

CASE-засобу ERWin при нормалізації і денормалізації БД,

  • побудувати фізичну модель,
  • вивчити алгоритми перекладу БД в першу, другу і третю нормальну форму

нормалізація

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

Для розгляду видів нормальних форм введемо поняття функціональної і повної функціональної залежності.

Функціональна залежність. Атрибут По суті Е функціонально залежить від атрибута А сутності Е, якщо і тільки якщо кожне значення А в Е зв'язало з ним точно одне значення В в Е. Іншими словами, А однозначно визначає В.

Повна функціональна залежність. Атрибут Е суті У повністю функціонально залежить від ряду атрибутів А сутності Е, якщо і тільки якщо В функціонально залежить від Л і не залежить ні від якого підряду А.

Існують наступні види нормальних форм:

  • Перша нормальна форма

(1NF). Сутність Е знаходиться в першій нормальній формі, якщо і тільки якщо всі атрибути містять тільки атомарні значення. Серед атрибутів не повинно зустрічатися повторюваних груп, т. Е. Кількох значень для кожного екземпляра.

  • Друга нормальна форма. Сутність Е знаходиться в другій нормальній формі, якщо вона знаходиться в першій нормальній формі і кожен неключових атрибут повністю залежить від первинного ключа, т. Е. Не існує залежностей від частини ключа.
  • Третя нормальна форма (3 NF). Сутність Е знаходиться в третій нормальній формі, якщо вона знаходиться в другій нормальній формі і неключових атрибути сутності Е залежать від інших атрибутів Е.

Після третьої нормальної форми існують нормальна форма Бойсса - Кодда, четверта і п'ята нормальні форми. На практиці обмежуються приведенням до третьої нормальної формі. Часто після проведення нормалізації все взаємозв'язку даних стають правильно визначені, модель даних стає легше підтримувати. Однак нормалізація не веде до підвищення продуктивності системи в цілому, тому при створенні фізичної моделі з метою підвищення продуктивності доводиться свідомо відходити від нормальних форм, щоб скористатися наявними можливостями конкретного сервера. Такий процес називається денормалізації.

1.1. Підтримка нормалізації в ERWin

ERWin забезпечує тільки підтримку нормалізації, але не містить в собі алгоритмів, автоматично перетворюють модель даних з однієї форми в іншу.

Підтримка першої нормальної форми В моделі кожна сутність або атрибут ідентифікується за допомогою імені. У ERWin підтримує коректність імен наступним чином:

  • зазначає повторне використання імені сутності і атрибута;
  • не дозволяє внести в сутність більш одного зовнішнього ключа;
  • забороняє привласнення неунікальний імен атрибутів всередині однієї моделі, дотримуючись правило «в одному місці - один факт».

Створення фізичної моделі

Метою створення фізичної моделі є забезпечення адміністратора відповідною інформацією для перенесення логічної моделі даних в СУБД.

ERWin підтримує автоматичну генерацію фізичної моделі даних для конкретної СУБД. При цьому логічна модель трансформується в фізичну за наступним принципом: сутності стають таблицями, атрибути стають стовпцями, а ключі стають індексами.

Таблиця 7.1.Сопоставленіе компонентів логічної і фізичної моделі

Взаємозв'язку, що визначаються використанням FK-атрибутів

денормализация

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

Для процесу денормалізації не існує стандартного алгоритму, тому в кожному конкретному випадку доводиться шукати своє рішення. Денормализация зазвичай проводиться на фізичному рівні моделі. ERWin має наступні можливості щодо підтримки процесу денормалізації:

  • Сутності, атрибути, групи ключів і домени можна створювати тільки на логічному рівні моделі. В

ERWin існує можливість виділення елементів логічної моделі таким чином, щоб вони не з'являлися на фізичному рівні.

  • Таблиці, стовпці, індекси і домени можна створювати тільки на фізичному рівні. В

ERWin існує можливість виділення елементів моделі таким чином, щоб вони не з'являлися на логічному рівні. Ця можливість безпосередньо підтримує денормализация фізичної моделі, так як дозволяє проектувальнику включати таблиці, стовпці та індекси в фізичну модель, орієнтовану на конкретну СУБД.

Дозвіл зв'язків «багато-до-багатьох». При вирішенні цих зв'язків в логічної моделі ERWin додає асоційовані суті і дозволяє додати в них атрибути. При вирішенні зв'язків в логічної моделі автоматично вирішуються зв'язку і в фізичної моделі.

Створення фізичної моделі

Мал. 7.1. ERD-діаграма БД студентів в першій нормальній формі

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

Для приведення БД до третьої нормальної формі необхідно забезпечити відсутність транзитивних залежностей неключових атрибутів. Така залежність спостерігається у атрибутів «Спеціальність» і «Спеціалізація» у сутності «Студент»: спеціалізація залежить від спеціальності і від групи, в якій навчається студент. Створимо нову незалежну сутність «Спеціальність», перенісши в неї атрибут «Спеціалізація» і створивши новий атрибут «Група», який є ключовим і визначає атрибути «Спеціальність» і «Спеціалізація». Проведемо неідентіфіці-рующую зв'язок від сутності «Спеціальність» до сутності «Студент», при цьому ключовий атрибут «Група» мігрує в сутність «Студент». Отримаємо БД в третій нормальній формі, так як інших транзитивних залежностей неключових атрибутів немає (рис. 7.2).

Створення фізичної моделі

Мал. 7.2. ERD-діаграма БД студентів в третій нормальній формі

В отриманій моделі необхідно скорегувати типи і розміри полів. Крім того, на етапі створення фізичної моделі даних вводяться правила валідації колонок, що визначають списки допустимих значень і значення за замовчуванням (закладка Access у атрибута).

Таблиця 7.2.Свойства колонок таблиць фізичної моделі БД студентів

Після установки правил валідації (для цього спочатку треба дати ім'я Validation Name, а потім відредагувати Validation Rule) в діалоговому вікні Validation Rule Editor повинні вийти такі правила

Створення фізичної моделі

Після установки правил валідації в діалоговому вікні Column Editor необхідно присвоїти відповідними колонками таблиць встановлені для них правила (рис. 4.4).

Створення фізичної моделі

Мал. 7.4.Фізіческая модель БД студентів

Контрольні питання

  1. Що називається процесом нормалізації?
  2. Що називається функціональною залежністю?
  3. Що називається повною функціональною залежністю ,?
  4. Перша нормальна форма.
  5. Друга нормальна форма.
  6. Третя нормальна форма.
  7. Нормальна форма Бойсса - Кодда.
  8. Що називається процесом денормалізації?
  9. У чому сенс денормалізації?
  10. Яка мета створення фізичної моделі?
  11. Назвіть функції ERWin з підтримки денормалізації.
  12. Як здійснюється дозвіл зв'язків «багато-до-багатьох»?

Схожі статті