【发布时间】:2010-02-05 13:03:57
【问题描述】:
我们目前正在考虑为我们的网络应用程序实现自定义字段的不同方法。用户应该能够为某些实体定义自定义字段并填写/查看此数据(并可能稍后查询数据)。
我了解实现自定义字段有不同的方法(例如,使用名称/值表或使用更改表等),我们目前倾向于使用 ALTER TABLE 将新的用户字段动态添加到数据库中。
在浏览了其他相关的 SO 主题后,我找不到这个解决方案的任何大缺点。相比之下,可以选择快速查询数据(例如直接使用 SQL 的 where 语句)对我们来说是一个很大的优势。
以这种方式实现自定义字段有什么缺点吗?我们谈论的是一个最多可供 100 个用户同时使用的 Web 应用程序(不是并发请求..),并且可以同时使用 MySQL 和 MS SQL Server 数据库。
【问题讨论】:
-
您如何知道哪些自定义字段与每个用户相关联?
-
您将如何以任何有意义的方式索引这些用户创建的列?
-
实现一个“数据字典”表是很简单的,用户可以在其中输入他们的要求:表 x 上的一个新字段,名称 y,数据库 z。这样您就可以找出用户的自定义字段并将其显示给该用户而不是其他人。
标签: mysql sql-server database custom-fields