Выбор ответа Junior Проектирование и нормализация спрашивают часто обновлено
Транзитивная зависимость
Вопрос
Таблица employees(id, name, department_id, department_name). Что с ней не так?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Нарушена 3НФ: транзитивная зависимость через отдел. Транзитивная зависимость id → departmentid → departmentname нарушает 3НФ: переименование отдела потребует обновить всех его сотрудников, а пропущенная строка оставит в базе два разных названия.
Варианты ответа
- Нарушена 1НФ: имя отдела не атомарно и повторяется
- Нарушена 3НФ: транзитивная зависимость через отделправильный ответ
- Нарушена 2НФ: ключ фактически составной
- Всё в порядке, это нормальная денормализация
Разбор
Транзитивная зависимость id → department_id → department_name нарушает 3НФ: переименование отдела потребует обновить всех его сотрудников, а пропущенная строка оставит в базе два разных названия. Название отдела атомарно, и ключ тут простой (id), так что 1НФ и 2НФ ни при чём. Денормализация бывает оправдана, но её делают сознательно и с механизмом синхронизации, а не по умолчанию.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.