如何处理许多列/变量架构?

时间:2014-08-22 00:31:41

标签: sql sql-server database-design reporting-services database-schema

如果已经提出这个问题,我会事先道歉。

我正在修改公司内部使用的报告应用程序。要求是:

  • 支持添加新字段(通过网络应用完成),并允许用户在构建报告时选择这些字段。目前有300个,现在它们的值存储在一个包含300列的SQL Server表中。用户必须能够在报表生成器中选择这些新字段。换句话说,架构是动态的。

  • 改善报告生成性能。

我的思维过程是将这300个(可能更多)列分成多个表(标准化),但我不确定这是否是正确的方法,因为似乎没有是一种逻辑分组数据的方式,而不会超过20多个表。

另一种选择是将值存储在行(键,属性,属性值)中,然后执行数据透视,但我不确定它是否会表现良好。这个选项可以很好地处理动态模式,但是在用户可以使用数据(视图)之前,必须以编程方式构建pivot语句。

谢谢!

0 个答案:

没有答案