DB2 最佳实践: 使用 Rational Data Architect V7 实现信息建模(下)
2010-01-04 00:00:00 来源:WEB开发网核心提示:Rational Data Architect 中的逻辑数据建模表规范化和反规范化表规范化是指将实体划分为多个物理表的过程,规范化通常是一种逻辑数据建模应用,DB2 最佳实践: 使用 Rational Data Architect V7 实现信息建模(下),规范化的目标包括:消除冗余数据,使用有效的数据依赖性,您将得到
Rational Data Architect 中的逻辑数据建模
表规范化和反规范化
表规范化是指将实体划分为多个物理表的过程。规范化通常是一种逻辑数据建模应用。规范化的目标包括:
消除冗余数据。
使用有效的数据依赖性。
最大化系统灵活性,以适应数据结构的未来增长。
第三规范形式(3NF)将第一规范形式和第二规范形式的规则组合在一起,并结合了 3NF 的独特需求。简单来说,3NF 的规则如下所示:
消除重复的组 – 为每一组相关属性生成一个单独的表,并为每个表提供一个主键。
消除同一表中的重复的列。
为每一组相关数据生成一个单独的表,并使用一个惟一的列或列集合(主键)识别每一行。
消除冗余数据 – 如果某个属性只依赖一个多值键的一部分,那么将其移动到一个单独的表中。
移除被应用到表的多个行的列数据,并将它们移到单独的表中。
通过使用外键在表与表之间生成有效的关系。
删除不依赖主键的列
如果属性没有用于描述键,应当将它们移动到一个单独的表中。
在创建逻辑数据模型时,模型应当位于第三规范形式(3NF)。这种设计方法为用户提供了灵活的模型,可以随着业务需求的发展和变化进行增长和扩展。尽管建议对逻辑模型使用第三规范形式,但是当以第三规范形式部署模型时,它们常常不能有效地运行。
规范化示例
下面的示例旨在帮助您理解规范化的过程。有许多种方法可以建模问题解决方案,但是本节的目的是提供对规范化的理解。
例如,某些人也许会认为您永远都不应该规范化表中的名称,而另一些人则认为应该对名称进行规范化,因为如果创建了一个存储中间名的列,那么您会遇到这样一种情况:许多人实际上并没有中间名。因此,您将得到许多值为 null 的记录。正如此例展示的一样,数据建模是一种经常无法给出确切解决方案的技能。
- ››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 数据模型
更多精彩
赞助商链接