我将开发一个应用程序,允许我们的客户定义将在某种反馈/调查环境中向用户显示的字段。例如,比萨店可能会有一个要求您最喜欢的馅料的场地,酒吧可能会有您最喜欢的啤酒品牌。
系统需要能够处理让我们的客户创建和修改这些字段,因为它们依赖于特定客户,并且可能不会重复。如果有某种方式根据类似客户的领域向客户提出建议,那将是理想的;例如,如果我们有第二个比萨店注册,在他们的管理页面上定义字段,可能会说类似的企业选择提出以下问题,并提供一个“样本”值列表。
这是否适合此表的Entity-Attribute-Value (EAV)
模型?传统的关系模型不起作用,因为它涉及许多称为“user1”等的字段,这当然对任何事情都非常笨重。
答案 0 :(得分:1)
不,你描述的系统不需要EAV,虽然你在下面看到的可能看起来与EAV模型有一些共同的元素:
CLIENT(clientId,clientName)
调查(surveyId,clientId)
答辩人(respondentId,surveyId,respondentName,respondentEmail)
问题(questionId,surveyId,questionText),例如“最喜欢的打顶”
OPTION(questionId,responseText),例如“凤尾鱼”,“意大利辣味香肠”
响应(questionId,respondentId,responseText)
客户可以创建许多调查,每个调查可以有很多问题,其中一些有建议的选项。答辩人对调查作出回应,他们的答案都记录为响应。 RESPONSE.responseText可能匹配也可能不匹配给定的OPTION.responseText,具体取决于他们是选择了一个选项还是键入了自己的响应。
这只是一个例子,您可能需要根据自己的具体要求制作此型号的许多变体。