Что такое нормализация БД

«Что такое нормализация БД» — вопрос из категории Базы данных, который задают на 24% собеседований Бизнес Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Нормализация БД — это процесс организации данных в реляционной базе для минимизации избыточности и аномалий (вставки, обновления, удаления). Основные нормальные формы (НФ):

  1. 1НФ: Устранение повторяющихся групп (все атрибуты атомарны).
  2. 2НФ: Выполнение 1НФ + отсутствие частичных зависимостей (неключевые атрибуты зависят от всего первичного ключа).
  3. 3НФ: Выполнение 2НФ + отсутствие транзитивных зависимостей (неключевые атрибуты не зависят друг от друга).

Пример нарушения 3НФ:

CREATE TABLE Orders (
    order_id INT PRIMARY KEY,
    customer_name VARCHAR(100),  -- транзитивная зависимость от customer_id
    customer_id INT
);

Исправленный вариант (разделение на 2 таблицы):

CREATE TABLE Customers (
    customer_id INT PRIMARY KEY,
    customer_name VARCHAR(100)
);

CREATE TABLE Orders (
    order_id INT PRIMARY KEY,
    customer_id INT REFERENCES Customers(customer_id)
);

Видео-ответы