Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mt11-Курс лекций.doc
Скачиваний:
9
Добавлен:
05.12.2018
Размер:
265.73 Кб
Скачать

3. Третья нормальная форма

Отношение R находится в третьей нормальной форме (3НФ), если находится во 2НФ и каждый неключевой атрибут не является транзитивно зависимым от первичного ключа.

Табл.2. ПРОЖИВАНИЕ (КодСтудента, Общежитие, Плата)

КодСтудента

Общежитие

Плата

100

9

120

110

4

110

111

9

120

121

4

110

132

8

100

142

5

100

Для табл.2 также при удалении студента с кодом «142» будет потеряна информация о плате в общежитии «№5» и нельзя ввести данные по отсутствующему общежитию, пока не будет добавлен студент. В данном случае имеют место функциональные зависимости КодСтудента→Общежитие и Общежитие→Плата, образуя транзитивную зависимость КодСтудента→Общежитие→Плата.

Основной причиной возникновения аномалий является транзитивная зависимость неключевых атрибутов от первичного ключа.

УСТРАНЕНИЕ: декомпозиция отношения на два новых отношения СТУДЕНТ-ПРОЖИВАНИЕ (КодСтудента, Общежитие) и ОБЩЕЖИТИЕ-ПЛАТА (Общежитие, Плата)

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

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

Отношение R находится в нормальной форме Бойса-Кодда (БКНФ) в том и только в том случае, если каждый детерминант является возможным ключом.

Табл.3. НаучныйРуководитель (КодСтудента, УчебныйКурс, Преподаватель)

КодСтудента

УчебныйКурс

Преподаватель

100

Физика

Бойль

110

Химия

Клапейрон

111

Физика

Мариотт

121

Физика

Бойль

133

Биология

Дарвин

133

Химия

Клапейрон

Требования к отношению «НаучныйРуководитель»:

  1. Студент может посещать один или несколько учебных курсов.

  2. На учебном курсе может быть несколько преподавателей.

  3. Каждый преподаватель может осуществлять научное руководство над студентом только в рамках одного учебного курса.

Определение: Детерминант – любой атрибут, от которого полностью функционально зависит некоторый другой атрибут.

Для табл.3: при удалении студента с кодом «133» будет потеряна информация об учебном курсе «Биология» и нельзя ввести данные по отсутствующему учебному курсу, пока не будет добавлен студент.

В данном случае имеются два ключа-кандидата: КодСтудента-УчебныйКурс и КодСтудента-Преподаватель. Преподаватель является детерминантом атрибута УчебныйКурс (без преподавателя не может существовать учебный курс, следовательно учебный курс полностью функционально зависит от преподавателя).

Основной причиной возникновения аномалий является то, что детерминант «Преподаватель» в рассматриваемом отношении не является ключом.

УСТРАНЕНИЕ: декомпозиция отношения на два новых отношения СТУДЕНТ-РУКОВОДИТЕЛЬ (КодСтудента, Преподаватель) и РУКОВОДИТЕЛЬ-УЧЕБНЫЙКУРС (Преподаватель, УчебныйКурс)

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