Что заложено в 1 и 2 форму нормальные БД
Python
Senior
Без компании
Что заложено в 1 и 2 форму нормальные БД
Ответы
В реляционных базах данных нормальные формы (1NF, 2NF и т.д.) — это правила для организации данных без избыточности и аномалий.
**1NF (Первая нормальная форма):**
- Все атрибуты атомарны (неделимы)
- Нет повторяющихся групп
- У каждой таблицы есть первичный ключ
Пример нарушения 1NF:
```
| OrderID | Products |
|---------|------------------|
| 1 | Pen, Pencil, Book|
```
Исправленный вариант:
```
| OrderID | Product |
|---------|---------|
| 1 | Pen |
| 1 | Pencil |
| 1 | Book |
```
**2NF (Вторая нормальная форма):**
- Уже соответствует 1NF
- Все неключевые атрибуты полностью зависят от всего первичного ключа (нет частичных зависимостей)
Пример нарушения 2NF:
```
| OrderID | ProductID | ProductName | Quantity |
|---------|-----------|-------------|----------|
| 1 | 101 | Pen | 2 |
```
(ProductName зависит только от ProductID, а не от всего ключа {OrderID, ProductID})
Исправленный вариант — разделение на две таблицы:
```
Orders: Products:
| OrderID | ProductID | Qty | | ProductID | Name |
|---------|-----------|-----| |-----------|-------|
| 1 | 101 | 2 | | 101 | Pen |
```