рибутов,
X,
Y
⊆
U. Говорят, что
Х функционально определяет Y или что
Y
функционально зависит от
X, и обозначают это
Х
→
Y, если в любом от-
ношении
R, являющемся текущим значением схемы
R, не могут содер-
жаться два кортежа, компоненты которых совпадают по всем атрибутам,
принадлежащим множеству
X, но не совпадают хотя по одному атрибу-
ту, принадлежащему множеству
Y.
Функциональные зависимости возникают различным образом, напри-
мер если
R содержит описание набора объектов и
A
1
,
A
2
, ...,
А
n
– атрибу-
ты этого типа объектов, а
Х – множество атрибутов, образующих его
ключ, то можно утверждать, что
Х
→
Y для любого
Y ⊆ {
A
1
,
A
2
, ...,
А
n
}.
Это следует из того, что кортежи
R представляют объекты, а объекты
однозначно идентифицируются значениями атрибутов ключа, следова-
тельно, два кортежа, совпадающие по атрибутам, принадлежащим
X,
должны представлять один и тот же объект и поэтому являются одним и
тем же кортежем.
Следует отметить, что функциональные зависимости являются утвер-
ждениями обо всех отношениях, которые могут быть значениями схемы
R, т. е.
функциональная зависимость – это свойство схемы, а не конкрет-
ного экземпляра отношения. Следовательно, невозможно, анализируя
конкретное текущее значение схемы
R, определить, какие зависимости
имеют место для
R, в лучшем случае можно утверждать о некоторых за-
висимостях, что они не имеют места в схеме
R. Единственный способ
определения функциональных зависимостей для схемы отношения за-
ключается в том, чтобы проанализировать семантику атрибутов. В этом
смысле зависимости являются фактически высказываниями о предмет-
ной области, они не могут быть доказаны формальными средствами про-
ектирования схем баз данных, хотя, как будет показано ниже, можно вы-
водить новые (не заданные явно при описании схемы) зависимости из
уже заданных.
Пусть задано множество атрибутов
U = {
A
1
,
A
2
, ...,
А
n
} и некоторое
множество
функциональных зависимостей F, записанных в виде пар
подмножеств (
X,
Y),
X,
Y
⊆
U, таких, что
X →
Y; соответствующую схему
отношения будем записывать в виде
R = (
U,
F). Говорят, что зависимость
A
→
B логически следует из
F, если для каждого экземпляра отношения
R со схемой
R, удовлетворяющего зависимостям
F, выполняется также
зависимость
A
→
B. Например, легко показать, что если
X →
Y и
Y →
Z,
то
X
→
Z.
Пусть
F
+
обозначает
замыкание F, т. е. множество всех функциональ-
ных зависимостей, которые логически следуют из
F (включая, естест-
28
венно, само
F);
F при этом называют системой образующих структуры
функциональных зависимостей. Если
F
+
=
F, то
F называют
замкнутым
множеством зависимостей. Теперь рассмотрим задачу поиска зависимо-
стей, логически следующих из заданного набора
F.
Как показал Армстронг, совокупность всех пар (
X,
Y), таких, что
Достарыңызбен бөлісу: