1

私は Azure と Idea Blade DevForce を使用していくつかの作業を行っていますが、エンティティをデータベース テーブルにマッピングするという点で最善のアプローチは何かと考えています...

エンティティはデータベースに独自のテーブルを持つべきですか? これを行うことによるパフォーマンス上の利点/不利益はありますか?

「注文」エンティティ、「製品」エンティティ、「顧客」エンティティ、および「住所」エンティティがあるとします。これらを 1 つのテーブルに混在させることと、それらをすべて分離することの長所と短所は何ですか? 明らかに、分離しなければ db は第 3 正規形にはなりませんが、MEF / DevForce を使用する場合は問題になりますか?

2 番目の (あまり工夫されていない) 例として、"Account" エンティティと "User" エンティティがあるとします。アカウントは多くのユーザーを持つことができますが、ユーザーは単一のアカウントにしか所属できません...そのように、それらすべてを1つのテーブルに入れてもユーザーデータは複製されませんが、私は(個人的に)このアプローチは明らかに間違っていると思います. 有利になる理由はありますか?

4

1 に答える 1

2

データの複製がどれだけ好きか、および開発者として真剣に受け止めてもらいたいかどうかによって異なります。すべてをヒープに投げ込むことは、私が考えることができる最悪のアンチパターンです。

たとえば、2 人の顧客に対して 4 つの注文を作成し、各注文には 5 つの製品が含まれているとします。顧客データだけでも、顧客ごとに 10 回繰り返されます。

編集:質問に対する私の答えは、強調された「はい」であることに注意してください。代替案についての議論を聞くことに興味があります...

于 2012-02-14T09:09:43.833 に答える