← Назад к вопросам

Какие знаешь требования первой нормальной формы?

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

  1. Все значения атомарные
  2. Нет повторяющихся колонок
  3. Каждая строка уникальна
  4. Нет зависимости от порядка

1NF - основа для других нормальных форм (2NF, 3NF, BCNF).

Какие знаешь требования первой нормальной формы? | PrepBro