Смекни!
smekni.com

АИС почтовое отделение (стр. 3 из 8)

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

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

Атрибут В функционально зависит о атрибута А, если каждому значению А соответствует в точности одно значение В (обозначение: А®В). Функциональная взаимозависимость атрибутов А и В означает, что имеется взаимнооднозначное соответствие, т.е. А®В и В®А (А«В). Функциональная частичная зависимость – зависимость неключевого атрибута от части составного ключа. Полная функциональная зависимость – зависимость неключевого атрибута от всего составного ключа.

Атрибут С зависит от атрибута А транзитивно, если для атрибутов А,В,С выполняется условие А®В и В®С, но обратная зависимость отсутствует.

Атрибут В многозначно зависит от атрибута А, если каждому значению А соответствует множество значений В, не связанных с другими атрибутами. Эти зависимости могут быть «один ко многим», «многие к одному» или «многие ко многим» (1:m, m:1, m:m соответственно), обозначаемые соответственно АÞВ, ВÞА и АÛВ.

Два и более атрибута называются взаимнонезависимыми, если не один из этих атрибутов не является функционально-зависимым от других атрибутов (В не зависит от А: АØ®В; взаимнонезависимы: АØ =В).

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

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

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

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

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

4. усиленная нормальная форма или нормальная форма Бойса-Кодда (БКНФ);

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

6. пятая нормальная форма (5НФ).

Отношение находится в 1НФ, если все его атрибуты являются простыми (имеют единственное значение). Исходное отношение строится таким образом, чтобы оно было в 1НФ.

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

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

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

4НФ. В произвольном отношении R(A,B,C) может одновременно существовать многозначная зависимость АÞВ и АÞС. Это обстоятельство обозначим как АÞВ|С, т.е. атрибуты В и С многозначно зависят от А.

Теорема Фейджина: отношение R(A,B,C) можно спроецировать без потерь в отношение R1(A,B) и R2(A,C) в том и только в том случае, когда существует зависимость АÞВ|С.

Отношение R находится в 4НФ в том и только в том случае, когда существует многозначная зависимость АÞВ, а все остальные атрибуты R функционально зависят от А.

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

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

Отношение R находится в 5НФ или нормальной форме проекции-соединения (PJ/NF) в том и только в том случае, когда любая зависимость соединения в R следует из существования некоторого возможного ключа в R.

Эта форма является последней из известных, условия ее получения довольно нетривиальны и поэтому она почти не используется на практике. Более того, она имеет определенные недостатки, поэтому на практике обычно ограничиваются структурой базу данных, соответствующей 3НФ или БКНФ.

2.1.2. Метод сущность-связь

Моделирование структуры базы данных при помощи алгоритма нормализации, описанного в предыдущих главах, имеет серьезные недостатки:

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

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

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

В реальном проектировании структуры базы данных применяются другой метод - так называемое, семантическое моделирование. Семантическое моделирование представляет собой моделирование структуры данных, опираясь на смысл этих данных. В качестве инструмента семантического моделирования используются различные варианты диаграмм сущность-связь (ER - Entity-Relationship).

Первый вариант модели сущность-связь был предложен в 1976 г. Питером Пин-Шэн Ченом . В дальнейшем многими авторами были разработаны свои варианты подобных моделей (нотация Мартина, нотация IDEF1X, нотация Баркера и др.). Кроме того, различные программные средства, реализующие одну и ту же нотацию, могут отличаться своими возможностями. По сути, все варианты диаграмм сущность-связь исходят из одной идеи - рисунок всегда нагляднее текстового описания. Все такие диаграммы используют графическое изображение сущностей предметной области, их свойств (атрибутов), и взаимосвязей между сущностями.

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

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

Основными понятиями этого метода являются следующие: сущность; атрибут сущности; ключ сущности; связь между сущностями, степень связи, класс принадлежности экземпляров сущности; диаграммы ER-экземпляров и диаграммы ER-типа.

Сущность представляет собой объект, информация о котором хранится в базе данных. Экземпляры сущности отличаются друг от друга и однозначно идентифицируются. Названиями сущности являются, как правило, существительные, например, ИЗДАНИЕ, ТИПОГРАФИЯ и т.д. Атрибут сущности – свойство сущности. Ключ сущности – атрибут или набор атрибутов, используемый для идентификации экземпляра сущности. Связь сущности – зависимость между атрибутами этих сущностей, название связи обычно представляется глаголами.

С целью повышения наглядности и удобства проектирования используют следующие графические средства: диаграммы ER-экземпляра; диаграммы ER-типов или ER-диаграммы. При построении диаграмм ER-типов учитывается степень связи и класс принадлежности, которые выявляются на основе анализа диаграмм ER-экземпляров. Степень связи характеризует связь между сущностями, которая может быть один к одному (1:1), один ко многим (1:М), много к одному (М:1), много ко многим (М:М).. Степень означается символами на линии связи. Класс принадлежности может быть обязательным или необязательным. Класс принадлежности является обязательным в том случае, если все экземпляры этой сущности обязательно участвуют в этой связи. В противном случае класс принадлежности является необязательным.

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

Этапы проектирования

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