Управление данными. Громов Ю.Ю - 25 стр.

UptoLike

Зависимость номера телефона от номера отдела:
Н_ОТД
ТЕЛ
Замечание. Приведённые функциональные зависимости отражают взаимосвязи, обнаруженные
между объектами предметной области, и являются дополнительными ограничениями, определяемыми
предметной областью. Таким образом, функциональная зависимость
семантическое понятие
. Она воз-
никает, когда по значениям одних данных в предметной области можно определить значения других
данных. Например, зная табельный номер сотрудника, можно определить его фамилию, по номеру от-
дела можно определить телефон. Функциональная зависимость задаёт дополнительные ограничения на
данные, которые могут храниться в отношениях. Для корректности базы данных (адекватности пред-
метной области) необходимо при выполнении операций модификации базы данных проверять все огра-
ничения, определённые функциональными зависимостями.
Функциональные зависимости отношений и математическое понятие функциональной зави-
симости.
Функциональная зависимость атрибутов отношения напоминает понятие функциональной за-
висимости в математике.
Но это не одно и то же
. Для сравнения напомним математическое понятие
функциональной зависимости:
Определение 2. Функциональная зависимость (
функция
) – это тройка объектов
{
X
,
Y
,
f
},
где
X
множество (
область определения
);
Y
множество (
множество значений
);
f
правило, согласно
которому каждому элементу
x
X
ставится в соответствие один и только один элемент
y
Y
(
правило
функциональной зависимости
).
Функциональная зависимость обычно обозначается как
f
:
X
Yf
или
y
=
f
(
x
).
Замечание. Правило
f
может быть задано любым способом в виде формулы (чаще всего), при по-
мощи таблицы значений, при помощи графика, текстовым описанием и т.д.
Функциональная зависимость атрибутов отношения тоже напоминает это определение. Действи-
тельно:
в качестве области определения выступает домен, на котором определён атрибут
X
(или декар-
тово произведение доменов, если
X
является множеством атрибутов);
в качестве множества значений выступает домен, на котором определён атрибут
Y
(или декарто-
во произведение доменов).
Правило
f
реализуется следующим алгоритмом: 1) по данному значению атрибута
X
найти любой
кортеж отношения, содержащий это значение; 2) значение атрибута
Y
в этом кортеже и будет значени-
ем функциональной зависимости, соответствующим данному
X
. Определение функциональной зависи-
мости в отношении гарантирует, что найденное значение
Y
не зависит от выбора кортежа, поэтому пра-
вило
f
определено корректно.
Отличие от математического понятия отношения состоит в том, что если рассматривать математи-
ческое понятие функции, то
для фиксированного значения
x
X
соответствующее значение функции
y
=
f
(
x
)
всегда одно и то же
. Например, если задана функция
y
=
x
2
, то для значения
x
= 2 соответствую-
щее значение
y
всегда будет равно 4. В противоположность этому в отношениях значение зависимого
атрибута может принимать различные значения в различных состояниях базы данных. Например, атри-
бут
ФАМ
функционально зависит от атрибута
Н_СОТР
. Предположим, что сейчас сотрудник с табель-
ным номером 1 имеет фамилию Иванов, т.е. при значении детерминанта равного 1, значение зависимого
аргумента равно «Иванов». Но сотрудник может сменить фамилию, например на «Сидоров». Теперь
при том же значении детерминанта, равного 1, значение зависимого аргумента равно «Сидоров».
Таким образом, понятие функциональной зависимости атрибутов нельзя считать полностью экви-
валентным математическому понятию функциональной зависимости, так как значения этой зависимо-
сти различны при разных состояниях отношения, и, самое главное, эти значения могут меняться не-
предсказуемо.
Функциональная зависимость атрибутов утверждает лишь то, что для каждого конкретного состоя-
ния базы данных по значению одного атрибута (детерминанта) можно однозначно определить значение
другого атрибута (зависимой части). Но конкретные значения зависимой части могут быть различны в
различных состояниях базы данных.