![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Нормализация – это формальный метод анализа отношений на основе их первичного ключа (или потенциальных ключей, как в случае нормальной формы Бойса–Кодда) и существующих функциональных зависимостей. Он включает ряд правил, которые могут использоваться для проверки отдельных отношений таким образом, чтобы вся база данных могла быть нормализована до желаемой степени нормализации..
Зачастую нормализация осущ-ся в несколько последовательно выполняющихся этапов, каждый из которых соответствует некоторой нормальной форме, обладающей известными свойствами. В ходе нормализации формат отношений становится все более строгим и менее уязвимым по отношению к аномалиям обновления.
Первая нормальная форма (1 НФ). Перед обсуждением первой нормальной формы целесообразно предварительно дать определение того состояния, которое предшествует ей.
Ненормализованная форма – таблица, содержащая одну или несколько повторяющихся групп данных
Первая нормальная форма (1НФ) – отношение, в котором на пересечении каждой строки и каждого столбца содержится только одно значение.
На исходном этапе таблица находится в ненормализованной форме (ННФ) и часто называется ненормализованной таблицей. Для преобразования ненормализованной таблицы в первую нормальную форму (1НФ) в исходной таблице следует найти и устранить все повторяющиеся группы данных. Повторяющейся группой называется группа, состоящая из одного и более атрибутов таблицы, в которой возможно наличие нескольких значений для единственного значения ключевого атрибута таблицы.
В первом подходе повторяющиеся группы устраняются путем ввода соответствующих данных в пустые столбцы строк с повторяющимися данными. Иначе говоря, пустые места при этом заполняются дубликатами неповторяющихся данных. Этот подход часто называют “выравниванием” (“flattening”) таблицы. Полученная в результате этих действий таблица, которая теперь будет называться отношением, содержит атомарные (или единственные) значения на пересечении каждой строки с каждым столбцом, а потому находится в первой нормальной форме. В результате такого подхода в полученное отношение вносится некоторая избыточность данных, которая в ходе дальнейшей нормализации будет устранена.
Пример: Исходная ненормализованная (то есть не являющаяся правильным представлением некоторого отношения) таблица:
Сотрудник | Номер телефона |
Иванов И. И. | 283-56-82 390-57-34 |
Петров П. П. | 708-62-34 |
Таблица, приведённая к 1NF
Сотрудник | Номер телефона |
Иванов И. И. | 283-56-82 |
Иванов И. И. | 390-57-34 |
Петров П. П. | 708-62-34 |
Во втором подходе один атрибут или группа атрибутов назначаются ключом ненормализованной таблицы, а затем повторяющиеся группы изымаются и помещаются в отдельные отношения вместе с копиями ключа исходной таблицы. Далее в новых отношениях устанавливаются первичные ключи.
Вторая нормальная форма (2НФ). Вторая нормальная форма применяется к отношениям с составными ключами, т.е. к таким отношениям, первичный ключ которых состоит из двух и более атрибутов. Дело в том, что отношение с первичным ключом на основе единственного атрибута всегда находится, по крайней мере, в 2НФ
2НФ – отношение, которое находится в первой нормальной форме и каждый атрибут которого, не входящий в состав первичного ключа, характеризуется полной функциональной зависимостью от этого первичного ключа.
Нормализация 1НФ-отношений с образованием 2НФ-отношений включает устранение частичных зависимостей. Если в отношении между атрибутами существует частичная зависимость, то функционально-зависимые атрибуты удаляются из него и помещаются в новое отношение вместе с копией их детерминанта.
Пример: Пусть в следующем отношении первичный ключ образует пара атрибутов {Сотрудник, Должность}:
Сотрудник | Должность | Зарплата | Наличие компьютера |
Гришин | Кладовщик | Нет | |
Васильев | Программист | Есть | |
Иванов | Кладовщик | Нет |
Зарплату сотруднику каждый начальник устанавливает сам (хотя её границы зависят от должности). Наличие же компьютера у сотрудника зависит только от должности, то есть зависимость от первичного ключа неполная.
В результате приведения к 2NF получаются два отношения:
Сотрудник | Должность | Зарплата |
Гришин | Кладовщик | |
Васильев | Программист | |
Иванов | Кладовщик |
Должность | Наличие компьютера |
Кладовщик | Нет |
Программист | Есть |
Дата публикования: 2015-10-09; Прочитано: 731 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!