2010-09-14 44 views
0

好需要一些幫助,數據庫架構設計幫助 - Mysql的

我有我創建,允許用戶購買網站的信用和贏得他們的系統,並與這些信用訂購產品,並獲得一些功能可能待售。我的問題是創建訂單和交易表。我有兩個單獨的訂單表,一個用於網站信用(sitecredit_orders),另一個用於產品訂單(product_orders),然後我希望能夠通過我的困境鏈接到訂單的1個交易表是我不能只做一個字段對於orders_id,因爲它們可能在2個不同的表中重疊。並且不能合併2個訂單表,因爲它們擁有2種不同類型的信息。我應該如何創建並將交易錶鏈接到這些訂單表?謝謝。

+1

您可以讓網站信用訂單和產品訂單爲獨佔子類型嗎? – 2010-09-14 22:02:24

+0

看起來你可能已經擊中了我正在研究亞型的錢。謝謝。 – 2010-09-14 22:09:33

回答

2

只是爲了擴大對我的評論:

的用的OrderId和訂單類型訂單表(「產品」或「網站信用」,這就是所謂的亞型鑑別)。

一個帶有OrderId(Orders.OrderId的外鍵)的Sitecredit_Orders表和站點信用所需的所有其他字段。

帶有OrderId(Orders.OrderId的外鍵)和產品所需的所有其他字段的Product_Orders表。

帶OrderId的事務表(Orders.OrderId的外鍵)。

當您添加新的網站信用或產品訂單時,您需要插入兩個表格而不是一個表格。在Orders中插入新記錄,獲取OrderId(假設它是自動生成的),然後使用相同的OrderId在其中一個子類型表中插入記錄。

+0

非常感謝,正是我需要的。 – 2010-09-14 22:22:34

+0

我應該製作OrderType的字段類型是什麼? – 2010-09-14 22:26:32