冗余数据库设计分析

冗余数据库设计分析

ID:34837691

大小:1.99 MB

页数:73页

时间:2019-03-12

冗余数据库设计分析_第1页
冗余数据库设计分析_第2页
冗余数据库设计分析_第3页
冗余数据库设计分析_第4页
冗余数据库设计分析_第5页
资源描述:

《冗余数据库设计分析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、数据冗余的定义以及导致的问厦践中合理利用冗余设计提高数据库运行性能和运行安全的原则、经验和方法。本论文中采魇的铡子都是作者表中嚣银行现幸亍信息系统应用中的优化设计经验和应用实倒,部分例子为了叙述的方便徽了籀亿。数据冗余的定义咀扭导致的问题第1章关系数据库的数据'‘余与规范化殴计第1章关系数据库的数据冗余与规范化设计1.1数据冗余的定义以及导致的问题[定义1】数据的冗余是稽在数据库中存储了同一信怠的多个拷贝。【11数据冗余会导致重复存贮、插入异常(特定的信息不能存人,除非一些其他的信息已经存储在库中)、修改异常(所有的拷贝都要被修改)和删除异常(删除一些

2、信息将导致其他一些信息的丢失)等问题。I.2冗余的分类根据数据瘁麴物理和逻辑构成两方西看,数据库妁冗余也可以分嚣大类:即物理屡面盼冗余帮逻辑藩瑟的冗余。1.2.I物理层灏的冗余物理层面的冗余主要包括数据库存储的硬件资源的冗余如各级存储设备等的冗余。由于数据库的物理实现是逻辑实现的基础,物理层面的冗余不但影响物理数据庠设计,也影响着逻辑数据库设计;而且,逻辑层面的冗余最终也会反映在物理层面上,因此,本文也会讨论~些涉及物理存储的冗余问题;但是,对于数据库运行相关的其他物理资源的冗余如处理机、嘲络等的冗余阔题(涉及并行与分布数据库设计),本文不详细讨论。3

3、第1章关系数据库的数据冗余与规范化设计1.2.2逻辑层面的冗余从关系数据库的逻辑构成看,关系数据库由表、索引和数据字典等组成,其表由属性定义的结构和元组(记录)组成[2】,其属性值域有多种类型,故关系数据库中的冗余有不同表现形式,主要包括表的重复(冗余表)、元组的重复(冗余记录)、属性的重复(冗余字段)、属性值的重复掣31,此外,索引和数据字典中也有冗余的情况。冗余表、冗余记录是很常见的冗余,尤其在数据仓库中。冗余表有一种特别的情况是仅表结构相同而表内数据不相同,例如分割转储的历史数据表与当前数据表;还有一种是存放一些可以通过其他表中数据运算出来的字段

4、(如统计数等)的表;此外,处理复杂关系运算(如嵌套查询)时引入的临时表也属这类。属性的重复有不同表的属性重复和同一表内属性重复:(1)不同表中属性重复常用来建立表之间联系;各表间的除主外键外多余属性应当删除。(2)同一表内有相同属性内容的多个属性。若非数据安全检查的需要,应删除之。(3)表内属性冗余有种特殊情况:可以通过其他属性内容计算出来的属性字段如摘要数据。属性值的重复按属性值域集合基的特点可以将其分为有限类和无限类。‘(1)无限类属性值的重复。无限类属性值是指其属性值域集合的基为无限大或者数据库记录数为同一数量级的属性值,如实数、整数、日d3Co

5、dd的信扈规则及茸推论第1章关系数据库的数据冗泉与规范化{殳计期、各种编号。无限类属性值偶尔也可能重复,但这只是巧合,而并非数据冗余。(2)有限类属性值的重复。有限类属性值是指其属性值域集合的蕊小于数据库记录数至少一个数量级的属性值,如存款种类名,丽点名,货币名等。索引本身就是一种冗余,索引中存放冗余数据的情况包括基于函数的索引(function-basedindex)与索引组织袭(index—organizedtable,lOT)。数据字典冗余主要是在数据字典中定义冗余的矮等,例如:定义备用日志文件等。此外,在数据仓库的元数据中的冗余也属于这类。还有

6、其他的冗余情况,如实体化视图。1.3Codd的傣息规则及其推论关系模型的羹基人E.F+Codd具体地给如了全关系型妁关系系统应遵循的十二条基本规则H。其中的规则l即信息规则是关系数据库设计的基本准则。Codd信息规则表述为:关系型DBMS的所有信息都应在逻辑一级上用唯一一种方法即表中的僮鼹式邈表示。下面我们讨论Codd信息规则的一个藿要推论:【定义2】设A和B是任意两个基裳,分别县有楣关联的基袁谓词PA和PB,当且仅当构造基个r行,使得PA(r)和PB(r)都是真的,则称A和B的含义蓬纛。第1章关系数据库的数据冗余与规范化设计1.3Codd的信息规则及

7、其推论推论(数据库设计中的基本原则)[51:在一个给定的数据库中,任意两个不同的基表不能有含义重叠。[例1]假定银行有一个统计客户存款的数据库DEP,其中每个客户有客户号(CNO)、姓名(CNAME)、网点号(BNO)$H存款(DEPOSIT)四列,用两个基表DEPA和DEPB表示,这两个基表有相同的属性(CNO、CNAME、BNO、DEPOSIT),其含义分别为“DEPA基表中只含有在行本部Bl网点开户的客户行”和“DEPB基表中含有不在B1网点开户的客户或存款不低于10000的客户行”.现在,要求将(C2,李四,B1,11000)行插入到DEP数据

8、库中,问题是应该插入到哪一个基表中呢?如将此行插入到DEPB基表中,而不是DEPA基表中,则意

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。