2

ID、ユーザー名、メールアドレス、パスワードの列を持つテーブルユーザーがいます。そして、テーブルユーザーとの関係を持つ別のテーブルがあります。

一部の開発者はprefixway(column)id_userを使用し、一部の開発者はpostfix way(column user_id)を使用します。

どちらが正しいのか、そしてその理由。

4

3 に答える 3

4

正しい方法はありません、それはただ好みの問題です。名前のより意味のある部分を最初に配置し、読みやすくするために、接尾辞の上に接頭辞を使用します(または私は想像します)。

于 2012-06-27T14:37:08.973 に答える
4

IDの使用はSQLのアンチパターンであり、使用しないでください。テーブル名IDアプローチを使用するよりも問題が発生する可能性が高くなります。これは、dbで自然結合を使用して、間違ったIDに結合したり、複雑なSQLで間違ったIDに結合したりすることが非常に簡単であるためです。結合しているテーブルよりも)tablename idを使用すると、構文エラーが発生します。さらに、PKとFKが同じ名前を持つ方が理にかなっています。何に参加するかを正確に知ることが簡単になります。

IDTablenameまたはtablenameIDのいずれかを使用するかどうかは選択の問題です。私がアクセスしたすべてのデータベース(私のキャリアの中で数千)の中で、ほとんどはtablenameIdを好むようです。どちらを選択しても、データベース全体で一貫性を保つことができます。一部のテーブルがIdを使用し、一部がtablenameIdを使用し、一部がtablename_idを使用し、一部がId_tablenameを使用し、一部がIDtablenameを使用するデータベースを操作するのは非常に面倒です。パターンの一貫性は、オブジェクトに名前を付ける際に他のどの要素よりも重要です。

于 2012-06-27T14:53:49.467 に答える
0

記録のために:

ここで命名規則に関する情報を収集しています

https://medium.com/southprojects/database-naming-convention-the-definitive-guide-90424d6c2d36

そして、これまでのところ、user_id(またはデータベースで大文字と小文字を区別する列が許可されている場合はUserId )がid_userIdUser )よりも使用されていることがわかりました。ただし、どちらも有効です。

また、Oracleは正しい方法はuser_id_pkであると言っていましたが、このイデオロギーは時代遅れだと思います。

于 2018-01-06T11:05:48.563 に答える