Нормализация отношений при проектировании реляционной базы данных. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Нормализация отношений при проектировании реляционной базы данных.



 

Нормализация отношений — это процесс построения опти­мальной структуры таблиц и связей в реляционной БД. В процес­се нормализации данные группируются в таблицы, представляю­щие объекты и их взаимосвязи.

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

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

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

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

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

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

Всего в реляционной теории насчитывается 6 НФ:

1-я НФ (обычно обозначается также 1НФ).

2НФ.

3НФ.

НФ Бойса-Кодда (НФБК).

4НФ.

5НФ.

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

Для таблицы будут выполнены условия первой нормальной формы, если:

- каждое поле (концептуальное требование) неделимо;

- отсутствуют повторяющиеся поля или группы полей.

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

Условия второй нормальной формы:

- выполняются условия первой нормальной формы;

- первичный ключ однозначно определяет всю запись;

- все поля зависят от первичного ключа;

- первичный ключ не должен быть избыточным.

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

Условия третьей нормальной формы:

- выполняются условия второй нормальной формы;

- каждое не ключевое поле не должно зависеть от другого не ключевого

поля.

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

 

 



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 155; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.202.45 (0.006 с.)