数据仓库设计中的嵌套属性、模块化组件与元对象管理
1. 嵌套属性处理
在数据处理过程中,嵌套属性的处理是一个关键环节。我们将嵌套属性映射到另一个关系中,具体做法是把嵌套属性映射为一个外键,该外键引用额外关系的一个实例。当对这个额外关系进行查询时,查询会被转换。
以下是一个示例,展示了不同数据库中生成监控器所需的代码行数:
| 数据库 | 监控器数量 | 总代码行数 | 工具包文件代码行数 |
| — | — | — | — |
| Oracle | 15 | 1322 | 200 |
| PostgreSQL | 6 | 1942 | 629 |
从这个表格可以看出,使用工具包能显著节省编码工作量。在 Oracle 上,使用工具包可节省约 80% 的编码工作量;在 PostgreSQL 上,可节省约 65% 的工作量。主要原因是数据库中有大量的表,且平均监控器的大小比工具包模块短。不过,如果数据库中只有少量表,开发工具包的成本会更高。而且,在非协作信息源(如 PostgreSQL)上编码监控器比在协作信息源(如 Oracle)上更复杂。但使用工具包后,开发监控器时可以忽略监控器的所有细节。工具包也适用于模式可能发生变化的情况。
2. 对象 - 关系型数据库管理系统上的查询
2.1 冲突与解决方案
在对象 - 关系型数据库(如 Oracle8)中,集成器和数据库之间存在冲突。集成器向翻译模块发送纯关系型查询,但 Oracle8 可能使用查询无法处理的额外功能。为了解决这个问题,我们为集成器提供伪表,这样应用在这些表上的 SQL 语义就能轻松获取。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



