以下にその方法を示します。
これを行うためのより良い、より標準的な方法はありますか?
何よりもまず、一貫性を保つことです。
私は、あなたがあなたの質問で概説した慣習をほとんど持っていると思います。ただし、いくつかのコメント:
ポイント1と2は良いと思います。
ポイント3-悲しいことに、これは常に可能ではありません。列foo_bar
およびfoo_id
があり、どちらもfoo
テーブルanother_foo_id
列を参照する単一のテーブルfoo_id
をどのように処理するかを考えてください。これに対処する方法を検討する必要があります。しかし、これはちょっとしたケースです!
ポイント4-ポイント3と同様。複数の参照列がある場合に対応するために、外部キー名の最後に数字を導入することができます。
ポイント5-私はこれを避けます。それはあなたに少しを提供し、後日テーブルに列を追加したり削除したりするときに頭痛になります。
その他のポイントは次のとおりです。
インデックスの命名規則
インデックスの命名規則を導入することをお勧めします-これは、実行したいデータベースメタデータの作業に非常に役立ちます。たとえば、インデックスfoo_bar_idx1
またはfoo_idx1
を呼び出すだけでよい場合があります-完全にあなた次第ですが、検討する価値があります。
特異列名と複数列名
列名とテーブル名の複数対単一という厄介な問題に対処することをお勧めします。この主題は、多くの場合、DBコミュニティで 大きな議論 を引き起こします。テーブル名と列の両方に単数形を使用します。そこ。私はそれを言った。
ここでの主なことはもちろん一貫性です!
一貫性は、あらゆる命名標準の鍵です。それが論理的で一貫している限り、99%そこにいます。
標準自体は非常に個人的な好みであるため、標準が気に入った場合はそれを実行します。
あなたの質問に完全に答えるために-いいえ、MySQLには好ましい命名規則/標準がありません。
MySQLには、多少厳密なルールの簡単な説明があります。
https://dev.mysql.com/doc/internals/en/coding-style.html
Simon HolywellによるMySQLの最も一般的なコーディングスタイル:
この質問も参照してください: SQLの公開されたコーディングスタイルのガイドラインはありますか?
ありがたいことに、PHP開発者は、私が知っている一部の開発コミュニティのような「キャメルケースビゴ」ではありません。
あなたの慣習はうまく聞こえます。
A)シンプルで、b)一貫性がある限り、問題は見られません:)
PS:個人的には、5)はやりすぎだと思う...