Дайте определения функциональной и многозначной зависимостей.

Таблица находится в нормальной форме Бойса-Кодда (НФБК), если любая функциональная зависимость между его полями сводится к полной функциональной зависимости от потенциального первичного ключа.

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

Приведение к третьей нормальной форме

Таблица находится во 2НФ, если она удовлетворяет определению 1НФ и все ее поля, не входящие в первичный ключ, связаны полной функциональной зависимостью с первичным ключом.

Приведение ко второй нормальной форме

Приведение к первой нормальной форме

 

Когда поле в данной записи содержит более одного значения для каждого вхождения первичного ключа, такие группы данных называются повторяющимися группами. 1НФ не допускает наличия таких многозначных полей.

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

Не находится в 1НФ таблица «Сессия». Мы ее привели к 1НФ с помощью процесса вставки и получили универсальное отношение «Сессия». Для этого универсального отношения в качестве первичного ключа можно выбрать совокупность полей: ФИО Студента, Дисциплина, Семестр, Форма отчетности, т.е. первичный ключ является составным.

 

2НФ применяется к отношениям с составными ключами.

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

Универсальное отношение «Сессия» не удовлетворяет требованиям 2НФ. Эта таблица имеет составной первичный ключ (ФИО СТУДЕНТА, СЕМЕСТР, ДИСЦИПЛИНА, ФОРМА ОТЧЕТНОСТИ) и содержит множество неключевых атрибутов (ОЦЕНКА, КОЛИЧЕСТВО ЧАСОВ, ФИО ПРЕПОДАВАТЕЛЯ), зависящих лишь от той или иной части первичного ключа. Например, атрибуты КОЛИЧЕСТВО ЧАСОВ и ФИО ПРЕПОДАВАТЕЛЯ зависят только от атрибутов СЕМЕСТР, ДИСЦИПЛИНА, ФОРМА ОТЧЕТНОСТИ. Следовательно, эти атрибуты не связаны с первичным ключом полной функциональной зависимостью.

Ко 2НФ приведены все разделенные таблицы.

 

Таким образом, третий этап процесса приведения таблиц к нормальной форме состоит в удалении всех неключевых атрибутов, которые зависят от других неключевых атрибутов. Каждый неключевой атрибут должен быть логически связан с атрибутом (атрибутами), являющимся первичным ключом.

Таблица «УЧЕБНЫЙ ПЛАН» не находится в 3НФ. Для приведения ее к 3НФ необходимо разбить таблицу на две: «УЧЕБНЫЙ ПЛАН» и «КАДРОВЫЙ СОСТАВ»:

 


 

Учебный план
           
Дисциплина Семестр Количество часов Форма отчетности Преподаватель
зачет
зачет
экзамен
зачет
экзамен
зачет
экзамен
зачет
зачет
экзамен
экзамен
экзамен
зачет
экзамен

 

Кадровый состав  
     
ФИО преподавателя Должность
1. Волков Г.И. Ст. преп.
2. Зайчиков А.А. Ассистент
3. Карпов К.Ю. Преп.
4. Незабудкина З.П. Профессор
5. Раков И.И. Ст. преп.
6. Рыбин К.К. Преп.
7. Соболев И.Г. Доцент
8. Цветкова А.Ю. Доцент

 

В таблице «УЧЕБНЫЙ ПЛАН» существует функциональная зависимость между атрибутами КОЛИЧЕСТВО ЧАСОВ и ФИО ПРЕПОДАВАТЕЛЯ, с одной стороны, и совокупностью атрибутов СЕМЕСТР, ДИСЦИПЛИНА и ФОРМА ОТЧЕТНОСТИ – с другой. Эта тройка атрибутов может выступать в качестве первичного ключа, который представлен в таблице атрибутом ПОРЯДКОВЫЙ НОМЕР.

 

Нормальная форма Бойса – Кодда (НФБК)

 

Теоретики реляционных систем Кодд и Бойс обосновали и предложили более строгое определение для 3НФ, которое учитывает, что в таблице может быть несколько потенциальных первичных ключей.

В соответствии с этой формулировкой таблица «УЧЕБНЫЙ ПЛАН» находится в НФКБ или в 3НФ.


Вопросы для самоконтроля

1. Дайте определение нормализации. Для чего ее необходимо проводить?

2. Что такое универсальное отношение? Расскажите о проблемах использования универсального отношения.

4. Сколько существует видов нормальных форм? К какой нормальной форме мы стремимся на практике при проектировании базы данных?