Встречается на собеседованиях • сегодня

Расскажи о третьей нормальной форме базы данных

Третья нормальная форма (3NF) требует, чтобы таблица уже находилась во второй нормальной форме (2NF), и все её неключевые атрибуты были нетранзитивно зависимы от первичного ключа. Это означает, что не должно быть зависимостей между неключевыми полями.

Пример нарушения 3NF:

sql
CREATE TABLE Orders (
    order_id INT PRIMARY KEY,
    customer_id INT,
    customer_name VARCHAR(100),
    customer_address VARCHAR(200)
);

Здесь customer_name и customer_address зависят от customer_id, а не напрямую от order_id. Это транзитивная зависимость.

Исправленный вариант (3NF):

sql
CREATE TABLE Customers (
    customer_id INT PRIMARY KEY,
    customer_name VARCHAR(100),
    customer_address VARCHAR(200)
);

CREATE TABLE Orders (
    order_id INT PRIMARY KEY,
    customer_id INT,
    FOREIGN KEY (customer_id) REFERENCES Customers(customer_id)
);

Теперь данные нормализованы, и транзитивные зависимости устранены.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы