始める無料で始める

外部キーの追加

外部キーの参照は、スノーフレークスキーマとスタースキーマのどちらにも欠かせない要素です。これらのスキーマを作成する際、外部キーを正しく設定することが重要です。外部キーはディメンションテーブルとファクトテーブルを結びつける役割を果たします。また、1対多の関係を強制します。特に指定がない限り、外部キーはテーブル内に複数回登場できますが、主キーは1回しか登場できません。

fact_booksales テーブルには、book_idtime_idstore_id という3つの外部キーがあります。この演習では、以下のスタースキーマを構成する4つのテーブルがすでに読み込まれています。ただし、外部キーはまだ追加されていません。

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

データベース設計

コースを見る

演習の手順

  • sales_book という制約で、book_id を外部キーとして設定する
  • sales_time という制約で、time_id を外部キーとして設定する
  • sales_store という制約で、store_id を外部キーとして設定する

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

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

-- Add the book_id foreign key
ALTER TABLE ___ ADD CONSTRAINT sales_book
    FOREIGN KEY (___) REFERENCES ___ (___);
    
-- Add the time_id foreign key
ALTER TABLE ___ ___ ___ ___
    ___ ___ (___) REFERENCES ___ (___);
    
-- Add the store_id foreign key
___ ___ ___ ___ ___ ___
    ___ ___ (___) ___ ___ (___);
コードを編集して実行