2012-09-08 95 views
0

我想爲我正在處理的一個新項目想出一個乾淨的數據庫設計。一個我需要在數據庫中存儲將來自一個HTML表單中的數據項:數據庫設計,避免HTML表單上的冗餘數據

Q1: "Anticoagulated patient?" [YES, NO] 

JavaScript; 
(If yes is selected, an additional question is displayed): 

Q2: "Type of Anticoagulant" [Warfari, Coumarin, Clopidogrel] 

我的問題是,是否有必要存儲在數據庫中的第一個問題的回答?對我來說數據似乎是多餘的。如果指定類型,則可以假定患者是「抗凝的」。

一旦表單被提交,表單將在稍後訪問,所以數據可以被修改,並且接口將需要反映數據庫的狀態。我應該仍然可以做到這一點,而無需記錄第一個問題:

JavaScript;(If Q2 has a value, then the default option should be set to Yes 
otherwise it should be set to No) 

Q1: "Anticoagulated patient?" [Yes, No] 

JavaScript;(Only display if Q1 is set to Yes): 

Q2: "Type of Anticoagulant" [Warfari, Coumarin, Clopidogrel] 

你對此有何看法?

回答

1

我想說,存儲對問題1的響應所需的額外空間將遠遠超過Q2中標記的額外邏輯數量,因爲它暗示着Q1。把事情簡單化!

1

我認爲這兩個問題的確應該在客戶端處理,就像你所建議的那樣。這將提供更好的用戶體驗。

至於數據庫,不要使用兩個字段,一個是綽綽有餘。請注意,即使您沒有動態顯示第二個問題,您仍然可以將答案存儲在其他地方(例如Web服務器會話)而不是後端數據庫。

1

我認爲,你在這方面做出了正確的決定,但是考慮未來並擴展應用邏輯,也許你需要在後面添加另一個問題,那麼你將不得不將問題存儲在db, 簡而言之,當前情況足以存儲答案。