Автор работы: Пользователь скрыл имя, 19 Мая 2012 в 13:02, реферат
Нормализация отношений (таблиц) — одна из основополагающих частей теории реляционных баз данных. Нормализация имеет своей целью избавиться от избыточности в отношениях и модифицировать их структуру таким образом, чтобы процесс работы с ними не был обременён различными посторонними сложностями. При игнорировании такого подхода эффективность проектирования стремительно снижается, что вкупе с прочими подобными вольностями может привести к критическим последствиям. Нормализация отношений — это итерационный обратный процесс декомпозиции начального отношения на несколько более простых отношений меньшей размерности. Под возвратностью процесса понимают то, что операция объединения отношений, полученных в результате декомпозиции, должна дать начальное отношение.
Введение 3
Основные понятия нормализации отношений 4
Нормальные формы 7
Первая нормальная форма (1НФ) 7
Вторая нормальная форма (2НФ) 8
Третья нормальная форма (3НФ) 11
Нормальная форма Бойса-Кодда (НФБК) 14
Четвертая нормальная форма (4НФ) 16
Пятая нормальная форма (5НФ) 18
Доменно-ключевая нормальная форма (ДКНФ) 20
Заключение 21
Список использованной литературы 22
Рассмотрим
еще раз отношение СОТРУДНИКИ-
В
результате мы не сможем
Третья
нормальная форма. (Снова определение
дается в предположении
Отношение
R находится в третьей
Можно
произвести декомпозицию
СОТРУДНИКИ (СОТР_НОМЕР, ОТД_НОМЕР)
Первичный ключ:
СОТР_НОМЕР
Функциональные зависимости:
СОТР_НОМЕР -> ОТД_НОМЕР
ОТДЕЛЫ (ОТД_НОМЕР, СОТР_ЗАРП)
Первичный ключ:
ОТД_НОМЕР
Функциональные зависимости:
ОТД_НОМЕР -> СОТР_ЗАРП
Каждое
из этих двух отношений
Если
отказаться от того
Отношение
R находится в третьей
На
практике третья нормальная
Отношения находятся в НФБК, если каждый детерминант является ключом-кандидатом (А®В) Два или более атрибута или группы атрибутов, которые могут быть ключом, называются ключами-кандидатами. Тот из ключей-кандидатов, который выбирается в качестве ключа называется первичным ключом. Рассмотрим следующий пример схемы отношения:
СОТРУДНИКИ-ПРОЕКТЫ
(СОТР_НОМЕР, СОТР_ИМЯ, ПРО_
Возможные ключи:
СОТР_НОМЕР, ПРО_НОМЕР
СОТР_ИМЯ, ПРО_НОМЕР
Функциональные зависимости:
СОТР_НОМЕР -> CОТР_ИМЯ
СОТР_НОМЕР -> ПРО_НОМЕР
СОТР_ИМЯ -> CОТР_НОМЕР
СОТР_ИМЯ -> ПРО_НОМЕР
СОТР_НОМЕР, ПРО_НОМЕР -> CОТР_ЗАДАН
СОТР_ИМЯ, ПРО_НОМЕР -> CОТР_ЗАДАН
В
этом примере мы предполагаем,
что личность сотрудника
В
соответствии с определением
отношение СОТРУДНИКИ-ПРОЕКТЫ
СОТРУДНИКИ (СОТР_НОМЕР, СОТР_ИМЯ)
Возможные ключи:
СОТР_НОМЕР
СОТР_ИМЯ
Функциональные зависимости:
СОТР_НОМЕР -> CОТР_ИМЯ
СОТР_ИМЯ -> СОТР_НОМЕР
СОТРУДНИКИ-ПРОЕКТЫ
(СОТР_НОМЕР, ПРО_НОМЕР, СОТР_
Возможный ключ:
СОТР_НОМЕР, ПРО_НОМЕР
Функциональные зависимости:
СОТР_НОМЕР, ПРО_НОМЕР -> CОТР_ЗАДАН
Возможна
альтернативная декомпозиция, если
выбрать за основу СОТР_ИМЯ.
В обоих случаях получаемые
отношения СОТРУДНИКИ и
Одному и тому же значению атрибута Номер студента может соответствовать много значений атрибута Специальность. Помимо того, одному и тому значению атрибута Номер студента может соответствовать много значений атрибута Секция.
Такая
зависимость атрибутов
Рассмотрим
пример следующей схемы
ПРОЕКТЫ (ПРО_НОМЕР,ПРО_СОТР, ПРО_ЗАДАН)
Отношение
ПРОЕКТЫ содержит номера
Каждый
кортеж отношения связывает
Многозначные
зависимости. В отношении R (A, B,
C) существует многозначная
В
отношении ПРОЕКТЫ существуют
следующие две многозначные
ПРО_НОМЕР -> -> ПРО_СОТР
ПРО_НОМЕР -> -> ПРО_ЗАДАН
Легко показать, что в общем случае в отношении R (A, B, C) существует многозначная зависимость R.A -> -> R.B в том и только в том случае, когда существует многозначная зависимость R.A -> -> R.C.
Дальнейшая
нормализация отношений,
Теорема Фейджина
Отношение R (A, B, C) можно спроецировать без потерь в отношения R1 (A, B) и R2 (A, C) в том и только в том случае, когда существует MVD A -> -> B | C.
Под
проецированием без потерь
Четвертая
нормальная форма. Отношение R
находится в четвертой
В
нашем примере можно
ПРОЕКТЫ-СОТРУДНИКИ (ПРО_НОМЕР, ПРО_СОТР)
ПРОЕКТЫ-ЗАДАНИЯ (ПРО_НОМЕР, ПРО_ЗАДАН)
Оба
эти отношения находятся в
4NF и свободны от отмеченных
аномалий.
Пятая
нормальная форма связана с зависимостями,
которые имеют несколько
Рассмотрим, например, отношение
СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ (СОТР_НОМЕР, ОТД_НОМЕР, ПРО_НОМЕР)
Предположим,
что один и тот же сотрудник
может работать в нескольких
отделах и работать в каждом
отделе над несколькими
Поэтому
отношение находится в 4NF. Однако
в нем могут существовать
Зависимость
соединения Отношение R (X, Y, ..., Z)
удовлетворяет зависимости
Пятая нормальная форма. Отношение R находится в пятой нормальной форме (нормальной форме проекции-соединения - PJ/NF) в том и только в том случае, когда любая зависимость соединения в R следует из существования некоторого возможного ключа в R.
Введем
следующие имена составных
СО = {СОТР_НОМЕР, ОТД_НОМЕР}
СП = {СОТР_НОМЕР, ПРО_НОМЕР}
ОП = {ОТД_НОМЕР, ПРО_НОМЕР}
Предположим,
что в отношении СОТРУДНИКИ-
* (СО, СП, ОП)
На
примерах легко показать, что
при вставках и удалениях
СОТРУДНИКИ-ОТДЕЛЫ (СОТР_НОМЕР, ОТД_НОМЕР)
СОТРУДНИКИ-ПРОЕКТЫ (СОТР_НОМЕР, ПРО_НОМЕР)
ОТДЕЛЫ-ПРОЕКТЫ (ОТД_НОМЕР, ПРО_НОМЕР)
Пятая
нормальная форма - это последняя
нормальная форма, которую можно
получить путем декомпозиции. Ее условия
достаточно нетривиальны, и на практике
5NF не используется. Заметим, что зависимость
соединения является обобщением как многозначной
зависимости, так и функциональной зависимости.
ДКНФ – нормальная форма, которая свободна от аномалий любого типа. Когда мы приводим отношения к этой форме, мы знаем, что в этом случае даже скрытые аномалии, связанные с пятой нормальной формой, возникнуть не могут.
В 1981г. Фагин опубликовал статью, в которой он определил доменно–ключевую нормальную форму. Он показал, что отношение в ДКНФ не имеет аномалий модификации и, любое отношение, не имеющее аномалий модификации, должно находиться в ДКНФ. Это открытие положило конец введению нормальных форм, и теперь в нормальных формах более высокого порядка нет необходимости.