首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MDS中的关系

MDS中的关系
EN

Stack Overflow用户
提问于 2017-10-12 21:07:04
回答 1查看 1.2K关注 0票数 0

我有一个问题,关于你如何在两个不同实体的成员之间建立关系?例如,在1:1的情况下,您可以创建一个基于域的属性来引用实体。但是,如果您有一个具有多个地址的客户,并且您有一个地址实体。

当您更新客户实体的Address属性的成员时,基于1:M,我们如何才能表露这种关系并将地址实体连接到客户实体?

因此,如果客户实体中的地址成员发生了更改,由于我们没有映射的关系,更新过程将如何工作?

我知道在M:M中,你会用一张桥牌桌子。在MDS数据库中,哪个表将包含该关系信息?

如对文章、博客帖子、视频或想法有任何建议,将不胜感激。

谢谢你,安德里亚

EN

回答 1

Stack Overflow用户

发布于 2018-02-22 19:53:17

在MDS (主数据服务)中,您可以使用层次结构特性。

-选项1:创建显式层次结构

如果您使用的是Server 2012 (可能也是2014年),那么显式层次结构将解决这个问题。(见:显式层次结构(主数据服务) )

基本上,您将能够使用Customer实体行作为层次结构中的父节点(考虑树结构),并将一个或多个Address实体行指定为每个客户的子节点。

顾名思义,这需要“显式”管理。这意味着要么有人将使用MDS层次结构UI页面手动执行此操作(拖放),要么您可以使用SSIS包在加载暂存表时自动执行此操作。(见:使用暂存过程(主数据服务)移动显式层次结构成员 )

注意:显式层次结构已被废弃(启动SQL 2016 ...I think)

-选项2:创建派生层次结构(桥表- M:M)

这与前面为M:M关系提出的桥接表概念类似,但在MDS上下文中。

  1. 创建另一个实体,称它为CustomerAddressRelationship (比方说),现在我们称它为CAR。
  2. 向CAR添加2个域属性:一个是指客户实体,另一个是地址实体。
  3. 现在,如果需要,您可以在这个CAR实体上创建一个派生的层次结构,格式为CAR > Customer > Address。阅读更多关于派生层次结构:多到多(M2M)关系的信息

-选项3:创建派生层次结构(1:M)

  1. 别造车。只需向Address实体添加一个列CustomerID (比方说)。这样,每个地址都可能有0或1个与其相关的客户。
  2. 为1:M关系创建派生层次结构

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46718907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档