0

過去の多くのプロジェクトでは、データベースの列名を「_」で区切った2つまたは3つの単語として保持する傾向があることを観察しました(例:first_name)。ただし、同じ列がJavaBeanの変数firstNameにマップされます。

なぜ人々がfirstNameのようなデータベースフィールド名を保持しないのに、その間に_を使用する傾向があるのか​​わかりません。iBatisを使用する場合でも、結果マップマッピングを定義するための追加作業です。

よろしく、ジャタン

4

3 に答える 3

4

多くのデータベースでは、大文字と小文字が区別されない列名とテーブル名が使用されています (これは、最近よりもさらに多くのケースで使用されていましcamelCasedColumnNameた) CAMELCASEDCOLUMNNAME。識別子にアンダースコアを使用すると、これらのデータベースではるかに読みやすくなり、頭痛を最小限に抑えてバックエンド データベースを変更できるようにしたい場合は、大文字と小文字が区別されるデータベースでも良い方法です。

コード側では、camelCase が Java のフィールド識別子の規則ですが、他の多くの言語ではアンダースコアが変数名とメソッド名の規則です。また、データベースを扱う際に開発者側で追加の作業を行うことなく、CamelCasedNames、underscored_names、またはその他の形式間で変換できるツールがあります。(たとえば、Ruby の ActiveRecord は、クラスの aがデータベース内のテーブルのNameLikeThisa にマップされることを認識しています。)name_like_this

于 2009-08-14T19:21:35.343 に答える
0

私は通常、データベース フィールドでも firstName を使用しますが、問題なく動作します。ただし、first_name を使用する正当な理由がいくつかある場合があります。おそらく、dbms、チーム、または会社がデータベースに first_name 表記を使用している場合や、誰かがその表記を気に入っている場合があります。

于 2009-08-14T19:14:34.127 に答える
0

データベースが複数の異なるアプリケーション間で共有されることはよくあることに注意してください。これらのアプリケーションは、Java 以外の言語で作成されている可能性があります (そのようなことが想像できる場合)。データベースが新しいアプリケーション用に構築されている場合でも、将来、他のアプリケーションと対話する可能性があります。

したがって、フロントエンドの言語の規則に準拠しようとするのではなく、データベース スキーマの規範 (一般に、大文字と小文字を区別せず、アンダースコアを使用することを意味します) に従ってデータベースに名前を付ける方が理にかなっています。

于 2009-08-15T20:40:12.620 に答える