>_ IzzyLab

Практическое задание

PostgreSQL: внешний ключ с CASCADE

средне

В базе shop создай таблицы authors(id int PRIMARY KEY, name text) и books(id int PRIMARY KEY, author_id int, title text), где author_id — внешний ключ на authors(id) с правилом ON DELETE CASCADE.

Что потренируешь:
  • внешний ключ
  • foreign key
  • on delete cascade
  • ссылочная целостность
  • postgresql

Разбор темы

Внешний ключ (REFERENCES) связывает столбец потомка с первичным ключом родителя и не даёт вставить висячую ссылку — это основа ссылочной целостности. Правило ON DELETE определяет поведение при удалении родителя: по умолчанию Postgres запретит удаление, пока есть ссылки, а каскадный вариант вместо ошибки сам удалит связанные дочерние строки — удобно, но опасно. Порядок создания важен: таблица, на которую ссылаются, должна существовать раньше дочерней. Правило удаления видно в разделе Foreign-key constraints при описании таблицы.

Что проверяется

  1. FK на books с ON DELETE CASCADE

Как это выглядит