簡體   English   中英

Relationship into table (ER-model into relational model)

[英]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-to-11-to-many ,我們不必也不應該創建關系表。
  • 對於多對多,我們必須創建一個關系表。

例子:

例如,假設關系是一對多(一個客戶可以有多個訂單)。 然后,我們可以在“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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM