Но каноническая обложка тоже может быть C - AB
, D - EF
?
Нет, это не может быть каноническим прикрытием для вашего набора функциональных зависимостей (FD). Каноническая оболочка F - это «минимальный» набор функциональных зависимостей, эквивалентных F, не имеющий избыточных зависимостей или повторяющихся частей зависимостей.
Предлагаемая вами каноническая обложка не эквивалентна F
. Например, функциональная зависимость CAE->FB
не полностью покрывается предложенной вами канонической оболочкой и, следовательно, не является канонической оболочкой.
С другой стороны, та, которая указана в вашей книге C -> AB, CE -> F, D -> E
, является канонической обложкой и единственной возможной канонической обложкой для этого набора FD.
Можно ли иметь два разных канонических прикрытия для одних отношений?
Да, можем. Чтобы найти каноническую обложку, мы делаем -
- Сначала убедитесь, что одноэлементный правый элемент (RHS)
- Во-вторых, удалите лишний левый атрибут (LHS).
- В-третьих: удалите любую избыточную функциональную зависимость.
У нас может быть разное каноническое покрытие для одних отношений из-за третьего шага выше. Я объясню это на примере.
Учитывая ФД как:
X→YZ
Y→XZ
Z→XY
Сначала убедитесь, что одноэлементный RHS. Итак, у нас есть:
- X→Y
- X→Z
- Y→X
- Y→Z
- Z→X
- Z→Y
Второй Никаких посторонних LHS. Уже доволен.
Третий Удалите все лишние FD. Теперь мы можем удалить (2), (3) и (6) как избыточные зависимости и установить минимальное покрытие следующим образом:
1:
X→Y,
Y→Z,
Z→X
или мы можем удалить (1), (4) и (5) как избыточные зависимости и установить минимальное покрытие как:
2:
Z→Y,
Y→X,
X→Z
Следовательно, в этом случае у нас есть два канонических покрытия для одного и того же отношения.
person
Karup
schedule
18.12.2015