Ответ
Нормализация — процесс организации данных в БД для минимизации избыточности и аномалий. Работал с формами 1NF-3NF, иногда доходил до BCNF.
Пример:
Таблица Orders с дублированием клиентских данных:
-- Денормализованная версия (проблемы: избыточность, UPDATE-аномалии)
CREATE TABLE Orders (
order_id INT PRIMARY KEY,
customer_name VARCHAR(100), -- дублируется для каждого заказа
customer_phone VARCHAR(20) -- дублируется
);
-- Нормализованная версия (3NF)
CREATE TABLE Customers (
customer_id INT PRIMARY KEY,
name VARCHAR(100),
phone VARCHAR(20)
);
CREATE TABLE Orders (
order_id INT PRIMARY KEY,
customer_id INT REFERENCES Customers(customer_id) -- связь по FK
);
Плюсы:
- Устранение дублирования
- Целостность данных
- Упрощение операций UPDATE
Компромиссы:
Иногда допускаю контролируемую денормализацию для отчетов или производительности.