数据库设计原则
数据库设计原则2010-06-09 11:08摘要
关系型数据库是当前广泛应用的数据库类型,关系数据库设计是对数据进行组织化和结构化的过程,核心问题是关系模型的设计。对于数据库规模较小情况,可以比较轻松的处理数据库中的表的结构。然而,随着项目规模的不断增长,相应的数据库也变得更加复杂,关系模型表结构更为庞杂,这时往往会发现写出来的SQL语句很笨拙并且效率低下。更糟糕的是,由于表结构定义的不合理,会导致在更新数据时造成数据的不完整,因此就必要学习和掌握数据库的
规范
编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载
化
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
,并指导更好的设计数据库的表结构,减少冗余的数据,借此可以提高数据库的存储效率,数据完整性和可扩展性。
序言
本文的目的是通过详细的实例来阐述规范化的数据库设计原则。在数据库设计中,简洁、结构明晰的表结构对数据库设计是相当重要的。规范化的表结构设计,在以后的数据维护中,不会发生插入(insert)、删除(delete)和更新(update)时的异常。反之,数据库表结构设计部合理,不仅会给数据库的使用和维护带来各种各样的问题,而且可能存储了大量不需要的冗余信息,浪费系统资源。要设计规范化的数据库,就要求根据数据库设计范式-也就是数据库设计的规范原则来做设计。
规范化
在设计和操作维护数据库时,关键的步骤就是要确保数据正确地分布到数据库的表中。使用正确的数据结构,不仅便于对数据库进行相应的存期操作,而且可以极大地简化应用程序的其他内容(查询、窗体、
报表
企业所得税申报表下载财务会计报表下载斯维尔报表下载外贸周报表下载关联申报表下载
、代码等)。正确进行表设计的正式名称就是"数据库规范化"。
数据冗余
数据应该尽可能少地冗余,这意味着重复数据应该减少到最少。比如:一个部门职员的电话不应该被存储在不同的表中,因为这里的电话号码是职员的一个属性。如果存在过多的冗余数据,这意味着要占用了更多的物理空间,同时也对数据的维护和一致性检查带来了问题,当这个员工的电话号码变化时,冗余数据会导致对多个表的更新动作。如果有个表不幸被忽略了,那么就可能导致数据的不一致性。
范式理论
第一范式
数据库表中的字段都是单一属性的,不可再分
第二范式
数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),即所有非关键字段都完全依赖于任意一组候选关键字
第三范式
在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖。(传递函数依赖,指如果存在A-B--C的决定关系,则C传递函数依赖于A)
综合上述:
满足范式要求的数据库设计师结构清晰的,同时可避免数据冗余和操作异常。者并意味着不符合范式要求的设计一定是错误的,在数据库表中存在1:1或1:N关系这种特殊的情况下,合并导致的不符合范式要求反而是合理的。
在我们设计数据库的时候,一定要时刻考虑范式的要求。