DB2 最佳实践: 使用 Rational Data Architect V7 实现信息建模(下)
2010-01-04 00:00:00 来源:WEB开发网核心提示: 雪花型设计实际上是对星型模式的一个扩展,在雪花型设计中,DB2 最佳实践: 使用 Rational Data Architect V7 实现信息建模(下)(5),低基数的列常常被从星型模式的维度表中移动到另一个维度表,然后在两个维度之间建立一种关系,如果所有这些属性都包含在一个单一帐户实体中,那
雪花型设计实际上是对星型模式的一个扩展。在雪花型设计中,低基数的列常常被从星型模式的维度表中移动到另一个维度表,然后在两个维度之间建立一种关系。
反规范化是一种将表重叠在一起的过程,因此很可能会增加数据库中的数据冗余。反规范化对于降低数据库复杂性或减少连接数(用于获得所需数据)是有用的。数据库复杂度可以通过减少表的数量而降低。反规范化的主要目标是最大化系统性能并减少系统管理的复杂度。
虽然某些用户可能会在其逻辑数据模型中使用反规范化,但通常不建议这样做。反规范化会降低数据模型的灵活性,而这正是逻辑数据模型设计的目标之一。反规范化应当是一种物理数据建模任务,用来满足性能需求或降低针对特定数据库环境管理和开发系统的复杂性。
逻辑数据模型规范化最佳实践
逻辑数据模型应当始终遵循第三规范形式(3NF)。
一般化关系
一般化关系指父实体与子实体之间的特殊关系,可以帮助在查看逻辑数据模型时发现更多的含义。父实体被称为超类型,而子实体被称为子类型。子类型是父类型的一种,因此一般化关系也因此被称为超类型 - 子类型关系。
例如,关闭的帐户就是帐户的一种类型。打开的帐户是另一种帐户类型。它们各自可能拥有自己的独特属性,但是父类型具有通用的属性。因此打开的帐户可能具有一个余额,而关闭的帐户可能有一个关闭日期。父类型可能有一个帐户打开日期,因为所有帐户,不管是打开的还是关闭的,都需要一个打开日期。通过给出前面描述的一般化关系,用户可以从逻辑图表中获得更多含义。如果所有这些属性都包含在一个单一帐户实体中,那么对于为什么每个帐户都需要有一个关闭日期这一点会产生误解,即使它们永远也不会关闭。下图中的实体看上去不是很明白:
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››最佳ASP.NET编程习惯
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
更多精彩
赞助商链接