Alterna · учебный материал

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

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

Что в этом материале

Содержание и основные понятия

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_id
FK book_id
FK reader_id
Читатели
PK reader_id
имя группы
1
M
M
1

Структурная карта учебников