Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Контрольные для управления данными / для типографии методическое пособие по БД.doc
Скачиваний:
97
Добавлен:
20.02.2016
Размер:
670.72 Кб
Скачать
    1. 7.3 Проектирование реляционных баз данных с использованием нормализации

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

Нормализация отношений - это процесс построения оптимальной структуры таблиц и связей в реляционной БД (процесс уменьшения избыточности информации).

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

Цели, которые преследуются при построении наиболее эффективной структуры данных:

1) обеспечить быстрый доступ к данным;

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

3) обеспечить целостность данных, то есть чтобы при изменении одних объектов автоматически происходило соответствующее изменение связанных с ними объектов.

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

В теории реляционных баз данных обычно выделяется следующая последовательность нормальных форм:

  • первая нормальная форма (1НФ);

  • вторая нормальная форма (2НФ);

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

  • нормальная форма Бойса-Кодда (НФБК);

  • четвертая нормальная форма (4НФ);

  • пятая нормальная форма, или нормальная форма проекции-соединения (5НФ).

Основные свойства нормальных форм:

  • каждая следующая нормальная форма в некотором смысле лучше предыдущей;

  • при переходе к следующей нормальной форме свойства предыдущих нормальных свойств сохраняются.

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

      1. 7.3.1 Функциональные зависимости

Функциональная зависимость описывает связь между атрибутами и является одним из основных понятий нормализации. Предположим, что реляционная схема имеет атрибуты (A, B, C,…, Z) и вся база может быть представлена в виде одного универсального отношения R=(A, B, C,…, Z). Следовательно, каждый атрибут в базе имеет уникальное имя.

Если A и B – атрибуты некоторого отношения R, и каждое значение А связано с одним и только одним значением В (причем каждый из атрибутов может состоять из одного или нескольких атрибутов), то атрибут В функционально зависим от атрибута А (ВА).

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

Транзитивная зависимость для атрибутов A, B и C некоторого отношения означает следующее: если АВ и ВС, то С транзитивно зависит от атрибута А через атрибут В (при условии, что А функционально не зависит от В или С).

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

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

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

1) таблица не должна иметь повторяющихся записей;

2) в таблице должны отсутствовать повторяющиеся группы полей;

3) каждое поле должно быть семантически неделимым.

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

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

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

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

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

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

Различие между 3НФ и НФБК заключается в том, что функциональная зависимость АВ допускается в отношении 3НФ, если атрибут В является первичным ключом, а атрибут А не обязательно является потенциальным ключом. В отношении НФБК эта зависимость допускается только тогда, когда атрибут А является потенциальным ключом. Следовательно, НФБК является более строгой версией 3НФ, поскольку каждое отношение НФБК является 3НФ, но не всякое отношение 3НФ является НФБК.

Отношения находятся в НФБК только в том случае, если каждый его детерминант является потенциальным ключом.

Четвертая нормальная форма (4НФ) – отношение в НФБК, которое не содержит нетривиальных многозначных зависимостей.

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

Многозначная зависимость может быть дополнительно определена как тривиальная или нетривиальная. Многозначная зависимость АВ некоторого отношения R определяется как тривиальная, если атрибут В является подмножеством атрибута А или . И наоборот, многозначная зависимость определяется как нетривиальная, если ни то ни другое условие не выполняется. Тривиальная многозначная зависимость не накладывает никаких ограничений на данное отношение, а нетривиальная – накладывает.

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

Пятая нормальная форма (5НФ), которая также называется проективно-соединительной нормальной формой, означает, что отношение в такой форме не имеет зависимостей соединения. Отношение R с подмножеством атрибутов А,В,…,Z удовлетворяет зависимости соединения, если каждое допустимое значение R равно соединению его проекций на подмножества А,В,…,Z.