微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何编辑关系属性以仅使用 LDM 中的部分 CDM 标识符?

如何解决如何编辑关系属性以仅使用 LDM 中的部分 CDM 标识符?

我正在使用 Power Designer 为简化的网络商店创建概念数据模型。

我无法指定订单收据间的关系。我希望收据在逻辑模型中的主键中只包含订单标识符的一部分(更具体地说,只有 order_id)。我无法通过调整关系属性来实现这一点(请参阅下面的屏幕截图;有问题的关系用绿色箭头标记)。

我应该简单地省略概念模型中的关系吗?


概念数据模型

enter image description here

逻辑数据模型

enter image description here

编辑

也许不清楚我是如何设想我的桌子的……

用户

用户名 密码 邮件 名字 姓氏 地址
hacker123 绿草 david.norton@gmail.com 大卫 诺顿 West Shire 40,1240 Neverland
音乐人100 超级密码 john.stewart@gmail.com 约翰 斯图尔特 奇异胡同 50,1250 外太空

产品

product_id 姓名 描述 price_per_unit unit_of_measure 供应
1 牙刷 100 NULL 5.99 200
2 超级糊200 为了灿烂的笑容 7.99 50

订购

order_id 用户名 product_id 金额
50 hacker123 1 2
50 hacker123 2 1
51 音乐人100 1 5

收据

receipt_id order_id
12 50
13 51

编辑#2

我刚刚意识到我应该将 Order 分成两个表!一个用于跟踪特定订单上的产品,另一个用于跟踪下订单的人。

也许我什至可以将 Order 表分成 3 部分

Order(order_id,order_time)

ProductsPerOrder(order_id,product_id,amount)

OrdersPlaced(order_id,username)

解决方法

您可以在逻辑模型中编辑关系!

如果您单击某个关系,则会出现一个 Relationship properties 对话框。有一个名为Joins 的标签。您可以在此处指定使用关系引用哪些列。

,

你有一个矛盾......有一部分说Order由User+Product+Order标识;另一个说 Order 有自己的标识符 order_id。

我猜第二个是正确的,通常的设计是 Order 有一个 id。

并且您需要更改 CDM 中订单和用户/产品之间的关系,以取消选中 Dependent 属性。这些链接只是强制性的,而不是依赖的(这意味着 Order 是相对于 User+Product 定义的)。

附言收据也是如此,它有自己的标识符。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。