Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




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

Пример. Преобразуем таблицу “ИЗДЕЛИЯ” из предыдущего при­мера в таблицу вида: ИЗДЕЛИЯ (код изделия, деталь). Тогда, за счет дублирования кода изделия, в каждой строке в колонке “Деталь” будет стоять только одно значение ‑ наименование кода детали. Новая таб­лица будет в первой нормальной форме.

Покажем процесс нормализации на следующей исходной таблице:

ВЫПУСК ИЗДЕЛИЙ (Код подразделения (KP), наименование подразделе­ния (NP), код изделия (KI), наименование изделия (NI), код типа изделия (KTI), наименование типа изделия (NTI), дата выпуска (DVI), количество (KVI), себестоимость изделия (SI)). Ключевые атрибуты пер­вич­ного клю­ча подчеркнуты. Эта таблица находится в первой нормальной форме.

Рассмотрим аномалии (недостатки) первой нормальной формы.

1. Избыточное дублирование данных. Все наименования будут дублироваться в каждой строке нашей таблицы.

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

3. Аномалия удаления. Если изделие не выпускается в отчетный пе­ри­од, то инфор­ма­ция об изделии исчезнет из базы.

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

Для устранения этих недостатков продолжим процесс нормализации. Вторая нормальная форма(2НФ)

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

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

Атрибут “Наименование под­раз­де­ления” зависит только от атрибута “Код подразделения” и не зависит от атрибутов “Код изделия” и “Дата вы­пус­ка”. Поэтому его следует удалить из таблицы. Чтобы не потерять ин­формацию о подразделении создадим но­вую таблицу “ПОДРАЗДЕЛЕ­НИЯ” и в нее включим удаляемый атрибут “Наиме­но­ва­ние подразделения” вместе с ключевым атрибутом “Код подразделения” (иначе потеряется связь с таб­лицей “ВЫПУСК ИЗДЕЛИЙ”) и получим таб­лицу вида:

ПОДРАЗДЕЛЕНИЯ (Код подразделения, наименование под­раз­де­ления).

Атрибут “Наименование изделия” зависит только от атрибута “Код изделия” и не зависит от остальных ключевых атрибутов. Аналогично пре­ды­дущему случаю, удалим его из таблицы в новую таб­­лицу:

ИЗДЕЛИЯ (Код изделия, наименование изделия).

Атрибут “Код типа изделия” зависит только от атрибута “Код из­де­лия” и не зависит от атрибутов “Код подразделения” и “Дата выпус­ка”. Ана­логично предыдущему случаю удалим его из таблицы, добавим в таб­­­лицу “ИЗДЕЛИЯ” и получим таблицу:

ИЗДЕЛИЯ (Код изделия, наименование изделия, код типа изделия).

Атрибут “Наименование типа изделия” зависит только от атрибута “Код из­де­лия”. Ана­логично предыдущему случаю удалим его из таблицы и добавим в таб­­­лицу “ИЗДЕЛИЯ” и получим таблицу:

ИЗДЕЛИЯ (Код изделия, наименование изделия, код типа изделия, наиме­но­вание типа изделия).

Атрибуты “Количество” и “Себестоимость изделия” зависят от все­го ключа, поэтому оставим их в исходной таблице.

Таким образом, получим три таблицы:

ВЫПУСК ИЗДЕЛИЙ (Код подразделения, код изделия, дата выпуска, коли­чество, себестоимость изделия).

ПОДРАЗДЕЛЕНИЯ (Код подразделения, наименование под­раз­де­ления).

ИЗДЕЛИЯ (Код изделия, наименование изделия, код типа изделия, наиме­но­вание типа изделия).

Очевидно, что все они находятся во второй нормальной форме.

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

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

Очевидно, что первые две таблицы удовлетворяют определению треть­ей нормальной формы. Рассмотрим таблицу “ИЗДЕЛИЯ”.

Атрибут “Наиме­но­вание типа изделия” функционально зависит от неключевого атрибута “Код типа изделия”, поэтому его следует удалить (по определению третьей нормальной формы) из таблицы в новую:

ТИПЫ ИЗДЕЛИЙ (Код типа изделия, наиме­но­вание типа изделия).

В результате получим модель базы данных из че­ты­рех таблиц в третьей нормальной форме (рисунок 1.5.2.1):

ВЫПУСК ИЗДЕЛИЙ (Код подразделения, код изделия, дата выпуска, коли­чество, себестоимость изделия).

ПОДРАЗДЕЛЕНИЯ (Код подразделения, наименование под­раз­де­ления).

ИЗДЕЛИЯ (Код изделия, наименование изделия, код типа изделия).

ТИПЫ ИЗДЕЛИЙ (Код типа изделия, наиме­но­вание типа изделия).

 

 


Рисунок 1.5.2.1. Модель базы данных “Выпуск изделий”

 

Убедимся в исчезновении аномалий из первой нормальной формы.

1. Избыточное дублирование данных. Все наименования сохраняют­ся в таблицах по одному разу без дублирования, и избыточное дублирова­ние исчезло.

2. Аномалия включения. Хотя изделие еще не выпущено (только проектируется), информацию о нем можно занести или сохранить в таблице “ИЗДЕЛИЯ”. Аномалия включения исчезла.

3. Аномалия удаления. Если изделие не выпускается в отчетный пе­ри­од, то инфор­ма­ция об изделии сохранится в таблице “ИЗДЕЛИЯ”. Ано­ма­лия удаления исчезла.

4. Аномалия корректировки. Если меняется название из­де­лия, то нуж­но откорректировать наименование только в одной строке таблицы “ИЗДЕЛИЯ”. Аномалия корректировки исчезла.

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

Усиленная третья нормальная форма,или нормальная форма Бойса‑Кодда(НФБК)

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

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

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

Пример. Имеется таблица вида:

ПРЕПОДАВАТЕЛИ (Табельный номер преподавателя, предмет, группа).

Очевидно, что имеем мно­го­значную функциональную зависимость между атрибутами “Предмет” и “Группа”. Будем считать, что для каждой группы одним преподавателем читается один набор предметов. Сущест­вует аномалия: при до­бав­лении новой группы нужно добавить несколько записей, по числу чита­емых преподавателем предметов, что вызывает не­же­­­лательное дублирование значений атрибута “Предмет”. Исключим мно­го­значную функциональную зависимость путем переноса этих атрибутов в раз­ные таблицы, разделяя исходную таблицу на две:

ПРЕПОДАВАТЕЛИ_ПРЕДМЕТЫ (Табельный номер преподавателя, пред­мет).

ПРЕПОДАВАТЕЛИ_ГРУППЫ (Табельный номер преподавателя, группа).

Пятую нормальную форму(5НФ) не будем рассматривать из‑за крайне редкого ее использования (она возможна при наличии трех и более объ­ектов, связанных друг с другом отношением “многие-ко-многим”), тем бо­лее что она имеет недостатки.

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

Пример. Нормализованные таблицы “ПРЕПОДАВАТЕЛИ_ПРЕД­МЕ­ТЫ” и “ПРЕПОДАВАТЕЛИ_ГРУППЫ” из предыдущего примера мож­но объединить в исходную таблицу “ПРЕПОДАВАТЕЛИ”. Хотя и будет дублирование данных, но работа с одной таблицей будет быстрее, чем с двумя нормализованными таблицами.

В реальном проектировании разработчик должен достигнуть компро­мис­са между нормализацией (устранение избыточности) и денор­ма­ли­за­ци­ей (уве­личение производительности) таблиц.




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


Дата добавления: 2014-12-10; Просмотров: 601; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.