欢迎来到天天文库
浏览记录
ID:9729629
大小:69.00 KB
页数:12页
时间:2018-05-06
《数据库规范化三个范式应用实例--》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、数据库规范化三个范式应用实例>> 规范化为什么重要?目前很多的数据库由于种种原因还没有被规范化。本文中解释了其中一些原因,并用不同形式的范式(normalform)规范化了一个保险公司的理赔表。在这个过程中表的改变以及添加的一些附加表使数据库效率更高、错误更少、更容易维护。 数据库的规范化是优化表的结构和把数据组织到表中的实践,这样做数据才能更明确。规范化使你能够改变业务规则、需求和数据而不需要重新构造整个系统。 通过改变存储数据的方式--仅仅改变一丁点--并改变访问这些信息的程序,你就可以消除很多错误或垃圾数据出现的机会并减轻
2、更新信息所必要的工作量。 公司现实存在的一个问题可以用一句话概括我们一般都这样做。我们一般像采用那种方式存储信息;我们一般允许人们把任何信息写入<insertfieldname>;我们一般采用那种方式编程。这通常是一件坏事,特别是对于年轻的和正在学习的公司来说。但是,当有新的系统和更好的完成任务的途径的时候,有时采用那种方式任务完成得很好这句话可能需要重新探讨和修改。规范化数据就是公司常常采用的有益的方式之一。 尽管对于COBOL程序(例如任何COBOL程序员都熟悉的文件布局)使用数据来说,把它们(数据)存储在关系数据
3、库中与存储在平面文件中很相似,但是存储在平面文件中的方法并不是完成任务的必要的最好的途径,特别是由于你不了解两者之间的差别或害怕改变,而简单地把过去的观念带入到现在的方式。 注意:Dictionary.是这样定义规范化的:使其标准,特别使导致它符合某种标准或规范。或某种标准的强制接受。):一对多关联意味着给定实体的一个实例可以可以与另一个实体的零个实例、一个实例或者多个实例关联。每个人可能没有小孩、有一个小孩或多个小孩。每个人可能没有汽车、有一辆汽车或多辆汽车。 多对多(M:N):多对多关联(给定实体的零个、一个或多个实例与另一个
4、实体的零个、一个或多个实例关联)是一种直接模拟很复杂的关联,它经常被分解为多个1:M关联。由于多个家庭混合在一起,一个或多个小孩可能没有父母亲(孤儿)、一个父母(单亲家庭),多于一个父母(两个仍然在一起或者离婚的两个父母、或者离婚了又复婚了的父母)。房屋或财产可以转让给一个人或多个人,而这些人(一个或多个)在遗嘱上可能又一个或多个房屋或财产。 属性(Attribute):属性被认为是程序或数据库中的某些组件的可以修改的特性或特征,它可以被设置为不同值或者关系或表中的列。 Tuple:Tuple是关系数据库或非关系数据库中的排序了的
5、一组值或值属性:关系中的一行。 删除异常:删除异常指由于其它数据故意的删除而导致的数据矛盾或未预料到的数据(信息)丢失。 插入异常:插入异常指由于数据的缺少或缺乏导致没有能力把信息添加到数据库。 更新异常:更新异常指由于数据冗余或者冗余数据的不完整更新造成的数据矛盾。 关系的分解:关系的分解指把一个关系分解成多个关系,从而使关系符合更高的范式。 数据冗余:数据冗余指数据库中没有必要的数据重复。 数据完整性:数据完整性指数据库中数据的一致性。保证数据完整性很重要,只有这样用户才知道他们依赖的数据是正确的、他们查询的结果以及程
6、序才是精确的和符合期望的。 原子值:原子值是一个值,它既不是能被进一步拆分的一组值,也不是一个重复的组。每个列都有一个完整的值,但是只有一个值--这个值不能被分解为多个部分,它要么被数据库使用,要么被使用数据库的用户访问的信息。 参考完整性规则:参考完整性规则指存储在非空的外部健中的值必须是某种关系中的关键数据项。 外部健:外部健是一个关系中的一组属性(一个或多个列),它同时也是某种(相同的或其它的)关系中的主键。它是关系之间的逻辑链接。参考自己关系的外部健称为递归外部健。 功能依赖:功能依赖意味着一行中某个属性的值由该行中另
7、一个属性的值决定。这通常出现在主键(使某行唯一的信息片断)与该行的其它信息之间。城市和州的组合依赖于Zip(邮政)代码,即使给定的一个州中有很多Zip代码与某个城市关联。美国的每个合法的人员身份依赖于他的社会保障号码。 决定性:功能依赖左边的属性决定行中其它属性的值(Zip代码决定了城市和州;社会保障号码决定了人的身份;执照号码和州决定了汽车的拥有者)。 实体完整性规则:实体完整性规则指某一行的关键属性可能为空(如果你在某个城市就有一个Zip代码;如果你有一辆汽车就有一个执照号码)。 约束:约束是一种规则,它限定了数据库中的值。
8、号码必须是数字的;美元数量必须是数字的;state必须是合法的州或省;country必须是合法的国家;日期不能是2月31号。 现在你已经知道了很多相关的术语了,我们可以看看相关术语中规范会的意义了。下面的例子并不是典型
此文档下载收益归作者所有