Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
m_Rdb_готовый.docx
Скачиваний:
21
Добавлен:
17.03.2016
Размер:
702.25 Кб
Скачать

Нормальна форма Бойса-Кодда

В області реляційних БД Коддом доведено твердження про те, що більшість аномалій в БД будуть усунені в разі належної декомпозиції кожного відношення в нормальну форму Бойса - Кодда (НФБК).

DEF. Відношення знаходиться в НФБК тоді і лише тоді, коли воно знаходиться в 3НФ, і кожен його детермінант є так само і можливим первинним ключем.

Відношення ВИКЛАДАЧ_ПРЕДМЕТ не знаходиться в НФБК. Для доказу порівняємо можливі ключі і детермінанти (таблиця. 3).

Проте РБД ВИКЛАДАЧ_ПРЕДМЕТ, що складається з шести відношень, знаходиться в НФБК, оскільки кожне її відношення знаходиться в НФБК (див. таблиці. 4).

Таблиця 3

Можливі ключі

Детермінанти

<Назва предмету, Особистий номер>

<Назва предмету>

<Посада>

<Кафедра>

<Особистий номер>

<Телефон>

Таблиця 4

Відношення

Можливі ключі

Детермінанти

ПРЕДМЕТ

<Назва предмету>

<Назва предмету>

ТАРИФНА_СІТКА

<Посада>

<Посада>

ТЕЛ_ДОВ1

<Кафедра>

<Кафедра>

ВИКЛАДАЧ

<Особистий номер>

<Особистий номер>

ТЕЛ_ДОВ2

<Телефон>

<Телефон>

НАВАНТАЖЕННЯ

<Назва предмету, Особистий номер>

<Назва предмету, Особистий номер>

Може здатися, що будь-яке відношення, що знаходиться в 3НФ знаходиться і в НФБК. Проте це не так. Приклади слід шукати у відношеннях з декількома можливими первинними ключами.

Розглянемо процес здачі студентом сесії. Структура відношення, що відображує це явище, може мати вигляд:

УСПІШНІСТЬ = <№Зал.Кн., ID_студента, Дисципліна, Дата, Оцінка>

Під ID_студента розуміється деякий номер, який привласнений студентові під час вступу, наприклад, в деканаті (залікова книжка може бути загублена, видана нова з іншим номером, а ID не міняється протягом всього періоду навчання).

Структура ФЗ в цьому випадку зображена на рис. 8.

Множина ВПК: {<№Зал.Кн.>, < ID_студента >}

У відношенні успішність немає ні функціонально неповних, ні транзитивних залежностей. Дійсно, взаємно-однозначна ФЗ №Зал.Кн. ID _Студента не може бути ідентифікована як неповна, оскільки не є залежністю між неключовими атрибутами.

Рис. 8

Таким чином, відношення УСПІШНІСТЬ знаходиться в 3НФ. В той же час воно не знаходиться в НФБК, оскільки безліч ВПК і Детермінантів не збігається (таблиця. 5).

Таблиця 5

Можливі ключі

Детермінанти

<№Зал.Кн., Дисципліна, Дата>

<№Зал.Кн., Дисципліна, Дата>

<ID_студента, Дисципліна, Дата>

<ID_студента, Дисципліна, Дата>

<ID_студента>

<№Зал.Кн.>

Щоб привести відношення УСПІШНІСТЬ до НФБК слід розділити його два одним з наступних способів:

СТУДЕНТ1 = <№Зал.Кн., ID_студента >

УСПІШНІСТЬ = <№Зал.Кн., Дисципліна, Дата, Оцінка>

або

СТУДЕНТ2 = <ID_студента, №Зал.Кн.>

УСПІШНІСТЬ = <ID_студента, Дисципліна, Дата, Оцінка>

З точки зору теорії нормалізації ці схеми рівнозначні, тому слід робити остаточний вибір з додаткових міркувань, наприклад, якщо при втраті залікових книжок їх відновлюють під іншим номером, то переважно друга схема.

Відзначимо, що у будь-якому випадку ми відмовилися від одного з напрямів взаємно-однозначної відповідності, інакше нам було б потрібно обидва відношення СТУДЕНТ1 і СТУДЕНТ2.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]