sql >> データベース >  >> RDS >> Sqlserver

テーブルの名前付けのジレンマ:単数形と複数形

    私は同じ質問をしました、そしてここですべての答えを読んだ後、私は間違いなくSINGULARにとどまります、理由:

    理由1 (コンセプト)。 「AppleBag」のようなリンゴが入ったバッグを考えることができます。0、1、100万個のリンゴが入っていてもかまいません。常に同じバッグです。テーブルはまさにそのコンテナであり、テーブル名は、含まれるデータの量ではなく、含まれる内容を説明する必要があります。さらに、複数形の概念は、話し言葉の概念に関するものです(実際には、1つ以上あるかどうかを判断するためのものです)。

    理由2 。 (快適)。複数形よりも単数形の方が簡単に出てきます。オブジェクトは不規則な複数形を持つことも、まったく複数形にならないこともありますが、常に単数形になります(ニュースなどのいくつかの例外を除く)。

    • お客様
    • 注文
    • ユーザー
    • ステータス
    • ニュース

    理由3 。 (美的および秩序)。特にマスター/ディテールのシナリオでは、これは読みやすく、名前で整列し、論理的な順序が多くなります(マスターが最初、ディテールが2番目):

    • 1。注文
    • 2.OrderDetail

    比較対象:

    • 1.OrderDetails
    • 2。注文

    理由4 (単純さ)。すべてをまとめると、テーブル名、プライマリキー、リレーションシップ、エンティティクラス...は、2つ(単数クラス、複数テーブル、単数フィールド、単数-複数マスター-詳細)ではなく、1つの名前(単数)のみを認識する方が適切です。 。)

    • Customer
    • Customer.CustomerID
    • CustomerAddress
    • public Class Customer {...}
    • SELECT FROM Customer WHERE CustomerID = 100

    「顧客」を扱っていることがわかったら、データベースとのやり取りのすべてのニーズに同じ単語を使用することができます。

    理由5 。 (グローバリゼーション)。世界はますます小さくなっています、あなたは異なる国籍のチームを持っているかもしれません、誰もが母国語として英語を持っているわけではありません。英語を母国語としないプログラマーにとっては、「リポジトリ」よりも「リポジトリ」、または「ステータス」ではなく「ステータス」を考える方が簡単です。単数形の名前を使用すると、タイプミスによるエラーが減り、「子供なのか子供なのか」を考える必要がなくなるため、時間を節約でき、生産性が向上します。

    理由6 。 (なぜだめですか?)。書き込み時間を節約し、ディスクスペースを節約し、コンピュータのキーボードを長持ちさせることもできます!

    • SELECT Customer.CustomerName FROM Customer WHERE Customer.CustomerID = 100
    • SELECT Customers.CustomerName FROM Customers WHERE Customers.CustomerID = 103

    3文字、3バイト、3回の追加キーボードヒットを節約しました:)

    そして最後に、次のような予約済みの名前で混乱しているものに名前を付けることができます:

    • ユーザー>LoginUser、AppUser、SystemUser、CMSUser、...

    または、悪名高い角かっこを使用します[ユーザー]



    1. ループのないセットまたはシーケンスを生成する–パート2

    2. SQL:BETWEENvs<=および>=

    3. エラー:ライブラリ「/opt/PostgreSQL/9.0/lib/postgresql/plperl.so」を読み込めませんでした:libperl.so:

    4. SQLを学ぶべき10の理由