データベース設計の命名規約について主流なものやおすすめがあればご教示ください。

前提:ひとまずMySQLを対象とします。

・テーブル名は複数形かどうか(userテーブルかusersテーブルか)
・主キーにテーブル名を含めるかどうか(例:usersテーブルの主キーは user_idとすべきか、idとすべきか(railsウェイ?))
・主キーにプレフィックスをつけるかどうか(Oracleウェイ? 例:http://www.shift-the-oracle.com/naming_rule.html
・カラム名にデータベース名を示すプレフィックスをつけるかどうか(例:http://www.realdealmarketing.net/docs/mysql-coding-standards.php
・indexの命名について
・頻出文字は短縮すべき? (れ:code ->cd)
など

いろいろ流派があるようですが、普及具合、可読性、開発しやすさ、将来のメンテナンス性などの点からどの規則を採用するべきかについて、お考えを共有していただければと思います。
また、流派に名前がついていればそれもあわせてごご教示いただければ幸いです。

参考)
http://qiita.com/genzouw/items/35022fa96c120e67c637
http://project.svc-service.net/guideline/database.html
http://q.hatena.ne.jp/list?word=%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9+%E5%91%BD%E5%90%8D

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2015/10/06 14:41:50
  • 終了:2015/10/13 14:45:04
id:daaaaaai

あんまり回答がないので調べたり聞いたりしたことメモ

1. テーブル名は複数形がいいっぽい(慣例、railsなど主流フレームワークの規約)
1.1 カラム名にテーブル名を使うときは単数形
2. 主キー「ID」は避ける(SQLアンチパターン:IDリクワイアド)
3. カラム名にテーブル名のプレフィックスをつけるのは避ける(using句使うため)
4. 省略形はやめる(富豪的に)

ほか、カラムの物理名決めるの難しい。
カナはあり得ないのでDDDでいうところのユビキタス言語を英訳するべきだが・・・。

回答(0件)

id:daaaaaai

質問文を編集しました。詳細はこちら

回答はまだありません

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません