Нормализация БД. Денормализация БД. 


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



ЗНАЕТЕ ЛИ ВЫ?

Нормализация БД. Денормализация БД.



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

- Целостность данных (данные сохраняют корректность и достоверность, поскольку в результате нормализации они будут сохраняться только в одном месте).

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

- Снижение требований к объему памяти (Следствием этого является повышение скорости поиска данных).

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

Область Код Население Город Кол-во пред-щее Кол-во текущее Относит. прирост
Носибирская область НО 10млн. Новосибирск     9%
Куйбышев     10%
Барабинск     -9%
Омская область ОО 4млн. Омск     5%
Калачинск     5%
Алтайс.край АК 5млн. Барнаул     8%

 

Эта таблица не нормализована, т.к. ряд атрибутов не определен к какой области относится.

1НФ. Сущность находиться в 1НФ, если значения всех её атрибутов однозначно определены. Все повторяющиеся группы должны быть удалены в новую связанную сущность. Все неопределенные группы должны быть доопределены.

Область Код Насел-ие Город Кол-тво пред-ее Кол-тво текущее Относит. прирост
Носиб. Обл. НО 10млн. Новосибирск     9%
Носиб. Обл. НО 10млн. Куйбышев     10%
Носиб. Обл. НО 10млн. Барабинск     -9%
Омская обл. ОО 4млн. Омск     5%
Омская обл. ОО 4млн. Калачинск     5%
Алтайс.край АК 5млн. Барнаул     8%

 

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

Область Код Население     Город Колво предее Кол-тво текущее Относ. прирост
Носиб. Обл. НО 10млн.     Новосиб-ск     9%
Омская обл. ОО 4млн.     Куйбышев     10%
Алтайс.край АК 5млн.     Барабинск     9%
          Омск     5%
          Калачинск     5%
          Барнаул     8%

 

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

После 3НФ идет НФ Бойса Кодда. Это отсутствие инверсионной частичной зависимости. В ней ни первичный ключ, ни какая-либо его часть не должны зависеть от неключевого атрибута. После НФБК идет 4НФ и 5НФ, они используются редко для разработки сложных больших БД.

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

Нисходящая предполагает перенос атрибутов из родительской сущности в дочернюю.

До нормализации   После нормализации
Клиент   Клиент
Идентификатор   Идентификатор
Адрес   Адрес
Имя ┘   Имя ┘
     
Заказ   Заказ
╧заказа   ╧заказа
дата заказа   дата заказа
дата изготовл.   дата изготовл.
    имя клиента

 

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

Восходящая - это перенос атрибута из дочерней сущности в родительскую.

До нормализации После норм-ии
Заказ   Заказ
╧заказа   ╧заказа
дата заказа   дата заказа
дата изгот-я ┘   дата изгот-я
      цена заказа
 
Статья заказа Статья заказа
╧заказа ╧заказа
╧статьи ╧статьи
цена статьи цена статьи

 

В случае, если в дочерней таблице статья заказа будет добавлена новая строка, то в таблице Заказ цена заказа увеличится на величину цены статьи.

 


 



Поделиться:


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

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