Мегаобучалка Главная | О нас | Обратная связь


Нормализация – это приведение, к лучшей форме относительно включения, удаление и модификации.



2019-12-29 244 Обсуждений (0)
Нормализация – это приведение, к лучшей форме относительно включения, удаление и модификации. 0.00 из 5.00 0 оценок




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

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

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

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

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

Атрибут В многозначно зависит от атрибута А, если каждому значению А соответствует множество значений В, не связанных с другими атрибутами. Эти зависимости могут быть «один ко многим», «многие к одному» или «многие ко многим» (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НФ или БКНФ.

 

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

 

 

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

1. выявление сущностей и связей между ними;

2. построение диаграмм ER-типа с учетом всех сущностей и их связей;

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

4. добавление неключевых атрибутов в отношения;

5. приведение предварительных отношений к БКНФ с помощью метода нормальных форм;

6. пересмотр ER-диаграмм в следующих случаях:

– некоторые отношения не приводятся к БКНФ;

– некоторым атрибутам не находится логически-обоснованных мест в предварительных отношениях.

После преобразования ER-диаграмм осуществляется повторное выполнение предыдущих этапов проектирования.

 

Правила формирования отношений:

 

 

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

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

3. Если степень связи 1:1 и класс принадлежности обеих сущностей необязателен, то нужно использовать три отношения: два отношения соответствуют связываемым сущностям, ключи которых являются первичными в этих отношениях; третье отношение является связным между первыми двумя, поэтому его ключ объединяет ключевые атрибуты связываемых отношений.

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

5. Если степень связи 1:М или М:1 и класс принадлежности М-связной сущности является необязательным, то необходимо формирование трех отношений: два отношения соответствуют связываемым сущностям, ключи которых являются первичными в этих отношениях; третье отношение является связным и его ключ объединяет ключи первых двух отношений.

6. Если степень связи М:М, то независимо от класса принадлежности сущностей формируется три отношения: два отношения соответствуют связываемым сущностям; а третье является связным и объединяет ключи первых двух отношений.

 




2019-12-29 244 Обсуждений (0)
Нормализация – это приведение, к лучшей форме относительно включения, удаление и модификации. 0.00 из 5.00 0 оценок









Обсуждение в статье: Нормализация – это приведение, к лучшей форме относительно включения, удаление и модификации.

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

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



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (244)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.009 сек.)