0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

テーブル設計を基本からまとめてみた【テーブル設計の手順】

Last updated at Posted at 2025-10-23

テーブル設計の手順

  1. システムの要件を把握
  2. テーブルの概要設計(ラフスケッチ)
  3. テーブルの詳細設計(最終調整)

1. システムの要件を把握

  • 設計の第一歩はシステムの要件と機能を明確にする

システムの要件

  • AmazonのようなECサイト

機能一覧

  • フロント画面
    商品検索
    商品詳細ページ
    マイページ(ログイン、購入履歴)
  • 管理者画面
    ログイン
    商品管理
    商品カテゴリー管理

2. テーブルの概要設計(ラフスケッチ)

テーブル一覧の洗い出し方

  • 機能一覧を見ながらシナリオに沿ってテーブルを洗い出す
店舗
テーブル
商品
カテゴリ
テーブル
商品
テーブル
ユーザー
テーブル
購入履歴
テーブル
店舗名 カテゴリ名 商品名 名前 購入日
メールアドレス 価格 住所 合計金額
パスワード 在庫 メールアドレス
パスワード

3. テーブルの詳細設計(最終調整)

3-1. 日本語を英語に変換

shops item_categories items users purchase_histories
name name name name create_at
mail price address price
password stock address
password

※ 命名規則

  • 半角アルファベット、半角数字、アンダーバー
  • テーブル名は複数形、カラム名は単数形が基本
  • text1,text2のような雑な名前にしない

論理名と物理名

  • 論理名 : 日本語の呼び名
  • 物理名 : 英語(DBで実際に扱う名前)

予約語

  • If
  • Null
  • Limit
  • Date
    など
    ※ 予約語は、テーブル名やカラム名に使用しない

3-2. カラムに型をつける

shops item_categories items users purchase_histories
id INT id INT id INT id INT id INT
name
VARCHAR(255)
name
VARCHAR(255)
name
VARCHAR(255)
name
VARCHAR(128)
price
INT
mail
VARCHAR(128)
create_at DATETIME price
INT
address
VARCHAR(255)
create_at DATETIME
password
VARCHAR(255)
updated_at DATETIME stock
INT
mail
VARCHAR(255)
updated_at DATETIME
create_at DATETIME create_at DATETIME
updated_at DATETIME updated_at DATETIME

VARCHARの桁数

  • 2の累乗数
    2,4,8,16,32,64,128,256,512...
  • ただし256だけは255にする
    256以上だとインデクスが貼れないから

id / created_at / updated_at

① id(プライマリキー)

  • int型 AutoIncreatment
  • shop_idのような名前にしない

② created_at / updated_at

  • datetime型
  • _dateではなく_atと命名

3-3. ER図を書きながら正規化

3-4. 規約条件やインデクスをつける

インデクス

  • 検索のキーになるカラムにつける
  • 主キーや外部キーにはつけない ⇨ 自動でつく

制約

  • NOT NULL制約
  • ユニークキー制約
  • 外部キー制約

参考サイト

データベース設計入門#3 テーブル設計の手順【実戦形式で解説】

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?