对于每个用户必须填写的许多复选框的表单,我应该使用什么数据库结构?

时间:2011-07-07 21:51:09

标签: php mysql forms webforms

提前感谢大家帮助新手进行网络开发。

对于我的第一个项目,我有点不知所措。表单的几个部分向用户显示大量复选框,要求用户选择适用于他们的健康状况。一些健康状况出现在表格的多个这样的部分中。

我应该将其构建为与条件表和交集表的多对多关系吗?或者这个用户是多少,因为每个用户只需填写一次?如果是后者,我只能用userID和conditionName创建一个表,但是有些conditionName会出现几次

如果您认为它应该是多对多关系,那么在健康状况表(conditionID,conditionName)中输入至少100个健康状况的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

您对交集表的想法有正确的想法:

User Table
----------
userId (PK, AI)
...

Condition Table
----------
conditionId (PK, AI)
name
...

UserCondition
----------
userConditionId (PK, AI)
userId (FK)
conditionId (FK)

UserCondition表具有自己的自动递增主键。这允许您根据需要多次向同一用户添加相同的条件。