Видео: SQL. 7. Нормализация (1 форма)
Группировка одних и тех же данных в таблицы может производиться различными способами. Атрибуты в отношения должны группироваться по реляционному принципу, то есть должно полностью минимизироваться дублирование данных, а также упрощаться процедура их обработки с последующим обновлением. Одной из первостепенных задач при проектировании баз данных выступает устранение избыточности, а оно достигается посредством нормализации.
Нормализация баз данных представляет собой некий формальный аппарат ограничений на создание таблиц, позволяющий устранить дублирование, с обязательным обеспечением непротиворечивости хранимой информации, уменьшая трудозатраты, связанные с ведением и обслуживанием базы данных. Операция нормализации состоит в разложении исходных таблиц базы данных на более простые. На каждой из ступеней данного процесса таблицы обязательно приводятся в нормальные формы. Каждая ступень нормализации характеризуется определенным набором ограничений, которым и должны соответствовать все таблицы. Таким образом, осуществляется удаление из таблиц неключевой информации, которая является избыточной.
Нормализация баз данных основывается на понятии функциональной зависимости между атрибутами. Принято считать, что один атрибут зависит от другого, если в каждый момент времени определенному значению второго атрибута соответствует не больше, чем одно значение первого.
Нормализация баз данных - это общее понятие, однако, его принято подразделять на несколько нормальных форм, о которых и будет сказано далее.
Какой-либо информационный объект считается соответствующим первой нормальной форме, когда значение каждого его атрибута является единственным. Если у какого-то атрибута имеется повторяющееся значение, то нельзя считать объект принадлежащим первой нормальной форме. Выходит, что можно создать еще какую-то сущность, то есть информационный объект.
Какой-либо информационный объект принято считать принадлежащим ко второй нормальной форме, когда он уже состоит в первой нормальной форме, но каждый из его атрибутов, не состоящий в потенциальном ключе, полностью зависит в функциональном плане от каждого из потенциальных ключей.
Какой-либо информационный объект принято считать принадлежащим к третьей нормальной форме, если он уже состоит во второй нормальной форме, но в нем не присутствует ни одной транзитивной зависимости неключевых объектов от ключей. Под транзитивной зависимостью принято понимать очевидную зависимость между полями.
Нормализация базы данных ставит перед разработчиком основную цель, состоящую в приведении всех отношений к третьей нормальной форме. Только так в последующем можно будет создать эффективную информационную систему.
Нормализация баз данных: основные правила
Видео: Основы SQL - #2 – Нормализация
Стоит сформулировать набор правил, которых следует придерживать в работе по нормализации. В первую очередь стоит исключать повторяющиеся группы. Необходимо формировать отдельную таблицу, хранящую каждый набор связанных атрибутов, в которой и создать отдельный ключ. Далее обязательно исключить избыточные данные. В случаях, когда зависимость атрибута наблюдается только от части ключа, то его необходимо выставить в отдельную таблицу. Третье правило состоит в обязательном исключении столбцов, не зависящих от ключа. Атрибуты следует поместить в изолированную таблицу, если они не оказывают должного влияния на ключ. Обязательно следует изолировать независимые множественные отношения. В данном случае речь идет о том, что между несколькими отношениями не просматривается конкретная связь. И последнее, стоит изолировать множественные отношения, связанные семантически. На этом нормализация БД завершается, после чего наступает процесс разработки.