SQL - 在表中存储未定义的字段

时间:2014-11-17 10:13:00

标签: sql database-design

所以,我有一些想要存储用户数据的客户端,他们想要存储数据而不告诉我它是什么。我的意思是,他们可能会存储用户名,名字,姓氏和电子邮件等内容,但是有很多其他内容没有定义,可以改变。

因此,考虑到这一点,我想创建一个可以处理该数据的表。我正在考虑建立一个这样的表:

CREATE TABLE [dbo].[Details](
    [Id] [int] NOT NULL,
    [ClientId] [nvarchar](128) NOT NULL,
    [ColumnName] [nvarchar](255) NOT NULL,
    [ColumnValue] [nvarchar](255) NOT NULL,
 CONSTRAINT [PK_Details] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)

这是存储这些数据的最佳方式,还是我犯了错误?

在我开始制作这张桌子之前请帮助我! :d

1 个答案:

答案 0 :(得分:1)

向您的客户说明数据库知道的字段,如用户编号,名称和地址可以快速搜索,检查一致性,甚至用于程序控制(例如某些用户看到或可以做什么是其他人不能),而"未定义的数据"不会。

然后找出,如果他们确实需要单个实体。然后,名称/价值方法正是要走的路。然而,也许,每个用户存储一个注释就足够了,在那里他们输入所有注释,备忘录等,即只有一个文本来保存所有"未定义的数据"。如果可能的话,这将是一种更好的方法。

相关问题