Введение
Нормализация базы данных — это процесс структурирования реляционной базы данных в соответствии с серией так называемых нормальных форм с целью уменьшения избыточности данных и повышения целостности данных. Впервые она была предложена британским ученым-компьютерщиком Эдгаром Ф. Коддом как часть его реляционной модели. Нормализация включает в себя организацию столбцов (атрибутов) и таблиц (отношений) базы данных таким образом, чтобы их зависимости правильно поддерживались ограничениями целостности базы данных. Это достигается путем применения определенных формальных правил либо посредством синтеза (создания нового проекта базы данных), либо посредством декомпозиции (улучшения существующего проекта базы данных).
Database normalization is the process of structuring a relational database in accordance with a series of so called normal forms in order to reduce data redundancy and improve data integrity. It was first proposed by British computer scientist Edgar F. Codd as part of his relational model. Normalization entails organizing the columns (attributes) and tables (relations) of a database to ensure that their dependencies are properly enforced by database integrity constraints. It is accomplished by applying some formal rules either by a process of synthesis (creating a new database design) or decomposition (improving an existing database design).
Минимизировать перепроектирование при расширении структуры базы данных
Полностью нормализованная база данных позволяет расширять её структуру для поддержки новых типов данных, не внося при этом существенных изменений в существующую структуру. В результате, приложения, работающие с базой данных, подвергаются минимальному воздействию. Нормализованные отношения и связи между ними отражают реальные концепции и взаимосвязи между ними.
Пример пошаговой нормализации
Нормализация — это методика проектирования баз данных, используемая для приведения таблицы реляционной базы данных к более высокой нормальной форме. Процесс является последовательным, и более высокий уровень нормализации базы данных не может быть достигнут, пока не будут выполнены требования предыдущих уровней. Это означает, что если данные изначально находятся в ненормализованной форме (наименее нормализованной) и целью является достижение наивысшего уровня нормализации, то первым шагом будет обеспечение соответствия первой нормальной форме, вторым — соответствия второй нормальной форме и так далее, в указанном порядке, пока данные не будут приведены в соответствие с шестой нормальной формой. Однако стоит отметить, что нормальные формы выше 4NF представляют в основном академический интерес, поскольку проблемы, для решения которых они предназначены, редко возникают на практике. Данные в следующем примере были намеренно разработаны так, чтобы противоречить большинству нормальных форм. На практике часто можно пропустить некоторые этапы нормализации, поскольку данные уже нормализованы в определенной степени. Устранение нарушения одной нормальной формы часто также устраняет нарушение более высокой нормальной формы. В примере на каждом этапе для нормализации выбиралась одна таблица, что означает, что в итоге некоторые таблицы могут быть недостаточно нормализованы.