Нужна помощь в учебе?
Предыдущая тема: Возведение в квадрат суммы и разности двух выражений: формулы и примеры
Следующая тема:   Умножение разности двух выражений на их сумму: формулы и примеры
Твитнуть | Нравится | Нравится |
BCNF Разложение | Пошаговый подход – Data Science Дуния
Алгоритм BCNF:
Он используется для прямой декомпозиции любого заданного отношения к BCNF.
Этот алгоритм гарантирует:
- Окончательное разложение BCNF.
- Разложение без потерь (Окончательное разложение BCNF всегда будет без потерь)
Примечание. Этот алгоритм не гарантирует сохранения зависимостей.
Чтобы правильно понять алгоритм BCNF, нам нужно знать следующие два определения:
- Разложение без потерь.
- Сохранение зависимостей.
Шаги:
- Определите зависимости, нарушающие определение НФБК, и рассмотрите их как X->A
- Разложите отношение R на XA & R-{A} (R минус A).
- Проверить, находятся ли оба разложения в BCNF или нет. Если нет, повторно применить алгоритм на разложении, которого нет в НФБК.
Вся декомпозиция, полученная с помощью этого алгоритма, будет в BCNF, и они будут без потерь, однако некоторые из декомпозиций сохранят зависимости, а остальные нет.
BCNF не является предпочтительной нормальной формой, поскольку она не гарантирует сохранения зависимостей.
Пример:
R(A,B,C,D,E) { AB->CD, D->E, A->C, B->D}
Найдите разложение вышеприведенного кода в BCNF связь.
Решение:
Задано отношение R(A,B,C,D,E) с зависимостями {AB->CD, D->E, A->C, B->D}
Кандидат Ключом к этому отношению является АВ.
[Здесь я не буду объяснять, как получить закрытие зависимости и определить ключ-кандидат, для этого вы можете обратиться к другой статье, как показано ниже:
Как определить ключ-кандидат с помощью закрытия зависимостей. ]
Следовательно, основные атрибуты: A, B.
Неосновные атрибуты: C, D, E.
с использованием определения зависимости:
AB -> CD (полная зависимость — CD зависит от ключа-кандидата)
D -> E (переходная зависимость: не простое получается не простое)
A -> C (частичная зависимость: простое получается не простое)
B -> D (частичная зависимость: простое получается не простое)
Следовательно, зависимости, которые нарушают BCNF, это D -> E, A -> C, B -> D.
поэтому будут взяты зависимости, которые нарушают определение BCNF, одна за другой.
, так что сначала будет приниматься D ->
Таким образом, X = D & ‘A’ = E.
X’A’ будет DE и R-{‘A’} будет ABCD
в приведенном выше разложении AB->CD отсутствует, что находится в исходном отношении. однако мы можем вывести AB->CD, как показано ниже:
AB->AB =>AB->A и AB->B
теперь AB->A и A->C => AB->C ———1
также AB->B и B-> D => AB -> D ——–2
, объединяя 1 и 2 => AB->CD
, следовательно, мы можем получить недостающее AB->CD из разложенного отношения. следовательно, при разложении зависимость также сохраняется.
Все декомпозиции BCNF гарантируют декомпозицию без потерь, следовательно, приведенная выше декомпозиция также без потерь.
Надеюсь, теперь разложение BCNF будет очищено. Если у вас есть какие-либо сомнения, пожалуйста, не стесняйтесь высказать свои сомнения в разделе комментариев ниже.
Спасибо.
Объявления
Объявления
Нравится:
Нравится Загрузка…
Нормализация — Как разложить отношение R(a,b,c,d,e) со следующими ФД в НФБК?
спросил
Изменено 3 года, 2 месяца назад
Просмотрено 1к раз
У меня есть FD
-
ABC->DE
-
АВ->D
-
DE->ABCE
-
Э->С
Моя пробная версия:
Шаг 1:
-
A+ = A
-
Б+ = В
-
С+ = С
-
Д+ = Д
-
Е+ = ЕС
-
АВ+ = АБД
-
ABC+ = ABCDE
-
Сверху мы получаем ABC, DE — наши возможные ключи
Шаг 2:
-
ABC -> DE
==> нарушений нет. bcoz abc является ключевым. -
AB -> D
==> нарушение. -
(АБД) (СЕ)
- в
(ABD) AB
является потенциальным ключом. Так и в bcnf - в
(CE) C
является потенциальным ключом. Так и есть в bcnf.
- в
Я сделал здесь. Но не в состоянии обрабатывать дальше. После этого возникает путаница, правильный шаг 2 или нет. Кто-нибудь может это решить?
- нормализация
1
В вашей схеме отношений есть три ключа-кандидата: ABC
, ABE
и DE
.
Поскольку, например, AB → D
нарушает НФБК, мы можем разложить исходное соотношение на:
R1(ABD) (с зависимостью AB → D и ключом-кандидатом AB), и R2(ABCE) (с зависимостями E → C и ABC → E и ключами-кандидатами ABC и ABE)
это потому, что мы разлагаем на два отношения, AB+
и R - (AB+) + AB
.