文档介绍:第六章关系数据理论问题:给出一组数据,如何构造一个适合于它们的数据模型? (理论核心)★ ★ ★(规范化理论的背景)数据依赖函数依赖(FD)Date2第六章关系数据理论关系模型的形式化定义1、关系模型的五元组定义:R<U,D,DOM,F> R—关系名,U—属性组,D—域, DOM—映射(属性与域之间的联系), F—数据依赖(属性与属性之间的联系)2、关系模型的三元组定义:R<U,F> 当且仅当U上的一个关系r满足F时,r称为关系模式R<U,F>的一个关系。Date3第六章关系数据理论数据依赖1、定义 数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系,它是现实世界属性间相互联系的抽象。2、种类 函数依赖 数据依赖多值依赖 连接依赖Date4第六章关系数据理论函数依赖的定义设R(U)是属性集U上的关系模式。X,Y是U的子集。对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作XY。 X称为这个函数依赖的决定属性集。学号姓名学号年龄学号性别学号籍贯具体关系的函数依赖关系框架的函数依赖Date5第六章关系数据理论完全依赖在R(U)中,如果XY,并且对于X的任何一个真子集X’都有X’Y,则称Y对X完全依赖,记作XY。部分依赖若XY但Y不完全依赖于X,则称Y对X部分函数依赖,记作XY。传递依赖在R(U)中,如果XY,YZ,且YX,ZY,YX,则称Z对X传递依赖。记作XZ。fp函数依赖的种类传递SC(O,SD,Grade)Date6第六章关系数据理论课堂练习已知关系模式SLC(S#,SD,SL,C#,G),学号系住址课程号成绩规定每个系的学生只住一个地方,写出关系模式中的所有函数依赖。S#SD, SDSL, S#SL,(S#,C#)G, (S#,C#)SD, (S#,C#)SLfpp传递Date7第六章关系数据理论公理 F1(自反性):若XY,则XY或XX。 F2(增广性):若XY,则XZYZ或XZY。 F3(传递性):若XY,YZ,则XZ。推理规则 F4(伪增性):若XY,WZ,则XWYZ。 F5(伪传性):若XY,YWZ,则XWZ。 F6(合成性):若XY,XZ,则XYZ。 F7(分解性):若XYZ,则XY,XZ。FD公理及推理规则Date8第六章关系数据理论课堂练习1、已知关系框架R(A,B,C,D,E,P)及其上的函数依赖集合F={A→B,C→P,E→A,CE→D},则R的候选码是()。 ①AC②BC③CE④CD2、给定关系框架R(A,B,C,D,E)及其上的函数依赖集合F={CD→A,B→C,D→E},则R的候选码是()。 ①CD②BC③BD④AE3、设关系框架R上的函数依赖集合F={B→D,CA→E},则利用FD公理和规则可推出()。 ①CB→B②EA→D③DA→B④AB→AD4、已知关系模式r(a,b,c,d,e)及其上的函数相关性集合f={a→d,b→c,e→a},该关系模式的候选关键字是()。 【目的】通过研究关系之间的等价问题,找出一些方法来指导我们定义数据库的逻辑结构,使其具有好的性能(冗余小、数据完整性好、操作方便)。关系模型评价范式规范化小结Date10第六章关系数据理论