-- 1. Создание таблицы: Область знаний
CREATE TABLE Область_Знаний (
ID_Области INT IDENTITY(1,1) PRIMARY KEY,
Наименование NVARCHAR(150) NOT NULL UNIQUE
);
GO
-- 2. Создание связующей таблицы (так как одна книга может относиться к разным областям,
-- а одна область содержит множество книг)
CREATE TABLE Книга_Область (
ID_Книги INT NOT NULL,
ID_Области INT NOT NULL,
-- Составной первичный ключ, чтобы исключить дублирование одинаковых связей
PRIMARY KEY (ID_Книги, ID_Области),
-- Внешний ключ на таблицу Книг
CONSTRAINT FK_КнигаОбласть_Книга FOREIGN KEY (ID_Книги)
REFERENCES Книга(ID_Книги) ON DELETE CASCADE,
-- Внешний ключ на таблицу Областей знаний
CONSTRAINT FK_КнигаОбласть_Область FOREIGN KEY (ID_Области)
REFERENCES Область_Знаний(ID_Области) ON DELETE CASCADE
);
GO