Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Нормализация реляционной модели данных




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

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

На рис. 12 показана схема процесса нормализации и продемонстрирована взаи­мосвязь между разными нормальными формами. Видно, что одни 1НФ-отношения могут находиться во 2НФ, другие 2НФ-отношения – в ЗНФ и т.д.

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

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

 

Рис. 12. Схема взаимосвязей между отдельными нормаль­ными формами

 

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

Первая нормальная форма (1НФ) – отношение, в котором на пересечении каждой строки и каждого столбца содержится только одно значение.

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

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

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

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

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

 

Таблица 15

Ненормализованная таблица Customer Rental

 

 

В качестве ключевого атрибута ненормализованной таблицы Customer Rental (Клиенты-арендаторы) выберем атрибут Customer No (Номер клиента). Дальше найдем в ней группы сведений об объектах, которые могут повторяться у разных клиентов. Структура повторяющейся группы имеет следующий вид:

Повторяющаяся группа = (Property_No, Paddress, RentStart, RentFinish, Rent, Owner_No, OName).

Из-за наличия этой повторяющейся группы на пересечении некоторых строк и столбцов таблицы находится сразу несколько значений. Например, два значения, PG4 и PG16, номера объекта (атрибут Property_No) присутствуют в строке клиента John Kay. Чтобы преобразовать ненормализованную таблицу в первую нормальную форму, необходимо добиться того, чтобы на пересечении каждой строки и каждого cтолбца находилось единственное значение. Эта цель достигается путем устранения повторяющихся групп.

При использовании первого подхода повторяющаяся группа (сведения об объекте недвижимости) устраняется с помощью ввода в каждую строку с описанием объекта недвижимости соответствующих сведений о клиенте. Полученное в результате этих действий отношение Customer_Rental, находящееся в первой нормальной форме, представлено в табл. 16. Потенциальные ключи этого отношения являются составными и включают следующие группы атрибутов: (Customer_No, Property No), (Customer No, RentStart), (Property_No, RentStart). В качестве первичного ключа этого отношения выберем группу (Customer_No, Property_No) и для большей ясности разместим атрибуты данного первичного ключа рядом, с левой стороны отношения. (В нашем примере предполагается, что атрибут RentFinish не может быть использован в качестве компонента потенциального ключа.)

 

Таблица 16





Поделиться с друзьями:


Дата добавления: 2016-11-18; Мы поможем в написании ваших работ!; просмотров: 1017 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Свобода ничего не стоит, если она не включает в себя свободу ошибаться. © Махатма Ганди
==> читать все изречения...

2302 - | 2064 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.