Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



Ярцев в. П. Створення та обробка баз даних на пеом

Ярцев в. П. Створення та обробка баз даних на пеом




Сторінка6/20
Дата конвертації10.03.2017
Розмір2.36 Mb.
ТипПротокол
1   2   3   4   5   6   7   8   9   ...   20


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


  1. Етапи проектування БД, їх характеристики.

  2. Основні поняття моделі “сутність-зв’язок”: сутність; ключові атрибути; зв’язок між сутностями.

  3. Поняття наслідування сутностей.

  4. Правила переходу від моделі “сутність-зв’язок” до схеми відносин реляційної моделі даних.

5.Яка різниця між сховищем и реляційної БД: недоліки, переваги.

6.Розробити проект моделі комплексного завдання.



4. Принципи нормалізації відношень

4.1. Нормальні форми і нормалізація відношень

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



Аномалії модифікації виявляються в тім, що при зміні даних виникає необхідність одночасно змінювати ще якісь дані. Наприклад, нехай мається якось відношення, що містить інформацію про співробітників. І дані організовані так, що при зміні номера телефону в кімнаті виявляється, що потрібно ще змінювати номера телефонів усіх співробітників, робочі місця яких знаходяться в цій же кімнаті.
Оверта́йм (англ. Overtime), у спорті - додатковий час, що призначається для визначення переможця. У випадку нічийного результату в деяких видах спорту регламент змагань може передбачати продовження боротьби протягом деякого додаткового проміжку часу з метою визначення переможця.
Робо́че мі́сце - елементарна одиниця виробничої структури, що містить частину простору виробничого підрозділу, яка потрібна для здійснення трудової операції та оснащена матеріально-технічними засобами, що використовуються у процесі праці.
Якщо це так, це приклад аномалії, яка є наслідком небажаних залежностей між атрибутами в даному відношенні.

Аномалія видалення може виявлятися в тім, що при видаленні деяких даних може втратитися якась інша інформація, зв'язана з даними, що видаляються.

Аномалія додавання виникає у випадках, якщо дані не можна ввести доти, поки не будуть уведені ще які-небудь інші дані.

Для запобігання можливих аномалій у БД застосовується класична технологія, заснована на теорії нормалізації відношень. У рамках цієї теорії розроблена технологія послідовного перетворення вихідних відношень до так називаних нормальних форм (форми Кодда, по імені вченого, що їх запропонував). Усього розроблено 6 нормальних форм:



  • перша нормальна форма (1НФ);

  • друга нормальна форма (2НФ);

  • третя нормальна форма (3НФ);

  • нормальна форма Бойса-Кодда (БКНФ);

  • четверта нормальна форма (4НФ);

  • п'ята нормальна форма (5НФ).

Кожній нормальній формі (НФ) відповідають визначені вимоги, яким повинне задовольняти відношення, що знаходиться в даної НФ. Чим більше номер НФ, тим більш досконалою є організація даних (менше імовірність виникнення аномалій).

Загальні властивості НФ слідуючи:



  • кожна наступна НФ у деякому змісті поліпшує властивості попередньої НФ;

  • при переході до наступної НФ властивості попередньої НФ зберігаються.

Отже, технологія нормалізації відношень (метод нормальних форм) полягає в наступному.

На початку визначаються вихідні відношення. Вихідні відношення задовольняють вимозі 1НФ по визначенню.

Потім для кожного вихідного відношення перевіряється, чи задовольняє відношення вимогам 2НФ. Якщо ні, виконується декомпозиція вихідного відношення таким чином, щоб отримані в результаті декомпозиції нові відношення задовольняли вимогам 2НФ. Далі точно так само отримані відношення (чи вихідне відношення, якщо воно задовольняє вимогам 2НФ) перевіряються на їхню відповідність вимогам 3НФ. Якщо вимоги 3НФ не виконуються, виконується подальша декомпозиція відношень, і т.д. У багатьох практичних випадках досить привести усі відношення до 3НФ.

Нижче ми розглянемо докладно вимоги до 1НФ, 2НФ і 3НФ. Але тепер необхідно розглянути поняття залежності між атрибутами відношень, тому що вимоги НФ засновані на застосуванні цих понять.



4.2. Поняття залежності між атрибутами відношень

Існують такі типи залежностей між атрибутами: функціональна, транзитивна і багатозначна. Базовим є поняття функціональної залежності.



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

Математично це записується так: АВ.

Атрибути А и В можуть бути складеними, тобто складатися з двох чи більш атрибутів.

Приклади: ПІБРікНародж, ВикладачКаф.



Атрибути А и В функціонально взаємозалежні, якщо існують функціональні залежності АВ и ВА.

Математично це позначається: АВ.

Приклади: ПІБНомСтудКвіт, МістоПочтІнд.

Частковою функціональною залежністю називається залежність неключових атрибутів від частини складеного ключа відношення.

Приклад. Нехай мається відношення

УСПІШНІСТЬ (ПІБ, Предм, РікНародж, Оцінка),

у якому первинний ключ складений - включає атрибути ПІБ і Предм. Атрибут


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

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

У попередньому прикладі атрибут Оцінка знаходиться в повній функціональній залежності від первинного ключа.



Атрибут С знаходиться в транзитивній залежності від атрибута А, якщо існує атрибут В такий, що АВ и ВС.

Приклад: ПІБМістоПочтІндекс.

Між атрибутами також можуть існувати багатозначні залежності.

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

Приклад. Нехай є відношення

ВИКЛАДАЧ (ПІБ, Посада, Оклад, Предм, Група).

Між атрибутами ПІБ і Предм існує багатозначна залежність: один викладач може вести заняття по декількох предметах, і навпаки, один предмет можуть вести декілька викладачів.

Багатозначні залежності можуть бути наступних типів: “один до кількох” (1:М), “кілька до одного” (М:1) і “ кілька до кількох” (М:М).

При проектуванні БД завжди прагнуть перетворити відношення з багатозначними залежностями атрибутів типу М:М в відношення з залежностями типу 1:М чи М:1. Одержувані при цьому нові відношення виявляються зв'язаними типом зв'язку, який відповідає типу залежності між атрибутами.

Приведене вище відношення ВИКЛАДАЧ можна перетворити в двоє відносин ВИКЛАДАЧ і УЧЕБН_НАВАНТАЖЕННЯ , наприклад, таким чином:

ВИКЛАДАЧ (ПІБ, Посада, Оклад) і

УЧЕБН_НАВАНТАЖЕННЯ (ПІБ, Предм, Група).

Перше відношення з другим зв'язується зв'язком типу 1:М по атрибуту ПІБ.

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

Основний спосіб виявлення залежності між атрибутами – це уважний аналіз семантики (змісту) атрибутів.

Розглянемо наступний приклад. Нехай є відношення ВИКЛАДАЧ, у якому представлені такі атрибути:

* КодВикл - код викладача;

ПІБ - прізвище, ім'я і по батькові;

Каф - кафедра;

Посада - посада;

Оклад - оклад;

* Предм - предмет;

ВидЗанят - вид заняття.

Потрібно виявити наявні функціональні залежності між цими атрибутами.

На початку необхідно визначити первинний ключ відношення. Неважко бачити, що в даному прикладі первинний ключ складений і включає два атрибути: КодВикл і Предм. Ці атрибути однозначно ідентифікують кожен кортеж відношення. Між атрибутами, що ввійшли в первинний ключ, залежності не встановлюються.

У результаті зробленого аналізу виявлені функціональні залежності між атрибутами такі, що у виді схеми зображені на Рис. 4.1. Обґрунтування виявлених залежностей може бути наступне.

Прізвище, кафедра і посада завжди однозначно визначені для кожного викладача. Тому атрибути ПІБ, Каф і Посада функціонально залежать від атрибута
КодВикл.

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

1   2   3   4   5   6   7   8   9   ...   20



  • 4. Принципи нормалізації відношень
  • 4.2. Поняття залежності між атрибутами відношень