【发布时间】:2013-08-12 23:56:17
【问题描述】:
我正在尝试实现一项功能,除了我系统中的所有报告之外,我将允许最终用户创建简单的报告。 (不是过于复杂的报表,涉及在具有大量逻辑的多个表中进行切片和切块)
用户将能够:
1) 从允许的表列表中选择一个基表(例如,客户)
2) 选择多个子表(例如,Address 表,AddressId 作为字段将Customers 链接到Address)
3) 从表格中选择字段
4) 有基本的排序
这是我当前的数据库架构,我很确定它远非完美,所以我想知道还有什么可以改进的
AllowableTables 表
此表格将包含用户可以根据这些表格创建自定义报告的列表。
Id Table
----------------------------------
1 Customers
2 Address
3 Orders
4 Products
报告模板表
Id Name MainTable
------------------------------------------------------------------
1 Customer Report #2 Customers
2 Customer Report #3 Customers
ReportTemplateSettings 表
Id TemplateId TableName FieldName ColumnHeader ColumnWidth Sequence
-------------------------------------------------------------------------------
1 1 Customer Id Customer S/N 100 1
2 1 Customer Name Full Name 100 2
3 1 Address Address1 Address 1 100 3
我知道这还不完整,但这是我迄今为止想出的。有没有人有任何参考设计的链接,或者对我如何改进它有任何意见?
【问题讨论】:
-
建议使用已经拥有此数据的 INFOMRATION_SCHEMA.table 和列视图,而不是再次存储它。
-
这会返回我数据库中的所有表
-
是的,但是您可以将表与 information_Schema.columns 连接起来以存储有关列的所有数据。无需复制。
标签: sql-server database-design report schema