Open2

データベース設計

brooksbrooks

Db設計の大きな流れ

概念設計 → 論理設計 → 物理設計

概念設計

目的
データベースの全体像を掴むこと
やること
E-R図の作成

brooksbrooks

ER図

エンティティとリレーションで構成された設計図

  • エンティティテーブルみたいなものであり、属性と呼ばれるものを複数持つ
  • 属性はそのテーブルのカラムに対応するもの

主キー(Primary Key)

主キーは一意性とNOT NULLの制約を持つ

リレーション

多重度
リレーションには4種類の関係がある

  • 1対1、1対多、多対1、多対多

1の場合は「-」、多の場合は「→」で表現する
多重度

オプショナリティ
リレーションがあるエンティティの間において、インスタンスに対応するものがない場合を許容する場合は「〇」、必ず1つ以上を要請する場合は「●」で図示する。
オプショナリティ

基本的に多対多のリレーションは論理データモデルの段階で非正規形となってしまい都合が悪い。
多対多のリレーションは連関エンティティを作成することで1体多に変換する。

** 連関エンティティと核エンティティ **
多対多のリレーションに対して、両端のエンティティの主キーを属性に持つ連関エンティティを作成し、両端のエンティティの間に挿入する。
両端のエンティティは核エンティティと呼ばれる。
連関エンティティと核エンティティ

特殊な例

  • 外部キーとしてエンティティの主キーを設定する
    • 自己参照したいテーブルなどで用いる
  • あるエンティティの属性に同一の外部キーが複数ある場合、リレーションも複数存在する