Система управления базами данных | Разложение с сохранением зависимостей
Сохранение зависимости
Разложение 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/
Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.