2011-05-28 15 views
-1

EDIT:dbデザインに関する質問と弱いエンティティの実装

オリジナルの質問は、OPとのコメントでは以下の会話ですが。質問はDBに固有のものです。効果的メンバーアドレスを有するという事実所与

アドレスは、メンバーテーブルまたは独自のテーブルに格納されるべきです。


オリジナル質問: 我々はメンバーのエンティティとアドレスと呼ばれる弱い実体があるとしましょう。アドレスにIDを割り当てて、メンバーエンティティのIDを弱いエンティティのアドレスにメンバーIDのフィールドを持つように実装する最良の方法はありますか?私は最高のものを区別しない。

第2に、これがBLLを設計する方法に影響すると思われますか?私はDDD上にいるので、弱いエンティティがメンバーのルートにある値オブジェクトの良い候補になるかもしれないと考えました。そうですか?

+0

実際には、質問があなたのために詳細やエリアで十分ではなかったかどうか疑問に思っていた – AliAliAli

+1

Hrm BLLとは何ですか? –

答えて

0

私はDDDの専門家ではありません。私は確かに問題のドメインの専門家ではありません。 (私のために、エンティティが表すものを明確にするのに十分な情報は提供していませんが)どちらかを理解できると思っています。

あなたは郵便アドレスと、ドメイン内の人物を上の代表メンバーについて話している場合。あなたは値オブジェクトとしてあなたのアドレスを持つことができ、それを変更したいときにそれを放棄します。一方、あなたは、更新、家の説明、家の価値の計算、税額の計算など、あなたの住所にもっと多くの機能を組み込むことができます。オブジェクト/エンティティが複雑になればなるほど、エンティティになりたいと思えるようになります。

あなたのドメインエキスパートと会話し、どのようにアドレスを使用するのかを確認する必要があります。

+0

実際に私はDALとデータベース設計についてもっと詳しく話しています。それは私が心配していることです.... – AliAliAli

+0

あなたが尋ねたことではないです。だから基本的にあなたはあなたのメンバーテーブルにアドレスフィールドを持っているかどうか尋ねていますか?またはメンバーテーブルの外部キーを持つ別のアドレステーブル? –

+0

はい!それはちょうどそれです – AliAliAli

0

メンバーに複数のアドレスを保存する必要があると思われる場合は、アドレステーブルを検討することができます。しかし、メンバーが1つのアドレスしか持たない場合は、それ自身のテーブルに入れるには十分かもしれません。それはあなたのメンバーエンティティにあなたが他に何を持っているかによって異なります。