规范化-数据库设计原则
来源:互联网 发布:犯罪知乎 编辑:程序博客网 时间:2024/05/01 10:25
关系数据库设计的核心问题是关系模型的设计。本文将结合具体的实例,介绍数据库设计规范化的流程。
摘要
关系型数据库是当前广泛应用的数据库类型,关系数据库设计是对数据进行组织化和结构化的过程,核心问题是关系模型的设计。对于数据库规模较小的情况,我们可以比较轻松的处理数据库中的表结构。然而,随着项目规模的不断增长,相应的数据库也变得更加复杂,关系模型表结构更为庞杂,这时我们往往会发现我们写出来的SQL语句的是很笨拙并且效率低下的。更糟糕的是,由于表结构定义的不合理,会导致在更新数据时造成数据的不完整。因此,就有必要学习和掌握数据库的规范化流程,以指导我们更好的设计数据库的表结构,减少冗余的数据,借此可以提高数据库的存储效率,数据完整性和可扩展性。本文将结合具体的实例,介绍数据库规范化的流程。
回页首
序言
本文的目的就是通过详细的实例来阐述规范化的数据库设计原则。在DB2中,简洁、结构明晰的表结构对数据库的设计是相当重要的。规范化的表结构设计,在以后的数据维护中,不会发生插入(insert)、删除(delete)和更新(update)时的异常。反之,数据库表结构设计不合理,不仅会给数据库的使用和维护带来各种各样的问题,而且可能存储了大量不需要的冗余信息,浪费系统资源。
要设计规范化的数据库,就要求我们根据数据库设计范式――也就是数据库设计的规范原则来做。但是一些相关材料上提到的范式设计,往往是给出一大堆的公式,这给设计者的理解和运用造成了一定的困难。因此,本文将结合具体形象的例子,尽可能通俗化地描述三个范式,以及如何在实际工程中加以优化应用。
回页首
规范化
在设计和操作维护数据库时,关键的步骤就是要确保数据正确地分布到数据库的表中。使用正确的数据结构,不仅便于对数据库进行相应的存取操作,而且可以极大地简化应用程序的其他内容(查询、窗体、报表、代码等)。正确进行表设计的正式名称就是"数据库规范化"。后面我们将通过实例来说明具体的规范化的工程。关于什么是范式的定义,请参考附录文章 1.
回页首
数据冗余
数据应该尽可能少地冗余,这意味着重复数据应该减少到最少。比如说,一个部门雇员的电话不应该被存储在不同的表中, 因为这里的电话号码是雇员的一个属性。如果存在过多的冗余数据,这就意味着要占用了更多的物理空间,同时也对数据的维护和一致性检查带来了问题,当这个员工的电话号码变化时,冗余数据会导致对多个表的更新动作,如果有一个表不幸被忽略了,那么就可能导致数据的不一致性。
本文转自:http://www.ibm.com/developerworks/cn/db2/library/techarticles/dm-0605jiangt/
- 规范化-数据库设计原则
- 规范化-数据库设计原则 ()
- 规范化-数据库设计原则
- 规范化-数据库设计原则
- 规范化-数据库设计原则
- 规范化-数据库设计原则
- 规范化-数据库设计原则
- 规范化-数据库设计原则
- 规范化-数据库设计原则
- 规范化-数据库设计原则
- 规范化-数据库设计原则
- 规范化-数据库设计原则
- 规范化-数据库设计原则
- 规范化-数据库设计原则
- 规范化-数据库设计原则
- 规范化-数据库设计原则
- 规范化-数据库设计原则
- 规范化-数据库设计原则(呕心沥血)
- 论开发能力提高之道-御剑飞升的实现
- GPL & LGPL 补充
- UltraEdit 使用技巧笔记
- 成都华为员工跳楼
- 用ultraEdit编译和执行java程序
- 规范化-数据库设计原则
- Windows 文件保护的注册表设置
- JavaScript 中英文字符判断和长度计算
- discuz加解密函数
- 我的FTP://222.189.228.141
- HP的大中华区总裁 全球副总裁孙振耀退休感言
- discuz截取函数
- H.460.19介绍: H.323媒体穿越NAT和防火墙
- 关闭Windows 文件保护的方法