资源描述:
《第4章范式理论(关系规范化).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章范式理论本章内容关系模式的设计问题函数依赖范式模式分解作业关系模式的设计问题问题针对一个具体问题或一个项目,应该如何构造一个适合于它的数据模式,即应该构造几个关系模式,每个关系模式又由哪些属性组成等。这是数据库的设计问题,确切的讲,是关系数据库的逻辑设计问题。关系模式的设计问题示例考虑为管理职工的工资信息而设计一个关系模式假设三列都有非空的约束,且工资级别决定工资关系模式的设计问题问题:1.信息的不可表示问题插入异常:如果没有职工具有8级工资,则8级工资的工资数额就难以插入删除异常:如果仅有职工赵明具有4级工资,如果将
2、赵明删除,则有关4级工资的工资数额信息也随之删除了2.信息的冗余问题数据冗余:职工很多,工资级别有限,每一级别的工资数额反复存储多次更新异常:如果将5级工资的工资数额调为620,则需要找到每个具有5级工资的职工,逐一修改关系模式的设计问题解决之道:分解!分解!!再分解!!!级别工资450056006700关系模式的设计问题有关学生的关系模式S(Sno,SName,Sdept,DEAN,Cno,Grade)主码是什么?存在哪些问题?望闻问切:四种异常(不良的数据依赖)不良特性插入异常:如果学生没有选课,关于他的个人信息及所在系
3、的信息就无法插入删除异常:如果删除学生的选课信息,则有关他的个人信息及所在系的信息也随之删除了更新异常:如果学生转系,若他选修了k门课,则需要修改k次数据冗余:如果一个学生选修了k门课,则有关他的所在系的信息重复4.1函数依赖4.1.1函数依赖基本概念4.1.2一些术语和符号4.1.3为什么要讨论函数依赖4.1函数依赖函数依赖原始概念函数公式:Y=f(X)表示X和Y之间在数量上的对应关系,即给定一个X值,都会有一个Y值和它对应,也可以说X函数决定Y,或Y函数依赖于X。而在关系数据库中讨论函数或函数依赖注重的是语义上的关系。比
4、如: 省=f(城市)如果“城市”是自变量X,则“省”是因变量或函数值Y。并且把X函数决定Y,或Y函数依赖于X表示为:X→Y概念:关系模式一个关系的属性名的集合R(A1,A2,……An)叫做关系模式。其中:R为关系名,A1,A2,…,An为属性名(i=1,2,……n)。由定义可以看出,关系模式是关系的框架,或者称为表框架,指出了关系由哪些属性构成,是对关系结构的描述。函数依赖函数依赖函数依赖基本概念定义:如果有一个关系模式R(A1,A2,…,An),X和Y为{A1,A2,…,An}的子集,那么对于关系R中的任意一个X值,都只有
5、一个Y值与之对应,则称X函数决定Y,或Y函数依赖于X。记作X→Y。例如:对学生关系模式:Student(Sno,Sname,Sdept,Sage)有:Sno→SName,Sno→Sdept,Sno→Sage对学生选课关系模式:SC(Sno,Cno,Grade)有:(Sno,Cno)→Grade函数依赖函数依赖基本概念术语:设关系模式为R(A1,A2,……An),它的一个关系为R,t∈R表示t是R的一个元组,t[Ai]则表示元组t中相应于属性Ai的一个分量。若A={Ai1,Ai2,……,Aik},其中Ai1,Ai2,……,Ai
6、k是A1,A2,……,An中的一部分,则A称为属性列或域列,t[A]={t[Ai1],t[Ai2],……,t[Aik]}表示元组t在属性列A上诸分量的集合。函数依赖函数依赖基本概念形式化定义:设R(U)是属性集U上的关系模式,X,YU,r是R(U)上的任意一个关系,如果对t,sr,若t[X]=s[X],则t[Y]=s[Y]成立那么称“X函数决定Y”,或“Y函数依赖于X”,记作XY.称X为决定因子。d4d3d2d2d1Dc2b3a3c2b3a2c2b2a2c1b2a1c1b1a1CBA练习检验:A→C?C→A?(A,B
7、)→D?335324321CBA?找出可能的函数依赖练习函数依赖有关学生的关系模式S(Sno,SName,Sdept,DEAN,Cno,Grade)找出S中存在的函数依赖平凡函数依赖如果XY,但YX,则称其为非平凡的函数依赖,否则称为平凡的函数依赖如(Sno,SName)SName是平凡的函数依赖函数依赖完全函数依赖、部分函数依赖在R(U)中,如果XY,且对于任意X的真子集X′,都有则称Y对X完全函数依赖,记作否则称为Y对X部分函数依赖,记作XYXY函数依赖找出S中存在的部分函数依赖X′Y传递函数依赖在R(U)中,
8、如果则称Z对X传递函数依赖,记作X→Y如:SnoSDept,SDeptDEAN则Sno→DEAN函数依赖XY,YZ,YX,且Z¢Ytt职工工资表找出职工工资表中的传递函数依赖函数依赖示例:有关系模式:SC(Sno,Sname,Deptno,Deptname,Cno,Cname,G