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

Connected

演習

オブジェクトとデータの対応を改善する

Small Business Development Center の client テーブルは、クライアントの連絡担当者の情報を含めずに定義されていました。データベースチームの当初の考えは、contact_name と contact_email 列を client テーブルに追加するだけ、というものでした。しかし、適切なデータ設計の観点から、将来的に連絡担当者が複数のテーブルから参照される可能性があるため、この案には反対しました。本演習では、client と contact オブジェクトを適切に分離できるよう、クライアント情報と連絡担当者情報のテーブル構造を定義します。

以前の client テーブルの定義を思い出してください。

CREATE TABLE client (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50),
    site_url VARCHAR(50),
    num_employees SMALLINT,
    num_customers INTEGER
);

指示

100 XP
  • contact テーブルを作成し、列は id(主キー)、name(最大長 50)、email(最大長 50)とします。
  • client テーブルに contact_id 列を追加し、外部キーとして設定してください。