【发布时间】:2012-07-11 23:05:10
【问题描述】:
我正在为我的活动的访客创建一项调查。 但是,自从我创建数据库以来已经有一段时间了。所以我需要一些帮助。
我找到了一些解决方案,但它们的范围很广,我不需要。
访问者需要保持匿名,但他们可以留下他们的电子邮件(单独的表格电子邮件,未链接到任何 atm)。 他们有大约 20 个问题,有些是开放的,有些是一个选项(单选),有些是多个选项(复选框)。 这些问题需要可重复使用。 就是这样。 我只是不知道如何超越您在下图中看到的多对多。
我该怎么走? Answers 表需要与? Surveys_have_Questions,还是有问题?
编辑:
正如以下链接中的答案所述,大多数调查都基于经典设计模式。我的就是其中一项调查。更多信息在下面的链接中: What mysql database tables and relationships would support a Q&A survey with conditional questions?
【问题讨论】:
-
这可能更适合programmers.stackexchange.com
-
为什么?我在stackoverflow上遇到了关于数据库设计的各种主题。也许是 DatabaseAdministrators。
-
您的问题没有具体内容。基本上是——“这是我的要求,告诉我答案”。您还根据您的用例和需求定制了问题,在此过程中,在同一领域工作的其他开发人员不会普遍感兴趣的答案。出于这两个原因,我相信您不属于 stackoverflow 指南。您应该能够通过添加一个受访者实体(它应该替换您的“电子邮件”实体)来完成您的模型。受访者应该有一个可以为空的电子邮件地址属性。使用表格将受访者链接到调查。
-
假设您将该表称为 SurveyRespondent,则为该表提供它自己的 PK。然后创建一个表 SurveyRespondentAnswer,该表链接到每个给出的答案的 Surveys_have_Questions。添加记录答案所需的内容。您暗示了问题的“元”设计,可以让您描述问题的可能响应......但您可以看到这已经不是一个“简单”的设计。我建议改用 MongoDB,因为创建允许问题变化的“问题”集合要容易得多。
-
@gview,由于工作量大,我有点压力。所以我确实发布了这个想法,也许他们会为我提供一些答案。但是因为 ctrahey 基本上说我应该尝试和考虑我之前遇到的设计,所以我冷静下来并再次检查它,whatadayakno' 它起作用了。我只需要更好、更冷静地复习它。
标签: mysql database-design survey