Система управления базами данных | Разложение с сохранением зависимостей

Опубликовано: 19 Августа, 2021

Сохранение зависимости

Разложение D = {R1, R2, R3… .Rn} R является зависимостью, сохраняющей по отношению к набору F функциональной зависимости, если

(F1 ∪ F2 ∪… ∪ Fm) + = F +.
Рассмотрим отношение R
R ---> F {... с некоторой функциональной зависимостью (FD) ....}

R раскладывается или делится на R1 с помощью FD {f1} и R2 с помощью {f2}, тогда
может быть три случая:

f1 U f2 = F -----> Декомпозиция с сохранением зависимостей. 
f1 U f2 - это подмножество F -----> Not Dependency preserving.
f1 U f2 - это супер набор F -----> Этот случай невозможен.

Проблема: Пусть существует отношение R (A, B, C, D) и функциональная зависимость {AB -> C, C -> D, D -> A}. Отношение R раскладывается на R1 (A, B, C) и R2 (C, D). Проверьте, сохраняет ли декомпозиция зависимости или нет.
Решение:

R1 (A, B, C) и R2 (C, D)

Найдем замыкание F1 и F2
Чтобы найти замыкание F1, рассмотрите все комбинации
ABC. т.е. найти замыкание A, B, C, AB, BC и AC
Примечание. ABC не рассматривается, поскольку это всегда ABC. 

closure (A) = {A} // Тривиально
closure (B) = {B} // Тривиально
закрытие (C) = {C, A, D}, но D не может быть закрытым, поскольку D не присутствует R1.
           = {C, A}
C -> A // Удаление C с правой стороны, поскольку это тривиальный атрибут

замыкание (AB) = {A, B, C, D}
            = {A, B, C}
AB -> C // Удаление AB с правой стороны, так как это тривиальные атрибуты

замыкание (BC) = {B, C, D, A}
            = {A, B, C}
BC -> A // Удаление BC с правой стороны, так как это тривиальные атрибуты

замыкание (AC) = {A, C, D}
AC -> D // Удаление AC с правой стороны, так как это тривиальные атрибуты             


F1 {C -> A, AB -> C, BC -> A}.
Аналогично F2 {C -> D}

В исходной зависимости отношения {AB -> C, C -> D, D -> A}.
AB -> C присутствует в F1.
C -> D присутствует в F2.
D -> A не сохраняется.

F1 U F2 является подмножеством F. Таким образом, данное разложение не сохраняет зависимость g.

Вопрос 1:
Пусть R (A, B, C, D) будет реляционной схемой со следующими функциональными зависимостями:

А → В, В → С,
C → D и D → B. 

Разложение R на 
(A, B), (B, C), (B, D)

(A) дает соединение без потерь и сохраняет зависимость
(B) дает соединение без потерь, но не сохраняет зависимость
(C) не дает соединения без потерь, но сохраняет зависимость
(D) не дает соединения без потерь и не сохраняет зависимости

Обратитесь к этому для решения.



вопрос 2
R (A, B, C, D) - отношение. Что из перечисленного не имеет соединения без потерь и декомпозиции BCNF с сохранением зависимостей?
(A) A-> B, B-> CD
(B) A-> B, B-> C, C-> D
(C) AB-> C, C-> AD
(D) A -> BCD

Обратитесь к этому для решения.

Ниже представлена викторина GATE Questions за предыдущий год.

http://quiz.geeksforgeeks.org/dbms/database-design-normal-forms/

Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.