是否可以在数据库字段中分隔数据?
像
这样的东西create table column_names (
id int identity (1,1) PRIMARY KEY,
column_name varchar(5000)
);
然后按如下方式将数据存储在其中
INSERT INTO column_names (column_name) VALUES ('stocknum|name|price');
答案 0 :(得分:8)
没有。这很糟糕:
为了创建新的查询,您必须追踪事物的存储方式。
加入价格或名称或stocknum的查询将会讨厌
数据库无法为数据分配数据类型或对其进行验证
您现在无法对任何此类数据创建约束
基本上你正在颠覆RDBMS的方案来处理和构建你自己的东西,所以你限制了RDBMS工具可以帮助你的程度,并且你让新系统更难理解系统。
我能想到的这种系统的唯一可能优势是它可以作为一种解决方法,以避免处理完全不可能的DBA,他否决所有架构更改,无论优点如何。不幸的是,这可能发生。
当然,所有事情都有例外。我目前正处于审计日志要求非常严格的项目中。日志记录是对数据库完成的,我们使用分隔字段来存储字段,因为应用程序永远不会与这些数据进行交互,它会被写入一次并保持不变。
答案 1 :(得分:4)
几乎肯定不会。