数据库设计,避免HTML表单上的冗余数据

时间:2012-09-08 19:07:35

标签: database forms database-design

我正在尝试为我正在开发的新项目提供干净的数据库设计。我需要存储在数据库中的一个数据项来自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] 

您对此有何看法?

3 个答案:

答案 0 :(得分:1)

我认为这两个问题确实应该在客户端处理,正如您所建议的那样。这将提供更好的用户体验。

对于数据库,不要使用两个字段,一个是绰绰有余。请注意,即使您没有动态显示第二个问题,您仍然可以将答案存储在其他位置(例如Web服务器会话)而不是后端数据库。

答案 1 :(得分:1)

我想说,存储对问题1的响应所需的额外空间将远远超过将Q2标记为Q1所涉及的额外逻辑量。保持简单!

答案 2 :(得分:1)

我认为,你已经做出了正确的决定,但是只考虑未来并扩展应用程序逻辑,也许你需要在以后添加另一个问题然后你必须将问题存储在db中, 简要说明目前的情况,存储答案就足够了。