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

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

ERD Basics

詳細な説明

命名規則が重要な理由

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

テーブル命名ルール

ルール 良い例 悪い例
複数形名詞を使用 users、orders user、order
snake_caseを使用 order_items OrderItems、orderitems
説明的に user_preferences prefs、up
予約語を避ける user_orders order(SQL予約語)

カラム命名ルール

  1. snake_caseを使用: first_name、created_at、is_active
  2. 主キー: id(シンプル)または{テーブル単数形}_id(明示的)
  3. 外部キー: {参照先テーブル単数形}_idを使用 — 例:user_idはusers.idを参照
  4. ブーリアンカラム: is_、has_、can_のプレフィックスを付ける — 例:is_active、has_verified_email
  5. タイムスタンプ: created_at、updated_at、deleted_atを使用

結合テーブルの命名

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

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

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

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

ERDエディタでの適用

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

ユースケース

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

試してみる — ERD Editor

フルツールを開く →