- БЦНФ је напредна верзија 3НФ. Строжије је од 3НФ.
- Табела је у БЦНФ ако је свака функционална зависност Кс → И, Кс супер кључ табеле.
- За БЦНФ, табела треба да буде у 3НФ, а за сваки ФД, ЛХС је супер кључ.
Пример: Претпоставимо да постоји компанија у којој запослени раде у више одељења.
јава стринг за цхар
Табела ЗАПОСЛЕНИ:
ЕМП_ИД | ЕМП_ЦОУНТРИ | ЕМП_ДЕПТ | ДЕПТ_ТИПЕ | ЕМП_ДЕПТ_НО |
---|---|---|---|---|
264 | Индија | Дизајнирање | Д394 | 283 |
264 | Индија | Тестирање | Д394 | 300 |
364 | УК | Продавнице | Д283 | 232 |
364 | УК | Развој | Д283 | 549 |
У горњој табели функционалне зависности су следеће:
EMP_ID → EMP_COUNTRY EMP_DEPT → {DEPT_TYPE, EMP_DEPT_NO}
Кључ кандидата: {ЕМП-ИД, ЕМП-ДЕПТ}
Табела није у БЦНФ јер ни ЕМП_ДЕПТ ни ЕМП_ИД сами нису кључеви.
Да бисмо дату табелу претворили у БЦНФ, разлажемо је у три табеле:
ЕМП_ЦОУНТРИ табела:
ЕМП_ИД | ЕМП_ЦОУНТРИ |
---|---|
264 | Индија |
264 | Индија |
ЕМП_ДЕПТ табела:
ЕМП_ДЕПТ | ДЕПТ_ТИПЕ | ЕМП_ДЕПТ_НО |
---|---|---|
Дизајнирање | Д394 | 283 |
Тестирање | Д394 | 300 |
Продавнице | Д283 | 232 |
Развој | Д283 | 549 |
ЕМП_ДЕПТ_МАППИНГ табела:
ЕМП_ИД | ЕМП_ДЕПТ |
---|---|
Д394 | 283 |
Д394 | 300 |
Д283 | 232 |
Д283 | 549 |
Функционалне зависности:
EMP_ID → EMP_COUNTRY EMP_DEPT → {DEPT_TYPE, EMP_DEPT_NO}
Кључеви кандидата:
За први сто: ЕМП_ИД
За другу табелу: ЕМП_ДЕПТ
За трећу табелу: {ЕМП_ИД, ЕМП_ДЕПТ}
Сада, ово је у БЦНФ-у јер је леви део обе функционалне зависности кључ.