Бази данни

© Христо Тужаров, 2007

НОРМАЛИЗАЦИЯ НА ДАННИТЕ

 

[Home] [Съдържание] [Асеневци] [Инфопедия] [Начало на книгата]

 

РЕЛАЦИОНЕН МОДЕЛ

СЪЩНОСТ НА РЕЛАЦИОННИЯ МОДЕЛ

СЪОТВЕТСТВИЕ “РЕАЛЕН СВЯТ - БАЗИ ДАННИ”

ПРИНЦИПИ НА РЕЛАЦИОННИЯ МОДЕЛ

НОРМАЛИЗАЦИЯ НА ДАННИТЕ

РЕЛАЦИОННИ ОПЕРАЦИИ 

Нормализация на данните

Процесът на проектиране на базата данни в съответствие с правилата, дефинирани от д-р Код, се нарича нормализация на данните.

 

Д-р Код установява шест нива на нормализация, от  които три са базови. Нормализацията се изпълнява поетапно. Първите три стъпки са описани от д-р Код в статията ” По-нататъшна нормализация на релационните модели на базите данни”.

 

 

        Нормализацията е техника за структуриране на данните по начин, който позволява да се избегнат проблеми при по-късното й използване и обновяване. Нормализацията води до логически устойчива структура на записите, която е лесна за разбиране и проста за подържане. Могат да се получат различни нива на нормализация. Критериите, които определят нивата на нормализация се наричат нормални форми.

 

 

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

 

 

         Нормализацията изпълнява следните задачи:

  • Изключване на повтаряща се информация в таблиците.

  • Декомпозиция на един типов обект  на  няколко.

  • Минимизиране на аномалиите при съхраняване, изтриване и промяна на данните.

  • Създаване на отворена към бъдещи промени структура.

  • Създаване на структура, свеждаща до минимум влиянието на структурни изменения върху вече създадени приложения.

Стъпки за нормализация на данните 

От показаната по-долу схема се вижда, че за да бъдат нормализирани типовете обекти и съответстващите им таблици, те  трябва да отговарят на следните условия:

  • Да бъдат плоски, т.е. да не съдържат повтарящи се групи атрибути (колони).

  • Данните за всички неключови колони (атрибути) напълно да зависят от значенията на пър­вичния ключ.

  • Всички колони (атрибути) да зависят от значенията на първичния ключ и да не зависят един от друг.

     Стъпки за нормализация на данните 

Нива на нормализация на данните

 

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

Когато в една клетка може да има повече от една стойност, т.е атрибутът може да приема повече от една стойност.

 

#заявкя

дата на заявка

#читател

професия

име на читател

#книга

име на книгата

1

2

3

4

5

6

7

245

22.01.99

0846

учител

Иванов

00344

01347

13578

хххххххххххххх

ссссссссс

еееееееее

346

2502.99

0048

лекар

Ванева

01237

уууууууу

 

 

Тази релация е ненормализирана, защото допуска атрибутите в колони 5 и 6 да имат повече от една стойност. Различния брой атрибути в отделните редове ще доведе до съхраняване на записи с променлив брой полета, а съ­що така  до  записи с променлива дължина.

 

         Първа нормална форма

Когато във всяка клетка на таблицата има само по една стойност. Първичният ключ не е вече еднозначен, защото се среща повече от вед­нъж в таблицата. Поради тази причина трябва да се образува съставен първичен ключ, който се състои от частичните ключове— “# поръчка ” , “# читатели # книга.

 

# заявка

дата на заявка

#читател

професия

име на читател

#книга

име на книгата

1

2

3

 

4

5

6

245

22.01.99

0846

учител

Иванов

00344

хххххх

245

22.01.99

0846

учител

Иванов

01347

ссссссс

245

22.01.99

0846

учител

Иванов

13578

ееееее

346

25.02.99

0048

лекар

Ванева

01237

ууууу

 

Новополучената релация “Поръчка” има недостатъци, известни като аномалии при изтриване и промяна на данните.

 

                     Аномалия при изтриване на данни—ако се изтрие артикулът “Ванева” от таблицата ще бъдат изтрити всички данни за поръчка 346

                   

                     Аномалия  при промяна на данни—ако променим номера на “Иванов” само на един ред ще настъпи противоречие в данните.

 

        Втора нормална форма

Когато е в първа нормална форма и всеки атрибут е функционално зависим от всички атрибути, съставляващи пър­вичния ключ.

Ако в една релация се съдържат атрибути, които са функционално зави­си­ми не от  целия първичен ключ, а от части от него, то за тях трябва да се състави  нова таблица. В нашия случай заявените книги не зависят еднозначно от първичния ключ, т.е на един ключ съответстват няколко книги.

Втора нормална форма

 

 

        Трета нормална форма

 

 

     Когато е във втора нормална форма и когато всеки атрибут не е транзитивно зависим от първичния ключ.

 

Един атрибут С е транзитивно зависим от друг атрибут А, ако съществува атрибут В, за който АèВ и ВèС, но А не зависи функционално от В.