Database design 复杂报表的数据库结构
我正在尝试为报表设计一个数据库。此表单有10个Database design 复杂报表的数据库结构,database-design,Database Design,我正在尝试为报表设计一个数据库。此表单有10个部分。 每个部分都与部门相关 当我们收到本报告时,每个章节或报告将发送到相应的部门 表单字段可以包含数字、日期、字符串或文本。有些章节还定义了一对多关系 我想了解一些建议,我应该为完整的报告定义一个表,还是为每个部分定义一个表 每种技术的优缺点是什么?对于这种自由格式的文档,最好的选择是像这样的文档数据库 如果你被关系数据库卡住,考虑更灵活的模式: 报告[报告id主键] 部门类型[部门类型id主键,部门id FK] 节字段[节字段id PK,节类型
部分
。
每个部分都与部门相关
当我们收到本报告时,每个章节或报告将发送到相应的部门
表单字段可以包含数字、日期、字符串或文本。有些章节还定义了一对多关系
我想了解一些建议,我应该为完整的报告定义一个表,还是为每个部分定义一个表
每种技术的优缺点是什么?对于这种自由格式的文档,最好的选择是像这样的文档数据库
如果你被关系数据库卡住,考虑更灵活的模式:
- 报告[报告id主键]
- 部门类型[部门类型id主键,部门id FK]
- 节字段[节字段id PK,节类型id FK,字段类型VARCHAR]-定义要为给定节类型填充的字段。字段类型可以是“数字”、“日期”、“字符串”和
- 报告部分[报告部分id PK、报告id FK、部分类型id INT、字段值VARCHAR]-给定报告中的实际部分包含对部分类型id和字段值VARCHAR的引用(由应用程序转换为所需字段类型)
这可能很难设置,但一旦报告/分区布局发生变化(总是比您预期的要快:)就会得到回报