Что значит провести нормализацию баз данных?

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

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

При разговоре о нормализации базы данных речь будет идти о SQL, то есть о реляционных баз данных.

Что значит провести нормализацию баз данных?

Реляционная база данных это упорядоченная информация, которая связана некоторыми отношениями между собой. Логически реляционная база обычно представлена в виде таблицы, именно в них и хранится вся информация.

Нормализация баз данных

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

Избыточность может быть устранена с помощью декомпозиции отношений, то есть таблиц, это значит разбить одну таблицу на несколько более маленьких.

Для чего же пользователям нужно проводить нормализацию баз, и чем мешает избыточность. Пользователь борется с избыточностью, так как она создает возможность появления различных отклонений в работе базы данных, уменьшает её производительность. Так же в этом случае управление базами данных становится уже не гибким, и достаточно неудобным.

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

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

Например, есть таблица, где записана информация

о том, какая мебель есть в доме. В таблице указаны стол, стул, кровать, шкаф, комод. Также указано, из какого материала сделаны все предметы, например, металл, дерево, лдсп. Может возникнуть ситуация, что нужно вместо слова массив дерева указать натуральное дерево. При этом из дерева сделано несколько предметов мебели, то есть в таблице заполнено несколько строк.

По разным причинам пользователь может внести изменения только в одну строку, и в таблице будет уже несколько материалов, указанных как дерево, массив дерева, натуральное дерево. Уже непонятно, какое название в таблице правильное, также может добавиться ещё одно наименование. По факту это один и тот же материал, но записаны они по-разному. Это уже аномалия, когда данные в одном месте не соответствуют данным в другом месте таблицы.

Таким образом, возникают различные противоречивые ситуации, которые появляются из-за изменения и удаления данных в таблицы. А ведь в больших организациях в таблицах миллионы записей. Поэтому пользователям требуется вовремя устранять избыточных данных в базе, это и есть проведение нормализации базы данных.

возникают различные противоречивые ситуации

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

И в следующий раз, когда пользователю нужно будет изменить название материала, изменения будут вноситься только в одну таблицу, изменять придётся одну строку. Значит, выделяя материалы в виде отдельной таблицы или сущности, будет устранена аномалия, то есть, проведена нормализация.

Каждая сущность должна храниться отдельно, а если нужно использовать эту сущность в другой таблице, на неё нужно сделать только ссылку, таким образом, будет выстраиваться связь.

Нормальные формы базы данных

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

будет соотнесена ссылка с исходной записью

Нормальной формой баз данных называют набор правил и критериев, которым должна соответствовать база данных.

Чем выше нормальная форма, тем меньше проблем и аномалий будет в базе данных. Процесс нормализации представляет собой последовательное выполнение действий по проведению базы данных к определенному виду.

Можно выделить в 5 нормальных форм данных

Первая нормальная форма 1nf

Вторая нормальная форма 2NF

Третья нормальная форма 3NF

Четвёртая  нормальная форма 4NF

Пятая нормальная форма 5NF

Есть ещё дополнительные нормальные формы, это ненормализованная форма или нулевая нормальная форма, нормальная форма бойса-кодда, доменно-ключевая нормальная форма, и шестая нормальная форма.

 

Александр

Здравствуйте, меня зовут Александр, уже более 10 лет я занимаюсь ремонтом компьютером, этот сайт я создал чтобы делиться полезной и практической информацией с вами! Буду благодарен, если вы опишите свой опыт или мнение в комментарии, надеюсь, что данная информация принесёт только пользу

Оцените автора
WindowsComp.ru
Добавить комментарий