Функционални зависимости: Избягвайте дублирането на данни
Функционалната зависимост в базата данни налага набор от ограничения между атрибутите. Това се случва, когато един атрибут във връзка еднозначно определя друг атрибут. Това може да бъде написано A -> B, което означава, че "B е функционално зависим от А." Това също се нарича зависимост на базата данни .
В тази връзка A определя стойността на B, докато B зависи от А.
Защо функционалната зависимост е важна в дизайна на бази данни
Функционалната зависимост помага да се гарантира валидността на данните. Помислете за таблица Служители, които изброяват характеристики като SSN, име, дата на раждане, адрес и т.н.
Атрибутът SSN ще определи стойността на името, датата на раждане, адреса и може би други стойности, тъй като номерът на социалното осигуряване е уникален, докато името, датата на раждане или адресът може да не са. Можем да го напишем по следния начин:
SSN -> име, дата на раждане, адрес
Следователно, име, дата на раждане и адрес са функционално зависими от SSN. Обаче обратното изявление (име -> SSN) не е вярно, защото повече от един служител може да има същото име, но никога няма да има същото SSN. Поставете друг, по-конкретен начин, ако знаем стойността на атрибута SSN, можем да намерим стойността на името, датата на раждане и адреса. Но ако знаем само стойността на атрибута name, не можем да идентифицираме SSN.
Лявата страна на функционалната зависимост може да включва повече от един атрибут. Да приемем, че имаме бизнес с няколко местоположения. Може да имаме таблица Служител с атрибути служител, длъжност, отдел, местонахождение и мениджър.
Служителят определя местоположението, което работи, така че има зависимост:
служител -> местоположение
Местоположението обаче може да има повече от един мениджър, така че служителят и отделът заедно определят мениджъра:
служител, отдел -> мениджър
Функционална зависимост и нормализация
Функционалната зависимост допринася за това, което се нарича нормализиране на базата данни, което гарантира целостта на данните и намалява съкращенията в данните. Без нормализиране няма гаранция, че данните в дадена база данни са точни и надеждни.