多分ダブルポストかもしれませんが、私はここで答えを見つけることができませんでした。
テーブルに名前を付ける方法をいくつか投稿しましたが、(半公式に)小文字を含める必要があり、アンダースコアを付けて単数形にする必要があることを理解しました(my_tableなど)
私が次のことをしなければならないときに私の質問が生じました。ユーザー、プラットフォーム、およびuser_infoがあり、プラットフォームはユーザーが作業しているものです(MAC、PC、LINUXなど)。ユーザーとプラットフォームの間にジャンクションテーブルを作成する必要がある場合、スキーマを参照する次のユーザーがuser_platformという名前のジャンクションテーブルを持っていることを理解するために、どのように名前を付けますか?ただし、テーブルuser_infoを見て混乱しないようにするには?
BR
小文字の名前の背後にある理由が明確でない場合、理由は次のとおりです。Postgresが自動的かつ非表示で名前を折りたたみます。したがって、これらの名前はすべて同じです:
user_platform
USER_PLATFORM
UsEr_PlAtFoRm
それらはすべて内部的にuser_platformです。それらを二重引用符で囲まない限り:
「UserPlatform」は「UserPlatform」です。ただし、このフィールドまたはテーブルを使用するには、名前を二重引用符で囲む必要がありますeverywhere使用します。それは完全な痛みです。したがって、次のような名前を表示することはかなり標準的です
user_platform
そうは言っても、二重引用符を使用しない限り、名前を書くことができます
User_Platform
読みやすくなった場合。
命名規則に関する限り、はい、1つ選択しそれに固執し、ルールを文書化します。 (デフォルトで)64文字で動作しますが、インデックス名の場合を除いて、これは問題ではありません。
テーブルをリンクするために、あなたが好きなものは何でも結構です。ユーザーとプラットフォームをリンクしていますか?
user_platform
user_link_platform
あなたが好むものは何でも。
単数と複数の議論に関しては、それは好みの問題です。一部の人々は気にします。たくさん。溝は不義の者の血で赤くなります!私はあなたが好きなことを何でもします。私はテーブル名を1つにまとめる学校に所属していますが、その主な理由は、ずっと前に習っていた習慣だからです。
ああ、二重引用符についての1つ...私はそれらを使用します。 PostgresデータをDomoと呼ばれる視覚化/分析プログラムに発送します。そのためには、MixedCaseに列(属性)名を含める方が適しています。そのため、「MixedCase」列のエイリアスを使用してビューを作成し、データが「MixedCase」という名前でエクスポートされるようにします。これは少しエキゾチックなシナリオですが、たぶん同じようなものに出くわすでしょう。通常、テーブルをクライアント側で変更しますが、ビューの方が簡単な解決策でした。
ボーナスチップ!まだ発見していない場合、Postgresのテキストフィールドでは大文字と小文字が区別されます。それが気に入らない場合は、次のことができます。
言及するのを忘れました... Postgresは、テーブルを含むシステム要素へのコメントを非常によくサポートしています:
https://www.postgresql.org/docs/current/sql-comment.html
もちろん誰かがあなたのコメントを探して読む必要がありますが、それはあなたがコンテキストを提供できるもう一つの場所です。そのコンテキストが、あなたが維持しているwikiへのリンクにすぎない場合などでも、.