← Назад к вопросам
Какие знаешь требования первой нормальной формы?
2.0 Middle🔥 211 комментариев
#Требования и их анализ
Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI28 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Первая нормальная форма (1NF)
1NF имеет четыре основных требования:
1. Атомарность значений (Atomicity)
Каждое значение в ячейке должно быть атомарным (неделимым).
❌ Нарушение: Table Student:
- student_id | skills: [SQL, Python, Docker]
- Значение содержит массив - НЕ атомарно!
✓ Правильно: Table StudentSkill:
- student_id, skill_name (одно значение на ячейку)
2. Нет repeating groups (повторяющихся групп)
Нельзя иметь несколько колонок для одного типа данных.
❌ Нарушение: Table Student:
- skill1, skill2, skill3 (три колонки для навыков)
- Если студент имеет 4 навыка - не поместится!
✓ Правильно: Table StudentSkill:
- student_id, skill_name (одна строка для одного навыка)
3. Уникальные значения в строках (Unique rows)
Все строки в таблице должны быть уникальны.
✓ Требует primary key или UNIQUE constraint
4. Порядок строк не важен
Разные порядки строк представляют одни и те же данные.
Пример нормализации к 1NF
❌ Не в 1NF: Order:
- order_id | items: [(Laptop, 1200), (Mouse, 25)]
✓ В 1NF: Order:
- order_id | date
OrderItem:
- order_id | item_name | price
Ключевые атрибуты 1NF
- Все значения атомарные
- Нет повторяющихся колонок
- Каждая строка уникальна
- Нет зависимости от порядка
1NF - основа для других нормальных форм (2NF, 3NF, BCNF).