4.2. СТРУКТУРА ФУНКЦИОНАЛЬНЫХ ЗАВИСИМОСТЕЙ
4.2.1. Функциональные зависимости и их свойства
Пусть R = (U) – схема отношения, U = {A
1
, A
2
, ..., А
n
} – множество ат-
27
рибутов, 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), таких, что
Достарыңызбен бөлісу: |