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