ER图,物理数据模型关系
ER Diagram, Physical Data Model Relations
我正在尝试创建一个非常简单的数据库超市管理系统。
我似乎对实体之间的关系如何工作有疑问,我正在使用 PowerDesigner 创建 ERD,然后从中生成所有内容(LDM、PDM、OOM)。这是个坏主意吗?
现在我的主要问题是在这 3 个表之间:
- 员工(收银员)
- 客户
- 订单(收据)。
我的做法是:
客户收集好自己要购买的商品,出示给员工,员工从机器上为客户下单,所以:
- 客户和员工之间存在关系(多对多):每个客户可以 request_order 来自一名或多名员工,每个员工可以 get_order 给一名或多名客户。
- Employee和Orders之间存在一种关系(1对多):每个Employee可以得到一个或多个订单,每个订单由一个员工取。
问题是如果我想知道与该特定订单相关的客户……我做不到。
我该如何解决?我怎样才能得到客户的具体订单。
我对此还是很陌生,对于任何明显的错误,我们深表歉意。
我坚持使用您标记的关系数据库上下文。
Data Modelling is an iterative process. There is a lot more definition that is needed, before the data model can be complete. Rather than answering the specifics that you request, which would be limited to one iteration; one increment, allow me to provide something more complete, several iterations progressed.
如果有用,请讨论此数据模型,并改进它以满足您的所有要求。
作为内联图当然太小了。作为 PDF Supermarket Data Model.
自 1983 年以来的关系数据建模标准是 IDEF1X。对于那些不熟悉标准的人,请参阅简称 IDEF1X Introduction.
I am using PowerDesigner to create the ERD and then generate everything from it (LDM, PDM, OOM). Is this a bad idea?.
- PowerDesigner 很棒。请忽略特定于 Oracle 的废话,它会让您过早地考虑物理问题。
- 跳过 ERD,它在关系范式的上下文中是脑死亡的,并且被特定于该范式的 IDEF1X 超越。
- 使用 实体级别 显示 ERD 等价。
- 对于小项目你可以忽略学术区别{CDM;低密度脂蛋白;数据管理; OOM 等}。
- 其实只有一个模型:一开始是“概念”,然后你就进入“逻辑”,最后,当“逻辑”稳定后,进入“物理”。
- 理解整个过程是合乎逻辑的。
- 不幸的是,在 PD 中,每个模型都必须有单独的“模型”或文件。
Now for my main problem It's between these 3 tables:
我已经解决了那个问题。还暴露了别人。
each customer can request_order from one or more Employee and each Employee can get_order to one or more Customer
each Employee can get_order to one or more Customer
是的,但这是总体结果。在每个购物或演示实例中:
- 一位顾客可以 request_order 一位员工(收银员)
- 一名员工可以 get_order 来自一名客户
The problem is if I want to know the customer related to that specific order......I can't. How do I fix this?
已解决:Each Order is Identified by (CustomerId, DateTime)
,即。 Customer
创建了 Order
.
备注
- 不要将流程元素(例如 Get_Order)与数据元素(例如数据模型)混合使用。这两个领域是分开的,并且受完全不同的科学支配。我们在这里解决数据;只有数据;只有数据。之后,流程模型就简单了。
RecordIds
是反关系的。关系数据库中当然不需要它们。阅读我的其他答案以获得详细解释。
- 关系键(又名复合键或复合键)是关系数据库中的标准票价。它们提供的完整性远远超过基于
RecordId
的文件。
- 您需要更精确地(说明确切的顺序)定义订单的创建方式。
请随时发表评论或提出具体问题。
我正在尝试创建一个非常简单的数据库超市管理系统。 我似乎对实体之间的关系如何工作有疑问,我正在使用 PowerDesigner 创建 ERD,然后从中生成所有内容(LDM、PDM、OOM)。这是个坏主意吗?
现在我的主要问题是在这 3 个表之间:
- 员工(收银员)
- 客户
- 订单(收据)。
我的做法是:
客户收集好自己要购买的商品,出示给员工,员工从机器上为客户下单,所以:
- 客户和员工之间存在关系(多对多):每个客户可以 request_order 来自一名或多名员工,每个员工可以 get_order 给一名或多名客户。
- Employee和Orders之间存在一种关系(1对多):每个Employee可以得到一个或多个订单,每个订单由一个员工取。 问题是如果我想知道与该特定订单相关的客户……我做不到。 我该如何解决?我怎样才能得到客户的具体订单。 我对此还是很陌生,对于任何明显的错误,我们深表歉意。
我坚持使用您标记的关系数据库上下文。
Data Modelling is an iterative process. There is a lot more definition that is needed, before the data model can be complete. Rather than answering the specifics that you request, which would be limited to one iteration; one increment, allow me to provide something more complete, several iterations progressed.
如果有用,请讨论此数据模型,并改进它以满足您的所有要求。
作为内联图当然太小了。作为 PDF Supermarket Data Model.
自 1983 年以来的关系数据建模标准是 IDEF1X。对于那些不熟悉标准的人,请参阅简称 IDEF1X Introduction.
I am using PowerDesigner to create the ERD and then generate everything from it (LDM, PDM, OOM). Is this a bad idea?.
- PowerDesigner 很棒。请忽略特定于 Oracle 的废话,它会让您过早地考虑物理问题。
- 跳过 ERD,它在关系范式的上下文中是脑死亡的,并且被特定于该范式的 IDEF1X 超越。
- 使用 实体级别 显示 ERD 等价。
- 对于小项目你可以忽略学术区别{CDM;低密度脂蛋白;数据管理; OOM 等}。
- 其实只有一个模型:一开始是“概念”,然后你就进入“逻辑”,最后,当“逻辑”稳定后,进入“物理”。
- 理解整个过程是合乎逻辑的。
- 不幸的是,在 PD 中,每个模型都必须有单独的“模型”或文件。
Now for my main problem It's between these 3 tables:
我已经解决了那个问题。还暴露了别人。
each customer can request_order from one or more Employee and each Employee can get_order to one or more Customer
each Employee can get_order to one or more Customer
是的,但这是总体结果。在每个购物或演示实例中:
- 一位顾客可以 request_order 一位员工(收银员)
- 一名员工可以 get_order 来自一名客户
The problem is if I want to know the customer related to that specific order......I can't. How do I fix this?
已解决:Each Order is Identified by (CustomerId, DateTime)
,即。 Customer
创建了 Order
.
备注
- 不要将流程元素(例如 Get_Order)与数据元素(例如数据模型)混合使用。这两个领域是分开的,并且受完全不同的科学支配。我们在这里解决数据;只有数据;只有数据。之后,流程模型就简单了。
RecordIds
是反关系的。关系数据库中当然不需要它们。阅读我的其他答案以获得详细解释。- 关系键(又名复合键或复合键)是关系数据库中的标准票价。它们提供的完整性远远超过基于
RecordId
的文件。 - 您需要更精确地(说明确切的顺序)定义订单的创建方式。
请随时发表评论或提出具体问题。