Отношение находится во 2НФ тогда и только тогда, когда оно находится в 1НФ и каждое неключевое поле зависит от всего первичного ключа.

Например, рассмотрим отношение Успеваемость (НомерЗачетнойКнижки, Фамилия, Имя, Отчество, Дисциплина, Оценка).

Если первичным ключом здесь назначить НомерЗачетнойКнижки, то от него не будет зависеть поле Дисциплина. В этом случае отношение не находится во 2НФ.

Можно тогда в качестве первичного ключа взять множество полей {НомерЗачетнойКнижки, Дисциплина}. От такого ключа зависят все поля, но поля Фамилия, Имя, Отчество зависят только от поля НомерЗачетнойКнижки.

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

Чтобы получить отношения во 2НФ, произведем разбиение на два отношения:

Студенты (НомерЗачетнойКнижки, Фамилия, Имя, Отчество)

Успеваемость1 (НомерЗачетнойКнижки, Дисциплина, Оценка).

 

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

Например, рассмотрим отношение Студенты (НомерЗачетнойКнижки, Фамилия, Имя, Отчество, Группа, Специальность). Тогда получается, что поле Специальность зависит от первичного ключа не напрямую, а через поле Группа.

Проведем разбиение на два отношения:

Группы (КодГруппы, Специальность) и

Студенты1 (НомерЗачетнойКнижки, Фамилия, Имя, Отчество, КодГруппы)

Полученные отношения в 3НФ.

 

Если отношение не находится ни во 2НФ, ни в 3НФ, существует избыточность, которая приводит к нарушению целостности данных.








Дата добавления: 2015-10-19; просмотров: 1089;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.