Ответ
Первая нормальная форма (1NF) требует, чтобы таблица в реляционной базе данных удовлетворяла следующим условиям:
- Атомарность данных – все значения в столбцах должны быть неделимыми (не содержать множественных значений, массивов, списков).
- Уникальные строки – каждая строка должна быть уникальной (обычно за счет первичного ключа).
- Определенный порядок столбцов – порядок столбцов не должен влиять на данные.
Пример нарушения 1NF:
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
CustomerName VARCHAR(100),
Products VARCHAR(200) -- содержит список товаров через запятую (не атомарно)
);
Исправленный вариант:
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
CustomerName VARCHAR(100)
);
CREATE TABLE OrderItems (
OrderItemID INT PRIMARY KEY,
OrderID INT,
ProductName VARCHAR(100),
FOREIGN KEY (OrderID) REFERENCES Orders(OrderID)
);