Mysql

在帶有復合鍵的表中應該如何理解基數?

  • July 13, 2020

我正在學習數據庫結構,在觀看以下影片時,我無法確定ENVIOPEDIDOPRODUCTO表之間是否存在基數?

在此處輸入圖像描述

如果我很清楚PEDIDOSPRODUCTOS之間存在 N:N 基數,並且我了解您要在ENVIO表中記錄的資訊,那麼我不清楚的是該表與另一個表之間是否存在任何基數提到了兩個。

圖像中的圖表是否正確(是否使用了“魚尾紋”符號)?如果不正確,我應該如何修改圖表以正確表達 meted 表之間的基數?

注意:ORDER(PEDIDO) 表可以關聯多個 PRODUCT(PRODUCTO),每個 PRODUCT 只屬於一個 ORDER。同時,必須註冊每個訂單的發貨,為此創建 SHIPMENTS(ENVIO) 表(該表具有 ORDERS 和 PRODUCT 表的主鍵作為外鍵)

為您的表格使用英文術語…

ORDER 和 PRODUCT之間沒有多對多的關係。每個訂單只有一個產品,因為 ORDER.Product_ID 依賴於 ORDER.Order_Number(ORDER 的主鍵)。我會說您圖表中的烏鴉腳符號與列定義不一致。

這意味著 ORDER to PRODUCT 是多對一的

其次,SHIPMENT 每個 SHIPMENT.Shipment_ID 有一個 ORDER 和一個 PRODUCT。這意味著每個訂單將有一個裝運(這也是一個產品)。一個產品(最終)會在不同的訂單中有很多發貨。

您的問題提到了一個複合鍵,但根據您的圖表,這些表中的每一個都有一個單列主鍵。

引用自:https://dba.stackexchange.com/questions/270884