Изменения

Перейти к: навигация, поиск

Нормальные формы: первая и вторая

20 байт добавлено, 02:08, 10 января 2021
м
Изменени небольших опечаток
* технической/алгоритмической сложность внесения или изменения данных
}}
Переход в 1НФ не уменьшает выразительную способность "«разрешенных" » отношений, но при этом исправляет только самые простые аномалии, поэтому в отношениях в 1НФ, не приведенных хотя бы в во 2НФ, могут возникать аномалии более сложного вида.
{{Определение
=== Запрещенные конструкции ===
В Во 2НФ запрещено, чтобы какие-либо атрибуты функционально зависели от части ключа. Рассмотрим следующий пример, уже приведенный в 1НФ:
{| class="wikitable"
! CourseId !! Year || Lecturer !! Exam
Отношения в 1НФ имеют аномалии вставки и удаления (нельзя хранить информацию про экзамен, не зная лектора) и изменения (можно изменить информацию про экзамен по предмету только для одного года). От этих аномалий можно избавиться, если убрать функциональные зависимости от части ключа.
=== Приведение в во 2НФ ===
Отношение в 1НФ приводится к 2НФ декомпозицией по &laquo;мешающим&raquo; функциональным зависимостям. На примере выше такая зависимость только одна &ndash; <tex>\mathrm{CourseId} \rightarrow \mathrm{Exam}</tex>.
|}
В нем есть две базовые функциональные зависимости: <tex>\mathrm{CourseId}, \mathrm{Year} \rightarrow \mathrm{Lecturer}</tex> и <tex>\mathrm{Lecturer} \rightarrow \mathrm{Phone}</tex>. Несмотря на то, что данное отношение находится в во 2НФ, в нем все еще имеют место все три аномалии 1НФ &ndash; аномалии вставки, удаления и изменения (информация о телефонах и о преподавании никак не разделена). Для исправления аномалий 2НФ отношение переводят в [[Нормальные_формы:_третья_и_Бойса-Кодда|третью нормальную форму и выше]].
12
правок

Навигация