【发布时间】:2021-09-12 10:46:27
【问题描述】:
我正在使用 Power Designer 为简化的网络商店创建概念数据模型。
我在指定订单和收据之间的关系时遇到问题。我希望收据在逻辑模型的主键中只有一部分订单标识符(更具体地说,只有order_id)。我无法通过调整关系属性来实现这一点(请参见下面的屏幕截图;有问题的关系用绿色箭头标记)。
我应该简单地省略概念模型中的关系吗?
概念数据模型
逻辑数据模型
编辑
如果可能不清楚我是如何设想我的桌子的……
用户
| username | password | first_name | last_name | address | |
|---|---|---|---|---|---|
| hacker123 | greenGrass | david.norton@gmail.com | David | Norton | West Shire 40, 1240 Neverland |
| musicman100 | SuperPassword | john.stewart@gmail.com | John | Stewart | Strange Alley 50, 1250 Outer Space |
产品
| product_id | name | description | price_per_unit | unit_of_measure | supply |
|---|---|---|---|---|---|
| 1 | Tooth Brush 100 | NULL | 5.99 | piece | 200 |
| 2 | Super Paste 200 | For sparkling smiles | 7.99 | piece | 50 |
订购
| order_id | username | product_id | amount |
|---|---|---|---|
| 50 | hacker123 | 1 | 2 |
| 50 | hacker123 | 2 | 1 |
| 51 | musicman100 | 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)
【问题讨论】:
标签: database database-design relational-database entity-relationship powerdesigner