2011-09-16 28 views
0

图片的网络服务,让用户构建几种不同类型的定制Web表单,然后填充每个形式具有不同值的多个实例。数据库体系结构,允许用户建立简单的网页形成

例如,制作一个名为“我看过的电影”的形式,包括诸如“流派”,“年份”,“导演”等字段以及另一种形式“我已阅读的书籍” ,“网页”等,然后在我的个人资料中注册很多电影和书籍。

我试图找出如何为这项服务数据库应该最大的多功能性组织:

  1. ,我认为最明显的方法是有一个单独的表为每一个新形式,是创建,但看起来它可能很慢,而且编程乏味。

  2. 另一种方法是限制用户可以插入的字段数量,并创建一个包含所有“表单”并具有诸如“Custom_value_1”,“Custom_value_2”等列的表格(我将不得不将每个值的标签和数据类型存储在另一个表中)。

  3. 有没有想过它尚未:)

回答

1

您正在考虑建立一个特定领域的关系型数据库和一键 - 值模型系统之间的差异。您可以查看这些条款以了解更多关于它们的信息。

的键值系统更灵活,但难以计划。关系模型要求你正确地模拟你可能想要放入数据库的每种“事物”,这种灵活性较低但更容易编程(因为你可以通过反思数据模型来构建表单) 。

在这种情况下,这听起来好像都不是真正适合您的最佳解决方案。我会研究一些更灵活的文档类型存储。特别是,这听起来像是对于XML或面向XML的数据库来说可能是一件好事。

+0

+1 @Bobby,键值方法的另一个优点是不需要每次都创建一个新的数据库表格 - 这需要更多的权限,因此开启了一个新的安全问题/风险来管理。 –

+0

(RE权限)以及这对MS SQL的情况下,我不知道有关MySQL明确。 –

+0

我意识到,这两种解决方案闹心。我不想拥有数百张表。但我太没经验了,所以我可以这样做,如果我没有想到一些破解... – Bobby

相关问题