Какими способами достигается нормализация базы данных
Python
Middle
Без компании
Какими способами достигается нормализация базы данных
Ответы
Нормализация БД — это процесс организации данных для уменьшения избыточности и улучшения целостности. Основные способы:
- **Следование нормальным формам (НФ)**:
- **1НФ**: Устранение повторяющихся групп (каждое поле содержит атомарные значения).
- **2НФ**: Устранение частичных зависимостей (все неключевые атрибуты зависят от всего первичного ключа).
- **3НФ**: Устранение транзитивных зависимостей (неключевые атрибуты не зависят от других неключевых атрибутов).
- **Декомпозиция таблиц**:
Разделение таблиц на более мелкие, связанные по ключам, чтобы избежать дублирования данных.
- **Использование внешних ключей**:
Связывание таблиц через FOREIGN KEY для поддержания ссылочной целостности.
Пример декомпозиции:
```
-- До нормализации
CREATE TABLE orders (
order_id INT PRIMARY KEY,
customer_name VARCHAR(100),
product_name VARCHAR(100),
product_price DECIMAL
);
-- После нормализации
CREATE TABLE customers (
customer_id INT PRIMARY KEY,
name VARCHAR(100)
);
CREATE TABLE products (
product_id INT PRIMARY KEY,
name VARCHAR(100),
price DECIMAL
);
CREATE TABLE orders (
order_id INT PRIMARY KEY,
customer_id INT REFERENCES customers(customer_id),
product_id INT REFERENCES products(product_id)
);
```