|
|||||
Отношение находится во 2НФ тогда и только тогда, когда оно находится в 1НФ и каждое неключевое поле зависит от всего первичного ключа.Дата добавления: 2014-11-24 | Просмотров: 1670
Например, рассмотрим отношение Успеваемость (НомерЗачетнойКнижки, Фамилия, Имя, Отчество, Дисциплина, Оценка). Если первичным ключом здесь назначить НомерЗачетнойКнижки, то от него не будет зависеть поле Дисциплина. В этом случае отношение не находится во 2НФ. Можно тогда в качестве первичного ключа взять множество полей {НомерЗачетнойКнижки, Дисциплина}. От такого ключа зависят все поля, но поля Фамилия, Имя, Отчество зависят только от поля НомерЗачетнойКнижки. И при таком первичном ключе отношение не находится во 2НФ. Чтобы получить отношения во 2НФ, произведем разбиение на два отношения: Студенты (НомерЗачетнойКнижки, Фамилия, Имя, Отчество) Успеваемость1 (НомерЗачетнойКнижки, Дисциплина, Оценка).
Отношение находится в 3НФ тогда и только тогда, когда оно находится во 2НФ и каждое неключевое поле напрямую зависит от первичного ключа. Например, рассмотрим отношение Студенты (НомерЗачетнойКнижки, Фамилия, Имя, Отчество, Группа, Специальность). Тогда получается, что поле Специальность зависит от первичного ключа не напрямую, а через поле Группа. Проведем разбиение на два отношения: Группы (КодГруппы, Специальность) и Студенты1 (НомерЗачетнойКнижки, Фамилия, Имя, Отчество, КодГруппы) Полученные отношения в 3НФ.
Если отношение не находится ни во 2НФ, ни в 3НФ, существует избыточность, которая приводит к нарушению целостности данных. |
При использовании материала ссылка на сайт Конспекта.Нет обязательна! (0.052 сек.) |