logo

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

Голяма база данни, дефинирана като единична връзка, може да доведе до дублиране на данни. Това повторение на данни може да доведе до:

  • Правене на отношения много големи.
  • Не е лесно да се поддържат и актуализират данни, тъй като това би включвало търсене на много записи във връзка.
  • Загуба и лошо използване на дисково пространство и ресурси.
  • Вероятността от грешки и несъответствия се увеличава.

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

Какво е нормализиране?

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

Защо се нуждаем от нормализиране?

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

Аномалиите при модифициране на данни могат да бъдат категоризирани в три типа:

    Аномалия при вмъкване:Аномалия при вмъкване се отнася до случаите, когато човек не може да вмъкне нов кортеж във връзка поради липса на данни.Аномалия при изтриване:Аномалията при изтриване се отнася до ситуация, при която изтриването на данни води до неволна загуба на някои други важни данни.Аномалия при актуализиране:Аномалия при актуализиране е, когато актуализацията на една стойност на данни изисква актуализиране на множество редове с данни.

Видове нормални форми:

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

Следват различните видове нормални форми:

Нормализация на СУБД
Нормална форма Описание
1NF Една релация е в 1NF, ако съдържа атомна стойност.
2NF Една релация ще бъде в 2NF, ако е в 1NF и всички неключови атрибути са напълно функционални в зависимост от първичния ключ.
3NF Една релация ще бъде в 3NF, ако е в 2NF и не съществува зависимост от преход.
BCNF По-силна дефиниция на 3NF е известна като нормалната форма на Бойс Код.
4NF Една релация ще бъде в 4NF, ако е в нормалната форма на Бойс Код и няма многозначна зависимост.
5NF Отношението е в 5NF. Ако е в 4NF и не съдържа никаква зависимост за присъединяване, присъединяването трябва да е без загуби.

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

  • Нормализирането помага да се сведе до минимум излишъкът от данни.
  • По-добра цялостна организация на базата данни.
  • Съгласуваност на данните в базата данни.
  • Много по-гъвкав дизайн на база данни.
  • Налага концепцията за релационна цялост.

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

  • Не можете да започнете да изграждате базата данни, преди да разберете от какво се нуждае потребителят.
  • Производителността се влошава при нормализиране на отношенията към по-високи нормални форми, т.е. 4NF, 5NF.
  • Много е времеемко и трудно да се нормализират отношения от по-висока степен.
  • Небрежното разлагане може да доведе до лош дизайн на базата данни, водещ до сериозни проблеми.