Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД вопросы 1-15.docx
Скачиваний:
9
Добавлен:
01.04.2025
Размер:
248.72 Кб
Скачать

14. Понятие нормальных форм в отношении. Особенности приведения отношений к 1nf, 2nf, 3nf.

При разработке БД выделяют уровни моделирования: Предметная область, Модель предметной области, Логическая модель данных, Физическая модель данных, Собственно БД и приложения.

Качественная БД должна удовлетворять условиям:

  • Адекватность БД предметной области

  • Легкость разработки и сопровождения БД

  • Скорость выполнения операций обновления данных (вставка, обновление, удаление)

  • Скорость выполнения операций выборки данных

Первая нормальная форма (1НФ (Первая Нормальная Форма)) - это обычное отношение. Согласно нашему определению отношений, любое отношение автоматически уже находится в 1НФ. Отношение в 1НФ обладает свойствами:

  • В отношении нет одинаковых кортежей.

  • Кортежи не упорядочены.

  • Атрибуты не упорядочены.

  • Все значения атрибутов атомарны.

Недостатки 1НФ: отношения не удовлетворяют выбранным критериям – имеются аномалии обновления, для поддержания целостности БД требуется разработка сложных триггеров.

2Нф (Вторая Нормальная Форма)

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

Замечание. Если потенциальный ключ отношения является простым, то отношение автоматически находится в 2НФ.

Недостатки 2НФ: Отношения "лучше", чем в 1НФ, но остается часть аномалий обновления и требуются триггеры, поддерживающие целостность БД.

3Нф (Третья Нормальная Форма)

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

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

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

Алгоритм нормализации описывается следующим образом.

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

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

Шаг 3 (Приведение к 3НФ). Если в некоторых отношениях обнаружена зависимость некоторых неключевых атрибутов от других неключевых атрибутов, то проводим декомпозицию этих отношений следующим образом: те неключевые атрибуты, которые зависят от других неключевых атрибутов выносятся в отдельное отношение. В новом отношении ключом становится детерминант функциональной зависимости.

Корректность процедуры нормализации (декомпозиция без потери информации) доказывается теоремой Хеза.