Виявлення залежностей між атрибутами необхідно для проектування БД методом нормальних форм.
Основний спосіб установлення наявності ФЗ - уважний аналіз семантики атрибутів. Звичайно у відношенні існує декілька функціональних залежностей між атрибутами. Причому якщо існує одна чи декілька функціональних залежностей, можна вивести й інші функціональні залежності, існуючі в цьому відношенні.
Виявимо залежності між атрибутами відношення ВИКЛАДАЧ. Врахуємо умову: один викладач в одній групі може проводити один вид занять (лекції чи практичні заняття).
У результаті аналізу відношення одержуємо залежності між атрибутами (рис. 7.5).
До виділення цих ФЗ приводять наступні міркування:
· ПІБ у викладачів унікальні;
· кожен викладач має посаду (викладач, ст.викл), але одну посаду можуть мати декілька викладачів, тобто має місце ФЗ ПІБ→Посада. Зворотна ФЗ відсутня тому що однакову посаду можуть займати різні викладачі;
· кожен викладач працює тільки на одній кафедрі - мається ФЗ ПІБ→Каф. З іншого боку, на одній кафедрі багато викладачів, тому зворотної ФЗ немає;
· кожному викладачу відповідає його стаж, тобто має місце ФЗ ПІБ→Стаж. Зворотне невірно - однаковий стаж може бути в різних викладачів;
· кожен викладач має добавку за стаж, тобто мається ФЗ ПІБ→ДСтаж. Зворотна ФЗ відсутня - одну надбавку можуть мати декілька викладачів;
· кожному викладачу відповідає оклад, що однаковий для всіх педагогів з однаковими посадами. Це враховується залежностями ПІБ→Оклад і Посада→Оклад. Немає однакових окладів для різних посад - ФЗ Оклад→Посада, тому є функціональна взаємозалежність Оклад↔Посада;
· кожному стажу відповідає визначена надбавка, тобто мається ФЗ Стаж→ДСтаж. Зворотне не вірно - однієї і тій же надбавці може відповідати різний стаж роботи;
· можна виділити дві транзитивні залежності ПІБ→Посада→Оклад і ПІБ→ Стаж→ДСтаж;
· один викладач в одній групі по різних предметах може проводити різні види занять. Визначення виду занять, що проводить викладач, неможливо без вказівки предмета і групи, тому має місце функціональна залежність ПІБ, Предм, Група→ВидЗан. Дійсно, Петров у 256-й групі читає лекції і проводить практичні заняття. Але лекції він читає по СУБД, а практику проводить по Паскалю.
Не були виділені залежності між атрибутами ПІБ, Предм і Група, тому що вони утворюють складений ключ і не враховуються в процесі нормалізації вихідного відношення.
Після виділення усіх ФЗ, варто перевірити їхню погодженість з даними вихідного відношення. Наприклад, Посада='викладач' і Оклад=500 завжди відповідають один одному у всіх кортежах, тобто підтверджується функціональна залежність Посада→Оклад. Так само варто перевірити й інші ФЗ.