2016-11-24 83 views
0

我有一個數據庫問題。 我有一個數據庫的結構是這樣的: 報價,Quotation_line_item數據庫設計(報價和發票)

當我的報價單轉換成發票,就是IM卡疑惑: 我應該做桌子這樣 發票,Invoice_line_item

還是應該發票只是指報價行項目?

任何有經驗的人都可以幫我提供一些最好的建議嗎?

我知道如果您更改報價單,發票也會改變 - 但是在生成發票時,我們將鎖定報價以進行編輯。

你會推薦什麼?

謝謝, 傑森

回答

1

當實體經過這導致不同狀態的處理,這些狀態應在一個單獨的表被保持。訂單項似乎不成問題。您是否設計了報價行項目,以便報價變成發票時,最新報價項目(假設您將以前的版本保留爲歷史記錄)成爲發票行項目?這很容易完成,因爲它沒有出現兩者之間有任何實際差異 - 只有上下文區分它們。

因此,您需要將QuoteInvoice表,具有FK的狀態表放到第一個表中,並將行項目表與FK一起用作第一個表,行號和日期(如果您保留版本)該版本生效。

+0

對不起,我現在只看到這個。是的,我確實有點像你描述的那樣。我有報價表,當它的發票有一個引用報價編號的發票表中的條目(發票表字面上就像id,quote_id,dateadded) – Mystx