始める無料で始める

外部キーの参照整合性の動作変更

これまでに、次の3つの外部キー制約を実装しました。

  1. professors.university_iduniversities.id
  2. affiliations.organization_idorganizations.id
  3. affiliations.professor_idprofessors.id

これらの外部キーは現在、ON DELETE NO ACTIONという動作に設定されています。ここでは、 affiliationsから organizations を参照している列の動作を変更します。ある組織が削除された場合、その組織に関連するすべての所属情報が、どの教授のものであっても一緒に削除されるようにしましょう。

キー制約の変更は ALTER COLUMNでは行えません。代わりに、 既存のキー制約をDROP(削除) してから、異なるON DELETEの動作を持つ 新しい制約をADD(追加) する必要があります。

制約を削除するには、その名前を知っておく必要があります。この情報は information_schema に格納されています。

この演習はコースの一部です

SQL リレーショナルデータベース入門

コースを見る

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

-- Identify the correct constraint name
SELECT constraint_name, table_name, constraint_type
FROM information_schema.___
WHERE constraint_type = 'FOREIGN KEY';
コードを編集して実行