关系数据库设计.doc

上传人:文库蛋蛋多 文档编号:2395225 上传时间:2023-02-17 格式:DOC 页数:13 大小:168KB
返回 下载 相关 举报
关系数据库设计.doc_第1页
第1页 / 共13页
关系数据库设计.doc_第2页
第2页 / 共13页
关系数据库设计.doc_第3页
第3页 / 共13页
关系数据库设计.doc_第4页
第4页 / 共13页
关系数据库设计.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《关系数据库设计.doc》由会员分享,可在线阅读,更多相关《关系数据库设计.doc(13页珍藏版)》请在三一办公上搜索。

1、关系数据库设计(1) 实体间的联系(2) 实体内部的联系数据库设计的基本问题在属性集合上成立的数据完整性约束数据依赖:通过一个关系中属性间值的相等与否体现出来的数据相互关系,函数依赖和多值依赖是最重要的两种数据依赖。关系模式存在的问题数据冗余更新异常插入异常删除异常1. 完全函数依赖有一关系模式R(U),设X、Y是该关系模式R(U)的不同属性子集,若XY成立,且X中不存在任何真子集 ,使得 X不是Y的子集也成立,则称Y完全函数依赖于X,即为完全依赖关系。2. 部分函数依赖定义3:在关系模式中,设X、Y是该关系模式R(U)的不同属性子集,若XY成立,如果X中存在任何真子集X,而且有XY也成立,则

2、称Y对X是部分函数依赖3. 传递函数依赖定义4:设X、Y、Z是某关系模式R(U)的不同的属性子集,定义中说明YX,是因为如果YX,则有XY,实际形成XZ是直接函数依赖,而非传递函数依赖。例:SNOCLASS, CLASSDEPT,则有:SNODEPT函数依赖和键的关系(1) 超键、候选键(2) 主键(即主关键字)(3) 外键(即外部表的码)(4) 主属性和非主属性模式分解解决数据的冗余和操作异常的方法是模式分解,消除“不良”的函数依赖,从而获得良好的关系模式。具有无损连接特性和保持函数依赖特性无损连接:是指分解后的关系经过自然连接可以恢复成原来的关系保持函数依赖:是指分解后的关系不能破坏原来的

3、函数依赖逻辑蕴含和闭包逻辑蕴含:根据给定的一组函数依赖来判断另外一些函数依赖是否成立。例如:设F= AB,BC ,则函数依赖AC被F逻辑蕴含,记作:F |= AC。即函数依赖集 F 逻辑蕴含函数依赖AC。可通过选择一个属性子集,判断该属性子集能函数决定哪些属性,这就是利用属性集闭包的概念。可通过选择一个属性子集,判断该属性子集能函数决定哪些属性,这就是利用属性集闭包的概念。关系模式的规范化数据依赖引起的主要问题是操作异常,解决的办法是进行关系模式的合理分解,也就是进行关系模式的规范化。范式:符合某一种级别的关系模式的集合。由于对关系模式的规范化要求不同,出现了不同的范式,有1NF、2NF、3N

4、F、BCNF、4NF、5NF等。其规范化的条件按上述次序越来越强,后面范式可以看成前面范式的特例。把低级范式的关系模式,通过分解转换为高一级范式的关系模式的集合,这个过程称为关系模式的规范化设计。第一范式如果一个关系模式R( U )的所有属性都是基本的、不可再分的最小数据项,称为第一范式。如果关系模式仅仅满足第一范式,可能会存在数据冗余和操作异常。 函数依赖包括: (Sno, Cno) f Grade Sno Sdept (Sno, Cno) P Sdept Sno Sloc (Sno, Cno) P Sloc Sdept Sloc (1) 插入异常 假设Sno2005102,Sdeptjsj

5、,SlocN的学生还未选课,无课程号,由于“课程号”这一主属性未赋值,导致该生的Sdept等信息无法录入SLC。(2) 删除异常 假定某个学生已选修了一门课程,但因身体不适,需放弃所选修课程。由于课程号是主属性,要删除该学生选修的课程,将导致该生信息的整个元组都要删除。(3) 修改复杂 学生转系时,在修改学生元组的Sdept值的同时,还可能需要修改住处(Sloc)。如果这个学生选修了多门课,则必须无遗漏地修改该生有关的所有元组中的Sdept、Sloc信息。(4) 数据冗余度大 如果一个学生选修了10门课程,那么他的Sdept和Sloc值就要重复存储了10次。SC(Sno, Cno, Grade

6、) SL(Sno, Sdept, Sloc)第二范式定义: 如果关系模式R满足第一范式,且它的任何一个非主属性都完全函数依赖于任一个候选码,则R满足第二范式(简记为R属于2NF)。(1)所有单属性关键字关系都自然是2NF关系 (2)如果关键字是多属性组成的复合关键字,且存在非主属性对关键字的部分函数依赖,则这个关系不是2NF关系。 函数依赖:SnoSdept SdeptSloc SnoSloc Sloc传递函数依赖于Sno,即SL中存在非主属性对码的传递函数依赖。这种传递函数依赖的存在仍会导致操作异常和数据冗余问题第三范式定义:如果关系模式R满足 2NF,并且它的任何一个非主属性都不传递函数依

7、赖于任何候选码,则称R是第三范式3NF, 记作R属于3NF。 如果存在非主属性对关键字的传递依赖,则相应的关系模式就不是3NF关系。例:SL(Sno, Sdept, Sloc) 2NF SL(Sno, Sdept, Sloc) 3NF2NF关系分解为多个3NF关系后,可以解决原2NF关系中存在的操作异常和数据冗余问题。函数依赖图:采用投影分解法,把SL分解为如下两个关系模式,以消除传递函数依赖: SD(Sno, Sdept) DL(Sdept, Sloc)SD的码为Sno, DL的码为Sdept。BC范式(BCNF)设关系模式R1NF,如果对于R的每个函数依赖XY,若Y不属于X,则X必含有候选

8、码,那么RBCNF。如果R(U,F)3NF,并且不存在主属性对非主属性的函数依赖,则R(U,F)BCNF。由关系模式的定义可以得到如下结论,若R属于BCNF,则R有:1.所有非主属性对每一个码都是完全函数依赖。2.所有的主属性对每一个不包含它的码,也是完全函数依赖。3.没有任何属性完全函数依赖于非码的任何一组属性。由于RBCNF,按定义排除了任何属性对码的传递依赖与部分依赖,所以R3NF。但是若R3NF,则R未必属于BCNF。保持3NF,警惕主属性对非主属性的函数依赖带来的操作异常现象。一个关系模式如果属于BCNF,那么在函数依赖范畴内已实现了彻底的分解。多值依赖(多值依赖的缺点是:数据冗余太

9、大)设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖XY成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值有一组Y的值,这组值仅仅决定于x值而与z值无关。平凡的多值依赖与非平凡的多值依赖:若XY,而Z为空集,则称XY为平凡的多值依赖;若Z不为空,则称其为非平凡的多值依赖。第四范式R1NF,如果对于R的每个非平凡多值依赖XY(Y X),X都含有候选码,则R4NF。4NF就是限制关系模式的属性值之间不允许有非平凡且非函数依赖的多值依赖。因为根据定义,对于每一个非平凡的多值依赖XY,X都含有候选码,于是就有XY,所以4NF所允许的非

10、平凡的多值依赖实际上是函数依赖。函数依赖和多值依赖是两种最重要的数据依赖。如果只考虑函数依赖,则修正第三范式后的BCNF的关系模式规范化程度已经是最高的了。数据库设计过程:指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。软件设计 可行性分析 需求分析 总体设计 详细设计 编码与测试 综合测试 软件运行维护数据库系统设计流程l 规划l 需求分析阶段l 概念设计阶段l 逻辑设计阶段l 物理设计阶段l 数据库实施阶段l 数据库运行和维护阶段数据字典是各类数据描述的集合,通常包括数据项、数据结构、数据流、数据存储和加工过程等五个部分。在规范化过程中,椎间消除存储异常,是数据冗余逐渐减小,便于插入、删除和更新。规范化的基本原则是遵从概念单一化“一事一地”的原则,即一个关系只描述一个实体或实体间的联系。规范化的投影分解方法不是唯一的,对于模式的规范化,分解既要具有无损连接性,又要具有函数依赖保持性。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号