【发布时间】:2015-09-30 20:46:16
【问题描述】:
我正在使用 Spring MVC 和 hibernate 开发一个应用程序,其中某些表单可以由管理员动态配置。
例如默认情况下,用户将具有名字、姓氏、电子邮件等属性。但管理员可以添加更多字段,例如生日、地址、周年纪念日。
为此,我决定使用表单构建器方法。
如何为这样的系统设计数据库?
我决定的一种方法是:http://goo.gl/sMVuWl
但这里也不清楚,如何为新创建的字段存储数据。
如果您需要更多信息,请告诉我。
我使用的是 Spring MVC + hibernate,后端是 MySQL
【问题讨论】:
-
为什么不使用 {index, key and value} 方法?大多数时候它工作正常。
-
请详细说明一下。我不确定索引、键和值方法。
-
假设你的表
structure是:{id(PK),iduser(INDX),key(VARCHAR),value(TEXT)} 现在让我们在你的表structure中插入一些寄存器,如下所示插入structure值(1,1,'first_name','jhonson'),插入structure值(2,1,'last_name','harris'),插入structure值(3,1 , 'email', 'jhonson@domain.tld'), INSERT INTOstructureVALUES (4,2, 'first_name', 'ozzy'), INSERT INTOstructureVALUES (5,2, 'last_name', ' osbourne'),插入structure值(6,2,'电子邮件','admin@domain.tld'),插入structure值(7,2,'生日','1945-01-01' ) -
只是一个简单的示例,您可以使用基于 iduser(INDEX) 的键值对来构建表单,以区分用户和管理员。
标签: mysql database database-design