[英]Relationship into table (ER-model into relational model)
我正在尝试将 ER 模型转换为关系型 model,然后再转换为 SQlite3 代码。
在 ER 模型中,我写了例如关系:
客户 - 有 - 订单
(其中 Customer 和 Order 是实体。Has 是关系)
我知道我需要将实体转换为表并将它们的属性转换为该表的字段
但是,我应该创建一个“订单”和“客户”实体之间“有”关系的表吗?
我应该,根据这篇文章: https://www.google.com/amp/s/www.geeksforgeeks.org/mapping-from-er-model-to-relational-model/amp/
问题归结为关系类型(一对一、一对多或多对多)。
快速回答:一般情况下,当关系类型为多对多时,我们只需要一个关系表**。
例子:
例如,假设关系是一对多(一个客户可以有多个订单)。 然后,我们可以在“1”侧添加实体的主键 (pk) 作为“多”侧的外键 (fk)。
Customer: (<customer_id_pk>, <other_fields>)
Order: (<order_id_pk>, <other_fields>, <customer_id_fk>)
在另一个例子中,假设这种关系是多对多的(客户可以有很多订单,并且许多客户可以出于某种原因共享一个订单)。 然后,我们将需要另一个表来表示关系。
Customer: (<customer_id>, <other_fields>)
Order: (<order_id>, <other_fields>)
Customer_Order_Relationship: (<customer_id>, <order_id>)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.