2017-10-12 7 views
0

2つの異なるエンティティのメンバー間の関係をどのように作成するのですか? たとえば、1:1の場合、エンティティを参照しているドメインベースの属性を作成できます。 しかし、複数の住所を持つ顧客がいて、アドレスエンティティがある場合。MDSでの関係

1:Mに基づいてCustomerエンティティのAddress属性のメンバーを更新すると、その関係を表示し、AddressエンティティをCustomerエンティティに接続できますか?

CustomerエンティティのAddressメンバーが変更された場合、マッピングされた関係がないため、更新プロセスはどのように動作しますか?

私はM:Mで知っていますが、ブリッジテーブルを使用します。そして、MDSデータベースでは、どのテーブルにその関係情報が含まれていますか?

記事やブログの投稿/動画やアイデアへのご意見をお待ちしております。

おかげで、多くの関係に アンドレア

+0

件名の記事や動画はわかりませんが、1対多の関係がある場合は、一般的にこれに対応する別の表を作成することを意味します(顧客が無制限のアドレスを持つことができると仮定した場合、彼らが持つことができる量に制限を入れたい)。例えばあなたのインスタンスの 'Addresses'テーブルには、顧客IDへのリンクがあります。顧客が一定の上限額(たとえば3つのアドレスの最大許容値)を持つことができる場合は、1つのテーブル(Address1、Address2、Address3)に保存することができます。それは... – ZLK

+0

顧客アドレステーブルが必要になりますが、これはMDSで管理する必要があります。 – RegBes

答えて

-1

1は、2つのテーブル、1つのテーブルを参照する多くのテーブルで構成されています。

Customer Table            Address Table 
+-------------+------------+-----------+----------------+ +------------+-------------+---------+ 
| customer_id | name_first | name_last | customer_class | | address_id | customer_id | address | 
+-------------+------------+-----------+----------------+ +------------+-------------+---------+ 
|   1 | Barack  | Obama  |    2 | |   1 |   1 | Place1 | 
|   2 | George  | Bush  |    2 | |   2 |   1 | Place2 | 
|   3 | Michael | Jordan |    1 | |   3 |   2 | Place3 | 
+-------------+------------+-----------+----------------+ |   4 |   3 | Place4 | 
                  |   5 |   3 | Place5 | 
                  |   6 |   3 | Place6 | 
                  +------------+-------------+---------+ 
0

MDS(マスターデータサービス)では、あなたは階層機能を使用することができます。

- オプション1:明示的な階層を作成

は、SQL Server 2012(あまりにもおそらく2014)を使用している場合は、明示的な階層は、この問題を解決します。

基本的に、顧客エンティティ行を階層内の親ノードとして使用し(ツリー構造を考えて)、1つ以上の住所エンティティ行を各顧客の子として割り当てることができます。

名前が示すように、これは「明示的に」管理する必要があります。誰かが手動でMDS階層UIページを使用してこれを行うか(ドラッグ・ドロップ)、SSISパッケージを使用して自動化しますステージングテーブル。 (参照:Move Explicit Hierarchy Members by Using the Staging Process (Master Data Services))を

注:明示的な階層が推奨されなくなりました(SQL 2016を開始...私は思う)

- オプション2:卓上M作成派生階層(ブリッジ:M )

これはM:M関係で以前に提案されたブリッジテーブルの概念と似ていますが、MDSコンテキストでは同じです。

  1. CustomerAddressRelationship(さんが言わせて)、今のところCARそれを呼びましょう、それを呼び出し、別のエンティティを作成します。

  2. CARに2つのドメイン属性を追加します.1つはCustomerエンティティを参照し、もう1つはAddressエンティティを参照します。あなたがしたい場合

  3. は今、あなたは形式CAR>カスタマー>住所でこのCARエンティティの派生階層を作成することができます。 Derived Hierarchies: Many-to-Many (M2M) Relationships

についてもっと読む - オプション3:作成派生階層(1:M)

  1. CARを作成しないでください。 住所エンティティにカスタマーIDの列を追加してみましょう。このようにして、すべての住所に0または1の顧客が関連付けられます。

  2. Create a Derived Hierarchy for 1:M Relationship

この情報がお役に立てば幸いです。