← Карта тем
Alterna · глава 51

Связи нескольких таблиц

Внешние ключи, связь один-ко-многим и правила целостности реляционной базы.

01

Одна сущность — одна таблица

В учебной Data Studio есть таблицы «Книги» и «Выдачи». У выдачи есть дата, срок, статус и текстовое поле читателя; её внешний ключ book_id указывает на существующую книгу. В полной библиотечной схеме читателя можно вынести в отдельную таблицу и добавить второй внешний ключ.

ТаблицаКлючСвязь
Книгиbook_idОдна книга — много выдач во времени.
Читателиreader_idОдин читатель — много выдач.
Выдачиloan_idХранит book_id и reader_id как внешние ключи.
02

Целостность

03

Три типа связей

1:1

Одной записи A соответствует не более одной записи B: например, ученик и отдельная карточка доступа.

1:M

Одна книга имеет много исторических выдач; внешний ключ хранится на стороне «многие».

M:N

Много учеников посещают много кружков. Связь превращают в две связи 1:M через таблицу «Участие».

ERСхема библиотеки
КнигиPK book_idназваниеВыдачиPK loan_idFK book_idFK reader_idЧитателиPK reader_idимя группы1MM1