Основное различие заключается в том, что ссылка хранится на стороне «Многие» ссылки «Один ко многим».
Для библиотеки и автора ссылка находится в таблице «Блокнот», поскольку каждая библиотека и автор могутЕсть много книг заметок.
Для заметок ссылка на таблицу заметок по той же причине.
Пример схемы ниже показывает ссылки.
CREATE TABLE Author
(
id int primary key,
name varchar(100)
);
CREATE TABLE Library
(
id int primary key,
name varchar(100)
);
CREATE TABLE Notebook
(
id int primary key,
libraryid int not null references Library(id),
authorid int not null references Author(id)
);
CREATE TABLE Note
(
id int primary key,
notebookId int not null references Notebook(id)
on delete cascade,
note varchar(100)
);
Связь между Заметкой и Записной книжкой имеет опцию «Каскад при удалении», что означает, что если Записная книжка удалена, Заметка также автоматически удаляется из базы данных.
Параметр по умолчанию «on delete restrict» будет препятствовать удалению родительской строки, пока существует дочерняя строка.
Если NotebookId не равен NULL, это означает, что заметка не может быть создана безсоответствующая записная книжка, поэтому жизненный цикл заметок всегда связан с родителем.