资源描述:
《数据库设计理论.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、数据库设计及理论为复习方便,简明对数据库进行总结不求精辟,但求透彻友情提醒15周/16周周五均有实验,请按时参加outline关系模式可能存在的问题异常原因分析函数依赖关系模式的规范形式规范化步骤模式分解及其指标关系模式中可能存在的异常示例Student(Sid,Sname,DName,DDirector,Cid,Cname,CScore)其数据语义:系和学生1:n系和系主任1:1学生与课程n:m因此,主键(Sid,Cid)可能异常插入异常(插不进;插1个,却要求插多个)删除异常(删除时,删了其他信息;删除一个元组,却删除多个)冗余
2、(多次存储)更新异常(修改一个,却要修改多个)异常存在原因数据依赖是实体属性间相互关系的语义决定的。函数依赖、多值依赖、连接依赖。根源:属性间存在这些依赖关系解决方法:分解;每个关系模式表达的概念单一,属性间的数据依赖关系单纯化,从而消除异常。研究函数依赖是解决上述问题的重要课题函数依赖函数依赖,决定子(决定属性),依赖属性;部分依赖,传递依赖;平凡依赖Armstrong公理系统;逻辑蕴含,函数依赖集的闭包;自反律;增广律;传递律;合并规则;伪传递规则;分解规则;自含规则;关系模式的规范形式范式:关系模式的规范形式规范化:关系模式的
3、规范化过程。一般采用分解的办法,将低级的范式向高级范式转化,使关系的语义单纯化。1nf,2NF,3NF,BCNF,4NF,5NF1NF消除其中的部分函数依赖为2NF。即每个非键属性完全函数依赖于R的键。是2NF,且任何一个非键属性不传递依赖任何候选键,为3NF3NF消除主属性对键的部分和传递依赖为BCNF函数依赖的范畴内,BCNF达到最高级别函数依赖进一步讨论自变量、应变量函数依赖是具有时间独立性的,即对关系变量所有合法值均成立如果关系变量R满足A->B,而A不是候选码,则R中一定存在冗余依赖集的闭包函数依赖集S所蕴含的函数依赖的全
4、体称为依赖集S的闭包,记作S+Armstrong公理(定义直接证明)自反律(reflexivity),如果B是A的子集,则A->B增广律(augmentation),A->B,则AC->BC传递律transitivity):A-B,B->C,则A->C应用以上规则,推出其他规则自含规则(self-determination):A->A分解规则(decomposition):A->BC,则A->b,A->C合并规则(union):A->B,A->C,则A->BC复合规则(composition):A->B,C->D,则AC->BD举例
5、R(A,B,C,D,E,F),A->BC,B->E,CD->EF证明:AD->F思路上,有2种方法可以采用,一是证明F属于AD的F下加闭包,一是根据Armstrong公理证明。属性集的闭包原则上讲,反复使用以上规则,指导不在产生新的函数依赖为止,就可以计算函数依赖集的闭包---效率低,不可用算法—给定属性集Z,以及依赖集S,确定R中依赖Z的属性集Closure[Z,S]:=Z;Doforever;foreachFDX->YinSdoifXbelonginClosure[Z,S]thenClosure[Z,S]:=Closure[Z,
6、S]unionYendifClosure[Z,S]didnotchangeonthisiterationthenleaveloopEnd;例子R(A,B,C,D,E,F),A->BC,E->CF,B->E,CD->EF计算{A,B}关于S的闭包答案:{A,B,C,D,E,F}重要结论:可以方便判断函数依赖X->Y是否可以从S导出。Y属于X的闭包时,是属于的超码判断,当最小时,候选码的选择最小函数依赖集蕴含、覆盖,等价的概念最小函数依赖集每个函数依赖的右边只有一个属性每个函数依赖的左边是不可约的删除S中任何一个依赖都将改变其闭包计算最
7、小函数依赖集的算法例子R(A,B,C,D),A->BC,B->C,A->B,AB->C,AC->D右边写成单属性的函数依赖观察左边,是否可以约间,删除冗余的依赖答案:A->B,B->C,A->D关系数据理论的轮廓问题提出是数据库设计的要求。这里的数据库设计更多强调的是逻辑设计,并不是说物理设计不重要,相反,是相当重要的。但物理设计依赖与特定的RDBMS,而逻辑设计独立与RDBMS,并有成型的理论,再者,物理设计可以成为独立的阶段。Recall:数据库设计:概念设计使用工具是ER模型;逻辑设计工具就是规范化理论什么是逻辑设计—就是根据
8、应用系统的要求,构建“合式”的数据模式。也就是说根据系统要求,构造关系及每个关系由哪些属性组成。--更像一门艺术,而不是科学。这也就是数据库设计的目的,保证正确的数据结构,完整性约束等,主要思想就是“独立性”一些概念回顾关系/关系模式