我正在尝试实现一个功能,除了我系统中的所有报告之外,我将允许最终用户创建简单的报告。(不是过于复杂的报告,涉及对具有大量逻辑的多个表进行切片和切块)
用户将能够:
1) 从允许的表列表中选择一个基表(例如,客户)
2)选择多个子表(例如,地址表,以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
我知道这并不完整,但这是我迄今为止想出的。有没有人有任何参考设计的链接,或者对我如何改进它有任何意见?