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

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

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

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

Вопросы нормализации отношений подробно представлены в литературных источниках [1-6]. В данном учебном пособии только кратко остановимся на этой проблеме.

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

В данном пособии рассмотрим шесть нормальных форм. Эти формы подчиняются правилу вложенности и обозначаются, соответственно, 1НФ, 2НФ, 3НФ, НФБК, 4НФ, 5НФ (рис. 3.3).

Рис. 3.3. Нормальные формы отношений

Приведем несколько определений, которые нам понадобятся для дальнейшего изложения.

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

Функциональная зависимость. В отношении R с атрибутами X и Y атрибут Y функционально зависит от атрибута X (X и Y могут быть составными атрибутами, т.е. реально состоять из нескольких атомарных атрибутов) в том и только в том случае, если каждому значению X соответствует в точности одно значение Y. Будем обозначать эту зависимость следующим образом: R.X ® R.Y

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

Транзитивная зависимость. В отношении R с атрибутами X, Y, Z функциональная зависимость R.X ® R.Y называется транзитивной, если существует такой атрибут Z, что имеются функциональные зависимости R.X ® R.Z и R.Z ® R.Y.

Неключевой атрибут. Неключевым атрибутом называется любой атрибут отношения, не входящий в состав первичного ключа.

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

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

Многозначная зависимость. В отношении R(A,B,C) существует многозначная зависимость атрибута B от атрибута A (введем обозначение: R.A ®® R.B) в том и только в том случае, если множество значений B, соответствующее паре значений A и C, зависит только от A и не зависит от C.

Обычно многозначные зависимости появляются в отношении парами. Другими словами, если в отношении R(A,B,C) существует многозначная зависимость R.A ®® R.B, то обязательно имеется многозначная зависимость R.A ®® R.C. Введем следующее обозначение пары многозначных зависимостей: R.A ®® R.B|R.C.

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

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

Теорема Хеза (Heath). Отношение R(A,B,C) можно спроецировать без потерь в отношения R1(A,B) и R2(A,C), если R удовлетворяет функциональной зависимости A®B.

Теорема Фейджина (Fagin). Отношение R(A,B,C) можно спроецировать без потерь в отношения R1(A,B) и R2(A,C) в том и только в том случае, когда существует пара многозначных зависимостей R.A ®® R.B | R.C. (Теорема Фейджина является более строгой версией теоремы Хеза.)

Зависимость соединения. Отношение R(X,Y,…,Z) удовлетворяет зависимости соединения на атрибутах X,Y,…,Z в том и только в том случае, когда отношение R восстанавливается без потерь путем соединения своих проекций на атрибутах X,Y,…,Z.

Будем обозначать зависимость соединения отношения R(X,Y,…,Z) на атрибутах X,Y,…,Z следующим образом: *(X,Y,…,Z).

Зависимость соединения является обобщением понятий многозначной зависимости и функциональной зависимости.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: