Ответ
Что хотят услышать интервьюеры
Интервьюеры ожидают, что кандидат продемонстрирует понимание нормальных форм в реляционных базах данных, их важность для минимизации избыточности данных и обеспечения целостности. Кандидат должен быть способен объяснить различные нормальные формы, их характеристики и примеры.
Определение нормальных форм
Нормальные формы — это набор правил, определяющих структуру реляционных баз данных, которые помогают организовать данные таким образом, чтобы избежать избыточности и аномалий при обновлении. Существуют различные нормальные формы, каждая из которых решает определенные проблемы.
Первая нормальная форма (1NF):
- Определение: Таблица находится в 1NF, если все ее атрибуты имеют атомарные (неделимые) значения, и все записи уникальны.
- Пример: В таблице клиентов каждая ячейка должна содержать только одно значение. Например, вместо хранения нескольких номеров телефонов в одной ячейке, создайте отдельные строки для каждого номера.
Вторая нормальная форма (2NF):
- Определение: Таблица находится во 2NF, если она уже в 1NF и все неключевые атрибуты полностью функционально зависят от первичного ключа.
- Пример: Если у вас есть таблица с заказами, где указаны клиенты и их адреса, адреса должны быть вынесены в отдельную таблицу, чтобы избежать дублирования.
Третья нормальная форма (3NF):
- Определение: Таблица находится в 3NF, если она во 2NF и не имеет транзитивных зависимостей, то есть неключевые атрибуты не зависят от других неключевых атрибутов.
- Пример: Если у вас есть таблица сотрудников с полями id, имя и название отдела, название отдела не должно зависеть от имени сотрудника.
Бойс-Кодд нормальная форма (BCNF):
- Определение: Таблица находится в BCNF, если для каждого не тривиального функционального зависимого отношения, X → Y, X является суперключом.
- Пример: В таблице студентов и курсов, если один студент может записаться на несколько курсов и каждый курс может иметь несколько студентов, необходимо создать отдельные таблицы для студентов и курсов.
Что могут спросить дальше
- Объяснить, почему нормализация важна для баз данных.
- Привести примеры нарушения нормальных форм и их последствия.
- Обсудить, когда целесообразно использовать денормализацию.
- Пояснить, как нормальные формы влияют на производительность запросов.