Рубрики

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

Разложение отношения выполняется, когда отношение в реляционной модели не находится в соответствующей нормальной форме. Отношение R разлагается на два или более отношений, если разложение является объединением без потерь, а также сохранением зависимости.

Разложение без потерь соединения

Если мы разложим отношение R на отношения R1 и R2,

  • Разложение с потерями, если R1 ⋈ R2 ⊃ R
  • Разложение без потерь, если R1 ⋈ R2 = R

Чтобы проверить декомпозицию объединения без потерь с использованием набора FD, должны выполняться следующие условия:

  1. Объединение атрибутов R1 и R2 должно быть равно атрибуту R. Каждый атрибут R должен быть либо в R1, либо в R2.
     Att(R1) U Att(R2) = Att(R)
  2. Пересечение атрибутов R1 и R2 не должно быть NULL.
     Att(R1) ∩ Att(R2) ≠ Φ
  3. Общий атрибут должен быть ключом как минимум для одного отношения (R1 или R2)
     Att(R1) ∩ Att(R2) -> Att(R1) or Att(R1) ∩ Att(R2) -> Att(R2)

Например, отношение R (A, B, C, D) с набором FD {A-> BC} раскладывается на R1 (ABC) и R2 (AD), которое представляет собой разложение объединения без потерь, как:

  1. Первое условие выполняется как Att (R1) U Att (R2) = (ABC) U (AD) = (ABCD) = Att (R).
  2. Второе условие выполняется при Att (R1) ∩ Att (R2) = (ABC) ∩ (AD) ≠ Φ
  3. Третье условие выполняется, так как Att (R1) ∩ Att (R2) = A является ключом R1 (ABC), поскольку задано A-> BC.

Сохранение зависимостей Разложение

Если мы разложим отношение R на отношения R1 и R2, все зависимости R либо должны быть частью R1 или R2, либо должны быть получены из комбинации FD R1 и R2.
Например, отношение R (A, B, C, D) с набором FD {A-> BC} раскладывается на R1 (ABC) и R2 (AD), что сохраняет зависимость, поскольку FD A-> BC является частью R1 (АВС).

ВОРОТА Вопрос: Рассмотрим схему R (A, B, C, D) и функциональные зависимости A-> B и C-> D. Тогда разложение R на R1 (AB) и R2 (CD) будет [GATE-CS-2001]
А. Сохранение зависимости и соединение без потерь
B. соединение без потерь, но не сохранение зависимости
C. сохранение зависимости, но не без потерь соединение
D. не сохраняет зависимость и не теряет соединение

Ответ: Для разложения соединения без потерь должны выполняться следующие три условия:

  1. Att (R1) U Att (R2) = ABCD = Att (R)
  2. Att (R1) ∩ Att (R2) = Φ, что нарушает условие разложения объединения без потерь. Следовательно, разложение не без потерь.

Для сохранения зависимости разложения,
A-> B может быть обеспечено в R1 (AB), а C-> D может быть обеспечено в R2 (CD). Следовательно, это разложение, сохраняющее зависимость.
Итак, правильный вариант — C.
Эта статья предоставлена Sonal Tuteja . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

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

Рекомендуемые посты:

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

0.00 (0%) 0 votes