簡體   English   中英

多對多SQL關系

[英]Many-to-many SQL relationship

我有一個當前同時包含訂單和發票的表,但我認為這些應分為2個單獨的表。

 Order       Invoice
 141           428
 141           428
 141           428
 141           646
 141           646
 222           428
 222           428

在此示例中,我一直在尋求有關刪除多對多關系的正確方法的幫助。

在此處輸入圖片說明

1)您的示例顯示了一個有多個發票的訂單,但不一定有一個屬於同一訂單的發票。 a)如果發票僅屬於一個訂單,則應在“發票”表中輸入一個字段“訂單”(或您喜歡的任何其他相對名稱),並將其作為外鍵。 b)如果發票可以屬於多個訂單(這實際上是多對多關系),則應制作一個名為“ invoiceorder”之類的第三個表,該表將只有兩個字段,order和invoice,兩者這將分別是訂單和發票表的外鍵。

2)您的示例還顯示了多次使用的發票訂單元組。 您將必須對此有所了解。 也許如果您使用上面的選項1b,則可以添加一個ID,然后在(大?)表中具有一個字段,該字段將是此ID的外鍵。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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