[英]Products & Orders Table Structure in MySQL
我正在為一個電子商務系統設計一個數據庫,而我只是受制於這種情況。 我在想,如果站點管理員從后端刪除產品,那么與該產品相關的所有訂單也將被刪除。 如果刪除產品,防止這種情況發生的最佳方法是什么,那么它就不會打擾以前的訂單,因為我們必須同時顯示從產品表中提取的訂單中的產品詳細信息。
這是我目前擁有的三個表,並且還建立了外鍵關系。
Products
| product_id | name |
| 1 | iphone 5s |
| 2 | Samsung S3 |
| 3 | iphone 6s |
Orders
| order_id | customer_id | datetime |
| 1 | 12 | 2015-08-15 |
Order_Product
| order_product_id | order_id | product_id | qty | price |
| 10 | 1 | 2 | 1 | 300.00 |
謝謝
很少的選擇..
1>刪除產品不應真正刪除行,而應將產品標記為已刪除。 -首選
2>您可以使用產品表中的代理鍵作為訂單表所引用的主/唯一鍵。 當產品行被刪除時(如果必須的話),則對外鍵使用選項“ on delete set null”。 這里使用代理密鑰只是為了防止訂單表中的任何密鑰信息丟失。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.