Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI28 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Третья нормальная форма (3NF)
Определение
Таблица находится в 3NF если:
- Находится в 2NF
- Нет транзитивных зависимостей
Транзитивная зависимость
Это когда non-key атрибут зависит от другого non-key атрибута, а не от PK.
Пример нарушения
Таблица Author:
- author_id (PK)
- author_name
- country_id
- country_name (зависит от country_id, не от author_id) ✗
Проблема: country_name зависит от country_id (транзитивная зависимость)
Исправление
Таблица Author:
- author_id, author_name, country_id
Таблица Country:
- country_id, country_name
Теперь нет транзитивных зависимостей
Реальный пример из PrepBro
❌ Нарушение: Question:
- question_id
- title
- profession_id
- profession_name (зависит от profession_id, не от question_id)
✓ Исправлено: Question: (question_id, title, profession_id) Profession: (profession_id, profession_name)
Проблемы при нарушении
Annomaly обновления:
- Изменить profession_name → обновить все Question'ы
- Риск inconsistency
Annomaly удаления:
- Удалить Question → потеря информации о profession
Правило 3NF
"Каждый атрибут зависит от ключа, целого ключа и только от ключа"
Требования 3NF
✓ В 2NF ✓ Нет транзитивных зависимостей ✓ Все non-key атрибуты зависят только от PK
Похожие вопросы
- Какие знаешь требования второй нормальной формы?
- Какие знаешь особенности очередей сообщений?
- Сформулируй нефункциональные требования для отображения суммы в иностранной валюте
- Как передать бинарный файл в POST?
- Что такое транзакция в базе данных? Какие свойства ACID вы знаете?
- Когда использовать SQL БД?
- Что записать в техническое задание при противоречии требований?
- Как системный аналитик может проверить сетевую доступность эндпоинта?
- Какие знаешь техники текстового документирования требований?
- Как бы ты собирал требования для разработки нового модуля?
- Какие HTTP-коды ответов вы знаете? Что означают коды 200, 201, 400, 401, 403, 404, 500?
- Что такое техническая документация и какие виды вы знаете?
- Что такое асинхронное взаимодействие?
- Сформулируй функциональные требования для отображения суммы в иностранной валюте
- Какие знаешь особенности RESTful API?
- Чем отличается SQL от NoSQL баз данных? Когда лучше использовать каждый тип?
- Какие виды требований вы знаете? Приведите примеры функциональных и нефункциональных требований.?
- Что такое gRPC?
- Какие способы организации интеграции существуют помимо REST?
- Приведи пример User Story для мобильного банка