我很努力使用數據庫設計來存儲客戶地址,並將它們與庫存系統中的訂單相關聯。目前,我有以下架構思路和3個選項:針對客戶和訂單的商店地址詳細信息
客戶
客戶ID
客戶名稱.....
CustomerAddress
AddressID
客戶ID
地址類型(結算,航運等)
AddressLine1
AddressLin E2 市
州
國家 郵編
訂單(選項1)
的OrderID
客戶ID
BillingAddressID
ShippingAddressID
訂單(選項2)
的OrderID
客戶ID
BillingAddressLine1
BillingAddressLine2
結算城市
BillingState
BillingCountry
BillingPostCode
ShippingAddressLine1
ShippingAddressLine2
ShippingCity
ShippingState
ShippingCountry
施ppingPostCode
訂單(選項3)
的OrderID
客戶ID
BillingAddressBlob
ShippingAddressBlob
我所需要的地址爲爲了保持靜態加班。所以如果我回顧兩年前的訂單,我可以看到正確的地址項目也被髮送並收費。
喜確切的地址,由於不同的地址,我已經看到了那個網站和您鏈接的shemas。不幸的是,它們沒有幫助,因爲這些模式中的命令和地址之間沒有關聯。 – Kiwi
感謝Siva,你能解釋爲什麼你要爲orderaddress創建一個單獨的表。由於每個訂單隻能有一個送貨地址和一個賬單地址,爲什麼不在訂單表中使用兩個地址ID?(選項1)? – Kiwi
- 訂單到地址是1-1映射,客戶到地址可以是1到多個映射。可能有多於1個地址,但只有活動地址需要存在。訂單更新時,新地址條目將在訂單地址表中更新。而在CustomerAddress表中將添加新條目。另外,當您查詢記錄時,您可能會查找客戶的訂單數量。除非您需要更多詳細信息,否則您可能不需要與客戶相關聯的地址。這是基於查詢的使用(我的觀點) – Siva