У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


залежностей:

Залежність атрибутів від ключа відношення:

{ Н_СПІВ, Н_ПРО} ПРІЗВ

{ Н_СПІВ, Н_ПРО} Н_ВІД

{ Н_СПІВ, Н_ПРО} ТЕЛ

{ Н_СПІВ, Н_ПРО} ПРОЕКТ

{Н_СПІВ, Н_ПРО} Н_ЗАВД

Залежність атрибутів, що характеризують співробітника від табельного номера співробітника:

Н_СПІВ ПРІЗВ

Н_СПІВ Н_ВІД

Н_СПІВ ТЕЛ

Залежність найменування проекту від номера проекту:

Н_ПРО ПРОЕКТ

Залежність номера телефону від номера відділу:

Н_ВІД ТЕЛ

Зауваження. Приведені функціональні залежності не виведені із зовнішнього вигляду відношення, приведеного в таблиці 1. Ці залежності відображають взаємозв'язки, знайдені між об'єктами предметної області і є додатковими обмеженнями, визначуваними предметною областю. Таким чином, функціональна залежність - семантичне поняття. Вона виникає, коли по значеннях одних даних в предметній області можна визначити значення інших даних. Наприклад, знаючи табельний номер співробітника, можна визначити його прізвище, по номеру відділу можна визначити телефону. Функціональна залежність задає додаткові обмеження на дані, які можуть зберігатися у відносинах. Для коректності бази даних необхідно при виконанні операцій модифікації бази даних перевіряти всі обмеження, визначені функціональними залежностями.

Функціональні залежності відносин і математичне поняття функціональної залежності

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

Визначення 2. Функціональна залежність (функція) - це трійка об'єктів , де

- множина (область визначення)

- множина (безліч значень)

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

Функціональна залежність звичайно позначається як або .

Зауваження. Правило може бути задано будь-яким способом - у вигляді формули (частіше всього), за допомогою таблиці значень, за допомогою графіка, текстовим описом і т.д.

Функціональна залежність атрибутів відношення теж нагадує це визначення. Дійсно:

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

Як безліч значень виступає домен, на якому визначений атрибут (або декартовий твір доменів)

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

визначено коректно.

Відмінність від математичного поняття відношення полягає в тому, що, якщо розглядати математичне поняття функції, то для фіксованого значення відповідне значення функції завжди одне і те ж. Наприклад, якщо задана функція , то для значення відповідне значення завжди буде рівно 4. В протилежність цьому у відносинах значення залежного атрибуту може приймати різні значення в різних поляганнях бази даних. Наприклад, атрибут ПРІЗВ функціонально залежить від атрибуту Н_СПІВ. Припустимо, що зараз співробітник з табельним номером 1 має прізвище Іванов, тобто при значенні детермінанта рівного 1, значення залежного аргументу рівне "Іванов". Але співробітник може змінити прізвище, наприклад на "Сидоров". Тепер при тому ж значенні детермінанта, рівного 1, значення залежного аргументу рівне "Сидоров".

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

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

2НФ (Друга Нормальна Форма)

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

Зауваження. Якщо потенційний ключ відношення є простим, то відношення автоматично знаходиться в 2НФ.

Відношення СПІВРОБІТНИКИ_ВІДДІЛИ_ПРОЕКТИ не знаходиться в 2НФ, оскільки є атрибути, залежні від частини складного ключа:

Залежність атрибутів, що характеризують співробітника від табельного номера співробітника є залежністю від частини складного ключа:

Н_СПІВ ПРІЗВ

Н_СПІВ Н_ВІД

Н_СПІВ ТЕЛ

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

Н_ПРО ПРОЕКТ

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

Відношення СПІВРОБІТНИКИ_ВІДДІЛИ_ПРОЕКТИ декомпозуємо на три відношення - СПІВРОБІТНИКИ_ВІДДІЛИ, ПРОЕКТИ, ЗАВДАННЯ.

Відношення СПІВРОБІТНИКИ_ВІДДІЛИ (Н_СПІВ, ПРІЗВ, Н_ВІД, ТЕЛ):

Функціональні залежності:

Залежність атрибутів, що характеризують співробітника від табельного номера співробітника:

Н_СПІВ ПРІЗВ

Н_СПІВ Н_ВІД

Н_СПІВ ТЕЛ

Залежність номера телефону від номера відділу:

Н_ВІД ТЕЛ

Н_СПІВ | ПРІЗВ | Н_ВІД | ТЕЛ

1 | Іванов | 1 | 11-22-33

2 | Петров | 1 | 11-22-33

3 | Сидоров | 2 | 33-22-11

Таблиця 2 Відношення СПІВРОБІТНИКИ_ВІДДІЛИ

Відношення ПРОЕКТИ (Н_ПРО, ПРОЕКТ):

Функціональні залежності:

Н_ПРО ПРОЕКТ

Н_ПРО | ПРОЕКТ

1 | Космос

2 | Клімат

Таблиця 3 Відношення ПРОЕКТИ

Відношення ЗАВДАННЯ (Н_СПІВ, Н_ПРО, Н_ЗАВД):

Функціональні залежності:

{Н_СПІВ, Н_ПРО} Н_ЗАВД

Н_СПІВ | Н_ПРО | Н_ЗАВД

1 | 1 | 1

1 | 2 | 1

2 | 1 | 2

3 | 1 | 3

3 | 2 | 2

Таблиця 4 Відношення ЗАВДАННЯ

Аналіз декомпозованих відносин

Відносини, одержані в результаті декомпозиції, знаходяться в 2НФ. Дійсно, відносини СПІВРОБІТНИКИ_ВІДДІЛИ і ПРОЕКТИ мають прості ключі, отже автоматично знаходяться в 2НФ, відношення ЗАВДАННЯ має складний ключ, але єдиний неключовий атрибут Н_ЗАВД функціонально залежить від всього ключа {Н_СПІВ, Н_ПРО}.

Частина аномалій оновлення усунена. Так, дані про співробітників і проекти тепер збережуться в різних відносинах, тому при появі співробітників, що не беруть участь ні в одному проекті просто додаються кортежі у відношення СПІВРОБІТНИКИ_ВІДДІЛИ. Точно також, при появі проекту, над яким не працює жоден співробітник, просто вставляється кортеж у відношення ПРОЕКТИ.

Прізвища співробітників і


Сторінки: 1 2 3 4 5 6 7 8 9