1. 学ぶ
  2. /
  3. コース
  4. /
  5. PostgreSQL データベースの作成

Connected

演習

給食メニューをすっきり整理する

高校で学校運営の重要なデータを整理する取り組みが進んでいることを聞きつけ、カフェテリアのスタッフも参加したいと考えています。特に、学年を通して提供されるさまざまな給食メニューを記録しておきたいとのことです。IT スタッフの協力により、次のテーブルがその目的で定義されました。

CREATE TABLE meal (
    id INTEGER,
    name VARCHAR(50) NOT NULL
    ingredients VARCHAR(150), -- comma seperated list
    avg_student_rating NUMERIC,
    date_served DATE,
    total_calories SMALLINT NOT NULL
);

データベース正規化の知識を使って、meal テーブルのより良い設計を提案してください。

指示

100 XP
  • 食材を保存するための ingredient テーブル定義を完成させてください。
  • meal テーブルの id 列を PRIMARY KEY にし、2NF を満たすように ingredients 列と date_served 列を削除してください。
  • meal が提供される日付を保存するために meal_date の定義を完成させてください。
  • ingredient テーブル内の食材を meal_ingredient テーブルから参照できるように、meal_ingredient の定義を完成させてください。