如何解决如何编辑关系属性以仅使用 LDM 中的部分 CDM 标识符?
我正在使用 Power Designer 为简化的网络商店创建概念数据模型。
我无法指定订单和收据之间的关系。我希望收据在逻辑模型中的主键中只包含订单标识符的一部分(更具体地说,只有 order_id
)。我无法通过调整关系属性来实现这一点(请参阅下面的屏幕截图;有问题的关系用绿色箭头标记)。
我应该简单地省略概念模型中的关系吗?
概念数据模型
逻辑数据模型
编辑
也许不清楚我是如何设想我的桌子的……
用户名 | 密码 | 邮件 | 名字 | 姓氏 | 地址 |
---|---|---|---|---|---|
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 举报,一经查实,本站将立刻删除。