2011-03-19 130 views
0

嗨,我必須創建一個數據庫結構來存儲稅收細節。我們如何在數據庫中存儲級聯稅?或數據庫結構存儲稅

我有一個itemDetails表,其中有項目的詳細信息,如名稱和價格。

問題是每個項目有兩個稅務服務費(10%)和增值稅(4%) 但稅收是級聯的,即我申請服務費後,然後對新的總額我必須申請我申請增值稅。

我想將它存儲在數據庫中;我可以通過硬編碼實現這一目標,但我希望在數據庫中這樣做,以便在未來客戶希望他可以通過指定哪些訂單適用稅收以及它們是否級聯來存儲更多稅。並且每個項目可能有不同的稅收結構..(例如,一個項目可能有上述稅收結構,另一個項目只有增值稅,另一個項目有完全不同的結構等)

我有一個稅種分類表用戶可以存儲稅收結構,每個項目都屬於稅種,即itemDetailsTable中有TaxCategory_id。我需要你的幫助從那裏找出答案。

+0

存儲稅的「類型」(我將存儲特定類型而不是類別),然後以編程方式應用公式(讓它成爲數據模型的* free *) - 無論是在您的程序中還是在存儲過程等。所計算的值*可以被存儲用於歷史計算時間的目的,儘管這樣的選擇應該與業務需求相關(例如,如果公式改變會發生什麼?)。 – 2011-03-19 02:58:49

回答

1

您可以添加具有與TaxCategory使用排序列來定義什麼順序稅被應用於一個多到一的關係另一個表。

TaxCategoryRates 

taxCategoryId taxRate taxRank taxDescription 
------------- ------- ------- -------------- 
1    10   1   Service Charge 
1    4   2   VAT 
2    3   NULL  Local Sales Tax 
2    4.5  NULL  State Sales Tax 

你的邏輯則適用的稅種,以的taxRank。如果您有其他稅種(訂單無關緊要)(如taxCategoryId 2),您可以將排名保留爲NULL,並讓您的邏輯累加稅率並應用它們。