データベース全体ER図
最終更新: [ 更新日を記載 ]
概要
このページでは、システム全体のデータベース構造をER図で表現し、テーブル間の関係性を明確に示します。
全体ER図
erDiagram %% サンプルECサイトのデータベース設計 members { UUID id PK "会員ID" VARCHAR email UK "メールアドレス" VARCHAR password "パスワード(ハッシュ化)" VARCHAR name "会員名" VARCHAR phone "電話番号" VARCHAR status "会員ステータス" TIMESTAMP created_at "作成日時" TIMESTAMP updated_at "更新日時" } products { UUID id PK "商品ID" VARCHAR name "商品名" TEXT description "商品説明" INTEGER price "価格" INTEGER stock_quantity "在庫数" VARCHAR status "商品ステータス" TIMESTAMP created_at "作成日時" TIMESTAMP updated_at "更新日時" } orders { UUID id PK "注文ID" UUID member_id FK "会員ID" INTEGER total_amount "総額" VARCHAR status "注文ステータス" TIMESTAMP ordered_at "注文日時" TIMESTAMP created_at "作成日時" TIMESTAMP updated_at "更新日時" } order_items { UUID id PK "注文明細ID" UUID order_id FK "注文ID" UUID product_id FK "商品ID" INTEGER quantity "数量" INTEGER unit_price "単価" INTEGER subtotal "小計" TIMESTAMP created_at "作成日時" } %% リレーション定義 members ||--o{ orders : "1人の会員が複数の注文を持つ" orders ||--o{ order_items : "1つの注文が複数の注文明細を持つ" products ||--o{ order_items : "1つの商品が複数の注文明細で使用される"
テーブル一覧
テーブル名 |
論理名 |
主要用途 |
詳細設計書 |
---|---|---|---|
[ テーブル名 ] |
[ 論理名 ] |
[ 用途説明 ] |
[ ファイル名 ] |
将来追加予定のテーブル:
テーブル名 |
論理名 |
主要用途 |
実装予定 |
---|---|---|---|
products |
商品 |
商品マスタ情報の管理 |
フェーズ2 |
orders |
注文 |
注文情報の管理 |
フェーズ2 |
order_items |
注文明細 |
注文商品詳細の管理 |
フェーズ2 |
主要リレーションシップ
現在実装済み:
親テーブル |
子テーブル |
関係性 |
外部キー |
カーディナリティ |
---|---|---|---|---|
[ 親テーブル名 ] |
[ 子テーブル名 ] |
[ 関係性の説明 ] |
[ 外部キー名 ] |
[ カーディナリティ ] |
将来実装予定:
親テーブル |
子テーブル |
関係性 |
外部キー |
カーディナリティ |
---|---|---|---|---|
members |
orders |
会員と注文の関係 |
orders.member_id |
1:多(1人の会員が複数の注文を持つ) |
orders |
order_items |
注文と注文明細の関係 |
order_items.order_id |
1:多(1つの注文が複数の明細を持つ) |
products |
order_items |
商品と注文明細の関係 |
order_items.product_id |
1:多(1つの商品が複数の明細で使用) |
データベース制約サマリー
一意制約:
[ テーブル名.カラム名 ]: [ 制約の説明 ]
外部キー制約:
[ 子テーブル.外部キー ] → [ 親テーブル.主キー ]: [ 制約の説明 ]
チェック制約:
[ テーブル名.カラム名 ]: [ 許可される値の説明 ]
インデックス戦略
高頻度検索用インデックス:
インデックス名 |
対象テーブル |
対象カラム |
用途 |
---|---|---|---|
[ インデックス名 ] |
[ テーブル名 ] |
[ カラム名 ] |
[ 用途説明 ] |
複合インデックス:
インデックス名 |
対象テーブル |
対象カラム |
用途 |
---|---|---|---|
[ インデックス名 ] |
[ テーブル名 ] |
[ カラム名, カラム名 ] |
[ 用途説明 ] |
拡張予定
フェーズ2(商品・注文機能):
商品テーブル: 商品マスタ情報の管理
注文テーブル: 注文情報の管理
注文明細テーブル: 注文商品詳細の管理
カート機能: 一時的な商品保持
フェーズ3(決済・配送機能):
決済テーブル: 決済履歴の管理
配送テーブル: 配送状況管理
配送先テーブル: 複数配送先の管理
フェーズ4(拡張機能):
レビューテーブル: 商品レビュー機能
ポイントテーブル: ポイント制度
クーポンテーブル: 割引クーポン機能
お気に入りテーブル: ウィッシュリスト機能
関連ドキュメント
[ テーブル名 ]: データベーステーブル設計テンプレート