可能性の重複:新しいプロジェクトの開始時に
Database, Table and Column Naming Conventions?命名規則
たびに、私は、データベース内のテーブルの規則と列に名前を付けることを考えています。あなたのお勧めはどんなケースですか?なぜですか?私はケース2ライク
ケース1 column_nameに
ケース2 ColumnNameに
ケース3. COLUMN_NAME
ケース4 COLUMNNAME
可能性の重複:新しいプロジェクトの開始時に
Database, Table and Column Naming Conventions?命名規則
たびに、私は、データベース内のテーブルの規則と列に名前を付けることを考えています。あなたのお勧めはどんなケースですか?なぜですか?私はケース2ライク
ケース1 column_nameに
ケース2 ColumnNameに
ケース3. COLUMN_NAME
ケース4 COLUMNNAME
大文字と小文字の区別がないため、#1のケースを使用する必要があります。また、キャメルケースは頭字語で吸う。
columnID
columnId
columnIDAlternative
columnIdAlternative
RASCScore
RascScore
column_id
column_id_alternative
rasc_score
また、単語間のスペースは、すべてを一緒に挟むよりも視覚的に楽しいです。下線をタイプする痛みが何であれ、絶対に価値があります。下線はスペースをシミュレートし、複合名詞やフレーズには通常の書かれた言語でスペースが入ります。オンリー・プレイング・トゥー・トゥー・ライスは、私は私のオブジェクトを名前として、私はまったく同じ私のテーブルに名前を付ける「どちらあなたが以前のプロジェクトで使用したもの」この場合の一貫性は、おそらく、特定のイデオロギーよりも重要である...
、値がより良い私にはそのように目立つように見えます。あなたが選んだものは、一貫性を保ちます!
ケース2(ColumnName)を使用します。下線は入力するのが苦痛です。
インデックス名、トリガ、または頻繁に入力されないその他のオブジェクトでは、アンダースコアはOKです。テーブル、カラム、ビュー、保存されたprocの名前は頻繁に使用され、そのアンダースコアに達すると頻繁に使用すると遅くなるので、それらを退出させます。
私はちょうどcamelCasing形式(4)優れた可読性を愛し、私は2つの理由で第2位に同意なしに下線
:
偶然、私はJava開発者がクラスで#4を使用する傾向があると考えています。クライアントソフトウェアがJavaであれば#4への私の答えを変えたいと思う。
...ソフトウェアがPHPで書かれている場合#1 :) – sasa
あなたが選ぶことを決めるときは、同じものに固執することが最も重要です。これは一貫しています。
これはわかりやすく、前述したように、アンダースコアは醜いので入力するのが面倒です。 #4は第2位です。 #3大文字とアンダースコアの両方が過剰です。
それらをラップするために作成しようとしています。これは現代のORM(Object Relational Mappers)ではうまく機能します。なぜなら、データベース構造(またはその逆)に基づいてオブジェクトモデルを作成することが多いからです。受け入れられた答えは、「アンダースコアを入力することの苦痛」を痛感しているようですが、私は真剣にそれを受けます。 RSIに苦しんで、特にShiftキーとCtrlキーを押さえている私のピンクで、私は不必要なアンダースコアを避けるために絶対にすべてを行います。もちろん、この問題に対する良い答えは、CapsLockキーをShiftキーまたはUnderscoreキーに再マップすることです。しかし、いずれにしても、ORMでの作業について誰も言及していないため、この回答を古い質問に追加します。私はほとんどのプログラミングを.NETで行っているので、私のプロパティのほとんどはラクダで書かれているので、私はラクダのケースでもdbカラムの名前を付けます。私はラクダのケーシングの略語に全く問題はない。だから私は次のようなことをする:
PersonDao.GetIdByName( "Hello world")。
キャメルのケーシングは間違いなく長い名前のために迷惑になる...しかし、私は長い名前を避ける。通常、それは私が物事を正しく構成していないことを意味します。私がそうでないと判断した場合、そのようなケースでは、長い名前は非常にまれであり、状況はとてもユニークで、とにかく私を遅らせるものではありません。
名前付けは絶対に重要だと思います。 XMLフェティッシュを持つ人と同じように、他の人はデータベースのフェティシズムを持っています。個人的に、ORMを使用してデータベースを完全に(またはできるだけ)無視するのが好きです。これを容易にするために、コードのプロパティに名前を付けるのと同じように、列の名前を付けます。だから最終的には、私のコードが存在する言語に存在するすべての慣例が使用されています。
に投票
@TheTXI - この質問は、テーブルの接頭辞に関するもので、名前のスタイルについてはありません。 – sasa
+1自分の質問の再編集! –