テーブルとカラムのERD命名規則

ER図におけるテーブルとカラムの命名のベストプラクティス。snake_case、複数形テーブル名、外部キーの命名パターン、予約語の回避を解説します。

ERD Basics

詳細な説明

命名規則が重要な理由

一貫した命名規則はデータベーススキーマを読みやすく、保守しやすく、エラーが少ないものにします。複数の開発者が同じデータベースで作業する場合、合意された規則が混乱を防ぎ、バグを減らします。

テーブル命名ルール

ルール 良い例 悪い例
複数形名詞を使用 usersorders userorder
snake_caseを使用 order_items OrderItemsorderitems
説明的に user_preferences prefsup
予約語を避ける user_orders order(SQL予約語)

カラム命名ルール

  1. snake_caseを使用: first_namecreated_atis_active
  2. 主キー: id(シンプル)または{テーブル単数形}_id(明示的)
  3. 外部キー: {参照先テーブル単数形}_idを使用 — 例:user_idusers.idを参照
  4. ブーリアンカラム: is_has_can_のプレフィックスを付ける — 例:is_activehas_verified_email
  5. タイムスタンプ: created_atupdated_atdeleted_atを使用

結合テーブルの命名

多対多リレーションシップでは、結合テーブルは両方のテーブル名をアルファベット順に組み合わせます:

  • users + rolesroles_users(アルファベット順)またはuser_roles(文脈的)
  • courses + studentscourse_enrollments(意味的な名前が推奨)

これらの落とし穴を避ける

  • 省略形: usraddrqty — 普遍的に理解されていない限り、完全に綴る
  • プレフィックス: tbl_userst_orders — テーブルの型は文脈から明らか
  • 混在した規則: 同じスキーマでcamelCasesnake_caseを混在
  • 一般的な名前: datainfodetails — 意味を伝えない

ERDエディタでの適用

ERDエディタでエンティティを作成する際、プロパティパネルでテーブル名を設定します。ツールはテーブル名とカラム名を生成されるSQLに直接渡すため、ここで規則に従うことで、エクスポートされたCREATE TABLE文が最初から本番環境に対応したものになります。

ユースケース

新しいチームのコーディング標準を確立する場合や、新しい開発者をオンボーディングする場合。ERD設計段階から適用された明確な命名規則は、初期スキーマ設計からアプリケーションコードやORMモデルまで一貫性を確保します。

試してみる — ERD Editor

フルツールを開く