2009-10-21 22 views
0

晚上好一切,需要開發SQL Server 2005數據庫來存儲保險費率

一個客戶問我開發一個Web應用程序內置在ASP.net 3.5他現有網站的一部分,這將使他的經紀人爲潛在客戶羣生成報價。這些引號需要使用存儲在SQL Server 2005數據庫中的比率表來導出。

表結構如下:

[dbo].[PlanRates](
[AgeCategory] [int] NULL, 
[IndustryType] [int] NULL, 
[CoverageType] [int] NULL, 
[PlanDeductible] [float] NULL, 
[InpatientBenefit] [float] NULL, 
[Rate] [float] NULL, 
[OPMD15Copay] [float] NULL, 
[OPMD25Copay] [float] NULL 

問題:假設我使用頁面驗證的Web應用程序,以驗證對業務邏輯輸入,你預計產生相對於Web應用程序返回使用引號問題上面的數據庫表格佈局?如果是這樣,你能提出一個更好的方法來組織我的桌子嗎?

獎金轉給任何編制了基於網絡的保險報價系統的人。

非常感謝您的幫助和指導。

回答

3

我肯定會添加一個代理主鍵,例如, PlanRatesID INT IDENTITY(1,1)以使每個條目具有唯一的可識別性。

其次,我想域「PlanDeductible」,「InpatientBenefit」,「價格」是貨幣價值,所以我肯定會令他們DECIMAL型的,而不是浮動。浮點數不夠精確,可能導致舍入誤差。對於DECIMAL,你還需要指定小數點前後的有效位數。 DECIMAL(12,3)或類似的東西。

就是這樣! :)

+0

非常同意使用固定的精度數據類型。 – Gratzy 2009-10-21 05:08:34

+0

代孕主鍵的好主意!那是我真正的痛點:) – SidC 2009-10-21 05:30:26

2

我會建議使用參數化查詢來保存檢索您的數據,以防止SQL注入。

編輯

它看起來像

[AgeCategory] [int] NULL, 
[IndustryType] [int] NULL, 
[CoverageType] [int] NULL, 

可能是外鍵,如果是的話,你可能不想讓他們爲空的。

+0

+1是的,這是一個絕對**必須**! – 2009-10-21 05:03:33

+0

非常合理的建議!謝謝!! – SidC 2009-10-21 05:31:09

1

無效的類別,類型和費率?

類別和類型列是向其他表存儲查找字段,存儲每種類型的附加信息。

您應該檢查哪些列是真的是可以爲空,並定義如何處理NULL值。由於費率可能發生變化,您還應該考慮表中的日期範圍(ValidFrom,ValidTo DATETIME),或者將歷史表與上表相關聯,以確保可以重複過去的費率計算。 (可能是法律/財務要求)

相關問題