2016-04-19 1 views
0

こんにちは皆さん。データモデル。 ¿複数のテーブルの名前を複数にしたり、複数にしたりしないでください。

はそれが便利なテーブルの名前を複数形です:私は、私は同じ質問を持っている任意のアプリケーションのための新しいデータモデルの開発を開始するたびに?

テーブルが格納されている場所(ユーザーなど)。 「ユーザー」または「ユーザー」と表示されますか?

このデータモデルで、私は、ORMのためのエンティティを生成し、新しい「ユーザー」新しい「ユーザー」はインスタンス化により正確と思われるので、私は、を複数形はありません。

私は、について考えてみたいと思います

おはようございます!

+2

について[表の命名のジレンマ:複数名の対特異]の可能な重複(http://stackoverflow.com/questions/338156/テーブル名 - ジレンマ - 単数対複数形) – SamyQc

+0

@SamyQc申し訳ありません:| – JSGarcia

答えて

3

私はそれがすべてあなたが実際のデータベースを使用しようとしているかに依存推測:このデータモデルで、私は、ORMのためのエンティティを生成し、それがより正しいと思われるので、私は複数形はありません

新しい「ユーザー」という新しい「ユーザー」をインスタンス化します。

しかし、どのフレームワークでどのツールを使用するのかというと、使用する言語に関する情報はほとんどありません。

通常、フレームワークまたはORMの標準に準拠することが最も良いと言います。たとえば、.NET Entity Frameworkの場合、テーブルはgenerated with a singular notationであり、これらのテーブルにマップされるクラス名も同様ですが、Ruby on Rails ActiveRecordデータベース内ではgenerated pluralizedですが、マッピングクラスは特異です。

あなたのアプリケーションのデータがアプリケーション自体よりも重要なものになっている場合(私たちはそのフレームワークまたは言語からまったく異なるものに移行する可能性があります)、またはデータベースに直接働く他の人たち(レポート、DBA、アナリストなどをしている人)がいれば、データベースの人々がテーブルを複数形にすることをお勧めします。

データベースレベルで複数化が意味をなさないと思うなら、usersテーブルにはおそらく複数のユーザーが存在することになります。同じ構造で複数のレコードを格納しない場合、なぜデータをテーブル形式で保存したいのですか?複数化するのは理にかなっています。

あなたはのは言わせ、X言語でデータの配列型を作成した場合、ユーザーのために、あなたも、あなただけの店ならば、それは複数が含まれていてもよいので、あなたは、おそらくusersそれを呼び出すuserそれを呼び出すことはありません最初は1つのこと。

なぜ、テーブル名を複数形にするのが良いアプローチなのかという私の推論になります。また、ORMで複数の文字列を設定するとほとんどの場合、マッピングが設定できます。Userクラスを例えば、usersテーブル。

更新:彼らはポイントを作るStackExchangeのDBAのhere is another good discussion共同組合

2

私はRailsのようなコンベンションがここで最高だと思います。 ORM内の単数形のモデル名、データベーステーブル内の複数の名前その理由は、彼らの責任が異なるからです。テーブルには複数のユーザーのレコードが格納されますが、指摘したように、通常は単一のユーザーをインスタンス化します。

関連する問題