第6章 关系数据库模式设计 ;关系数据库模式 ???
;
;
;学生关系模式:S(S#,SNAME,SSEX,SBIRTHIN,
PLACEOFB,SCODE#,CLASS)
专业关系模式:SS(SCODE#,SSNAME)
课程关系模式:C(C#,CNAME,CLASSH)
设置关系模式:CS(SCODE#,C#)
学习关系模式:SC(S#,C#,GRADE)
教师关系模式:T(T#,TNAME,TSEX,TBIRTHIN,
TITLEOF,TRSECTION,TEL)
讲授关系模式:TEACH(T#,C#);
;6.1 关系约束与关系模式的表示; Question?
关系数据库模式的设计有哪几种方法呢?
; 1、E-R模型方法:画出反映用户组织中相互关联的数据及其之间联系的E-R图,再将E-R模型转换成关系模型对应的关系模式。
2、属性表方法:收集、整理和归纳用户组织进行信息管理的各种表格,然后把每个表格转换成一个关系模式。;
;
;
;
; 综上可见,当把所有这些约束完整地反映到对关系模式的描述时,就可得到如下结论:
一个关系模式是一个五元组{R,U,D,DOM,F},并可一般地记为:
其中,R是关系名;U是关系的属性集合;D是属性的值域集合;DOM是属性集到值域集合的映射;F是关系中属性集上的一组约束,也即函数依赖集合。 ;
;6.2 对关系模式进行规范化设计的必要性;
;
;
;
;
;
;
;
;
;
;6.3 函数依赖; 1、函数依赖的概念
定义6.1 设有关系模式R(A1,A2,…,An)和属性集U={A1,A2,…,An}的子集X、Y。如果对于任一具体关系r的任何两个元组u和v,只要u[X]=v[X],就有u[Y]=v[Y],则称X函数地决定Y,或Y函数依赖X,记为X?Y。 ; 1、函数依赖的概念;由上面的定义和例子说明:
函数依赖描述了每个关系中主键属性与非主键属性之间的关系。对于关系R(A1,A2,…,An)和X→Y来说,属性子集X中包括,且仅仅包括了关系R的主键属性,且对于关系的任何属性子集Y,一定成立X→Y。
显然,对于X→Y,可能存在Y ? X、 两种情况。 ; 2、非平凡函数依赖与平凡函数依赖
① 若有X?Y,且 ,称X?Y为非平凡函数依赖;
② 若有X?Y,且Y?X,称X?Y为平凡函数依赖。 ; 在本章后续的内容中,如不特别声明,总假定讨论的是非平凡依赖。且:
① 若X?Y,则称X为决定因素。
② 若Y不依赖于X,则记作X Y 。
③ 若同时有X?Y和Y?X成立,则记为X Y。;二、具有函数依赖约束的关系模式; 1、逻辑蕴涵
定义5.2 设有关系模式R(U,F),X、Y是属性集U={A1,A2,…,An}的子集,如果从F中的函数依赖能够推导出X?Y,则称F逻辑蕴涵X?Y,或称X?Y是F的逻辑蕴涵。; 2、F的闭包
所有被F逻辑蕴涵的函数依赖组成的依赖集称为F的闭包,记为F+。
显然:① F+中的元素是函数依赖;
② 如果能计算出F+,就可以很方便地判断某个函数依赖是否被F+逻辑蕴涵。;三、函数依赖的逻辑蕴涵;
; 1、候选键的概念
① 能够唯一地标识一个关系中不同元组的一个属性集合;
② 该属性集中不含有多余的属性。;2、候选键的形式化定义
设有关系模式R(A1,A2,…,An)和属性集U={A1,A2,…,An}的子集X、Y,F是R的的函数依赖集。如果:
① X→A1A2…An属于F+;
② 不存在X的真子集X’,使X’→A1A2…An∈F+,则称X是R的一个候选键。; 举例
在课程关系 C(C#,CNAME,CLASSH)中,有依赖集 F={C# → {CNAME,CLASSH}},判断候选键。
因为 F中的唯一的函数依赖的决定因素{C#}已经是单个属性了,所以{C#}是唯一的候选建。当然也就是主键了。;6.4 函数依赖的公理系统;;
; 1、公理
作用:用于从给定的函数依赖集中推导出被其蕴涵的函数依赖。
; 1、公理
条件:设有关系模式R(U,F),U={A1,A2,…,An}是R的属性集,F是R的属性集U上的函数依赖集,X、Y、Z、W是U的子集。
Armstrong公理为:
A1自反律:若Y
原创力文档

文档评论(0)