Функциональная зависимость в базе данных обеспечивает набор ограничений между атрибутами. Это происходит, когда один атрибут в отношении однозначно определяет другой атрибут. Это можно записать A -> B что означает, что «B функционально зависит от A.» Это также называется зависимостью базы данных.
В этом соотношении A определяет значение B, а B зависит от A.
Почему функциональная зависимость важна в дизайне базы данных
Функциональная зависимость помогает обеспечить достоверность данных. Рассмотрим таблицу Сотрудники, в которых перечислены характеристики, включая номер социального страхования (SSN), имя, дату рождения, адрес и т. Д.
Атрибут SSN определит значение имени, даты рождения, адреса и, возможно, других значений, поскольку номер социального страхования уникален, тогда как имя, дата рождения или адрес не могут быть. Мы можем написать так:
SSN -> имя, дата рождения, адрес
Поэтому имя, дата рождения и адрес функционально зависят от SSN. Однако обратный оператор (name -> SSN) неверен, потому что более одного сотрудника может иметь одно и то же имя, но никогда не будет иметь тот же SSN. Положите другой, более конкретный способ, если мы знаем значение атрибута SSN, мы можем найти значение имени, даты рождения и адреса. Но если мы знаем значение только атрибута name, мы не можем идентифицировать SSN.
Левая часть функциональной зависимости может включать более одного атрибута. Предположим, у нас есть бизнес с несколькими местами. У нас может быть таблица Employee с атрибутами employee, title, department, location и manager.
Сотрудник определяет местоположение, в котором он работает, поэтому существует зависимость:
сотрудник -> место
Но местоположение может иметь более одного менеджера, поэтому сотрудники и отдел вместе определяют менеджера:
сотрудник, отдел -> менеджер
Функциональная зависимость и нормализация
Функциональная зависимость способствует тому, что называется нормализацией базы данных, что обеспечивает целостность данных и снижает избыточность данных. Без нормализации нет уверенности в том, что данные в базе данных являются точными и надежными.