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

Что необходимо для приведения таблицы к форме Бойса-Кодда кроме детерминанта

Для приведения таблицы к нормальной форме Бойса-Кодда (НФБК) необходимо, чтобы каждый нетривиальный функциональный детерминант был потенциальным ключом. Это означает:

  1. Все атрибуты должны зависеть от всего ключа, а не от его части (уже выполнено в 2НФ).
  2. Нет транзитивных зависимостей (уже выполнено в 3НФ).
  3. Ключевые атрибуты не должны зависеть от неключевых (главное отличие от 3НФ).

Пример:

sql
-- НЕ НФБК (OrderDetailID → ProductID, а ProductID → Supplier)
CREATE TABLE OrderDetails (
    OrderDetailID INT PRIMARY KEY,
    OrderID INT,
    ProductID INT,
    Supplier VARCHAR(100),
    FOREIGN KEY (OrderID) REFERENCES Orders(OrderID)
);

-- НФБК (разделяем на 2 таблицы)
CREATE TABLE Products (
    ProductID INT PRIMARY KEY,
    Supplier VARCHAR(100)
);

CREATE TABLE OrderDetails (
    OrderDetailID INT PRIMARY KEY,
    OrderID INT,
    ProductID INT,
    FOREIGN KEY (ProductID) REFERENCES Products(ProductID)
);
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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