Виявлення залежностей між атрибутами

Виявлення залежностей між атрибутами необхідно для проектування БД методом нормальних форм.

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

Виявимо залежності між атрибутами відношення ВИКЛАДАЧ. Врахуємо умову: один викладач в одній групі може проводити один вид занять (лекції чи практичні заняття).

У результаті аналізу відношення одержуємо залежності між атрибутами (рис. 7.5).

 
 

До виділення цих ФЗ приводять наступні міркування:

· ПІБ у викладачів унікальні;

· кожен викладач має посаду (викладач, ст.викл), але одну посаду можуть мати декілька викладачів, тобто має місце ФЗ ПІБ→Посада. Зворотна ФЗ відсутня тому що однакову посаду можуть займати різні викладачі;

· кожен викладач працює тільки на одній кафедрі - мається ФЗ ПІБ→Каф. З іншого боку, на одній кафедрі багато викладачів, тому зворотної ФЗ немає;

· кожному викладачу відповідає його стаж, тобто має місце ФЗ ПІБ→Стаж. Зворотне невірно - однаковий стаж може бути в різних викладачів;

· кожен викладач має добавку за стаж, тобто мається ФЗ ПІБ→ДСтаж. Зворотна ФЗ відсутня - одну надбавку можуть мати декілька викладачів;

· кожному викладачу відповідає оклад, що однаковий для всіх педагогів з однаковими посадами. Це враховується залежностями ПІБ→Оклад і Посада→Оклад. Немає однакових окладів для різних посад - ФЗ Оклад→Посада, тому є функціональна взаємозалежність Оклад↔Посада;

· кожному стажу відповідає визначена надбавка, тобто мається ФЗ Стаж→ДСтаж. Зворотне не вірно - однієї і тій же надбавці може відповідати різний стаж роботи;

· можна виділити дві транзитивні залежності ПІБ→Посада→Оклад і ПІБ→ Стаж→ДСтаж;

· один викладач в одній групі по різних предметах може проводити різні види занять. Визначення виду занять, що проводить викладач, неможливо без вказівки предмета і групи, тому має місце функціональна залежність ПІБ, Предм, Група→ВидЗан. Дійсно, Петров у 256-й групі читає лекції і проводить практичні заняття. Але лекції він читає по СУБД, а практику проводить по Паскалю.

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

Після виділення усіх ФЗ, варто перевірити їхню погодженість з даними вихідного відношення. Наприклад, Посада='викладач' і Оклад=500 завжди відповідають один одному у всіх кортежах, тобто підтверджується функціональна залежність Посада→Оклад. Так само варто перевірити й інші ФЗ.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: