Проектирование схемы БД в среде ERwin. Проблема избыточности данных. Проблема обновления данных. Проблема удаления данных., страница 2

Основой процесса нормализации является, предложенный Э. Коддом в рамках реляционной теории аппарат, называемый нормализацией отношении. Коддом были выделены три формы нормальных отношений, которые в дальнейшем были доработаны, и предложен механизм перехода от формы к форме. Кроме того, были добавлены еще три специальные формы. Итого, существует шесть форм нормальных отношений. Но, как правило, необходимо и достаточно привести базу данных к третьей нормальной форме.

Таблица считается нормализованной на определенном уровне, когда она удовлетворяет условиям, накладываемым соответствующей формой нормализации. Процесс нормализации представляет собой последовательное изменение структуры таблиц до тех пор, пока она не будет удовлетворять требованиям последней формы нормализации.

Существуют следующие шесть форм нормализации:

-  первая нормальная форма  - вторая нормальная форма 

-  третья нормальная форма 

-  нормальная форма Бойса-Кодда 

-  четвертая нормальная форма 

-  пятая нормальная форма ИЛИ нормальная форма проекции-соединен)

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

-  Функциональной зависимостью между атрибутами А и В называется такая зависимость, при которой каждому значению А в любой момент времени соответствует одно единственное значение В из всех возможных. В случае наличия в таблице составного ключа используется понятие полной функциональной зависимости.

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

-  Транзитивная зависимость наблюдается в том случае, если один из двух неключевых атрибутов функционально зависит от ключа, а другой неключевой атрибут зависит от первого.

-  Понятие нетранзитивной зависимости обратно понятию транзитивной зависимости. То есть нетранзитивная зависимость наблюдается в том случае, если ни один из неключевых атрибутов функционально не зависит от любого другого неключевого атрибута.

-  Многозначная зависимость. Атрибут А однозначно определяет атрибут В, если для каждого значения атрибута А существует хорошо определенное множество соответствующих значений атрибута В.

Первая нормальная форма

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

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

Вторая нормальная форма

Для того чтобы понять, что представляет собой таблица, приведенная ко второй нормальной форме, необходимо обратиться к понятиям функциональной зависимости и полной функциональной зависимости.

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

Другими словами, таблица, находящаяся но второй нормальной форме, должна удовлетворять следующим правилам:

-  таблица должна содержать данные об одном типе объектов;