如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
页码,1/7第10章数据依赖与关系模式规范化讲授内容:附加内容:10.1关系设计方法学概述学习要点10.2函数依赖与范式家庭作业*10.3多值依赖与范式英文课件/LectureNotes10.4关系模式分解10.1关系设计方法学概述一、何谓数据库的安全DB主要用于支持数据密集型应用(DataIntensiveApplications)数据密集型应用的核心问题是:DB设计DB设计----结构方面:目标:设计一个“好的”(Good)关系模式。But,Whatisagoodrelationalschema?二、“不好的”(Bad)关系模式:问题&原因考察关系模式:R(SNO,CNO,G,TEACHER,DEPT),其一个实例是:问题:冗余(Redundancy):重复多次:“C01”课的教师是“张乐”;“张乐”是“计算机”系的教师.异常(Anomalies):更新异常(UpdateAnomalies):“张乐”调到“土木”系,而只改了其中一个元组的值,出现数据不一致。“M03”课的教师换成“杨萍”,而只改了其中一个元组的值,出现数据不一致。删除异常(DeleteAnomalies):“C01”课不开了,需删除前三个元组,“张乐”是“计算机”系的教师的信息也随着被删除。原因:关系模式中数据的“语义”不单纯。在此,“语义”专指问题空间中固有的、相对稳定的数据依赖(DD)关系。e.g.函数依赖(FunctionalDependency,FD):一个/组属性X的值是否决定另一个/组属性Y的值。多值函数依赖(MultivaluedDependency,MVD);连接依赖(JoinDependency,JD)。对以上模式R,有以下三个函数依赖:2013-11-28页码,2/71.SNO,CNO→G2.CNO→T3.T→DEPT相应的表示了三个事实,为何不用三个模式呢?1.R1(SNO,CNO,G)2.R2(CNO,T)3.R3(T,DEPT)三、如何设计“好的”关系模式:规范化,模式分解&范式规范化(Normalization):将一个关系模式按“语义单纯化”的原则进行合理的分解----称模式分解(Decomposition),以最终达到模式分解的条件/准则:―起码:分解是无损的(Lossless):分解前后要等价,即对任何相同的查询总是产生相同的结果。(可通过“连接”分解后的诸关系重构原关系)。―理想:分解是保持依赖的(PreservingDependencies):这需进一步论述。范式(NormalForm):规范化(即模式分解)程度的一种测度。一个关系模式R达到x范式的程度称:RisinxNF,记为:R∈xNF;否则,称:RviolatesxNFcondition,记为:RxNF。四、权衡:规范化&性能规范化程度并非越高越好:程度:一般到BCNF/3NF已足够。策略:(TOP)10.2函数依赖与范式一、函数依赖2013-11-28页码,3/7[定函数依赖/决定子(Determinant)义]分裂/合并规则(TheSplitting/CombiningRule):[定平凡依赖/非平凡依赖/完全非平凡依赖义]平凡依赖规则(TheTrivial-dependencyRule):[定传递依赖义]传递规则(TheTransitiveRule):[定完全依赖/部分依赖义]二、范式[定1NF义]设有一个关系模式R,若R的任一关系实例r中的属性值均是原子数据,则称R属于1NF,记为R∈1NF。[注]1NF条件是传统关系数据库系统的基本要求,目前大多数RDBMS均要求如此。突破这一条件称非第一范式(non-firstnormalform,NF2)条件。E/R中的非原子属性在转化为关系时要这样处理:对集合属性:纵向展开;对元组属性:横向展开。2013-11-28页码,4/7[定2NF义]设有一个关系模式R∈1NF,若R的每个非主属性均完全函数依赖于键,则称R属于2NF,记为R∈2NF。[注][定3NF义]设有一个关系模式R∈1NF,若R的任一非平凡函数依赖XA满足下列两个条件之一:(1)X是超键,(2)A是主属性,则称R属于3NF,记为R∈3NF。[注][定BCNF义]设有一个关系模式R∈1NF,若R的任一非平凡函数依赖XA满足下列条件:决定子X必是超键,则称R属于BCNF,记为R∈