关系数据库及数学基础.ppt

上传人:小飞机 文档编号:6091893 上传时间:2023-09-23 格式:PPT 页数:94 大小:872.50KB
返回 下载 相关 举报
关系数据库及数学基础.ppt_第1页
第1页 / 共94页
关系数据库及数学基础.ppt_第2页
第2页 / 共94页
关系数据库及数学基础.ppt_第3页
第3页 / 共94页
关系数据库及数学基础.ppt_第4页
第4页 / 共94页
关系数据库及数学基础.ppt_第5页
第5页 / 共94页
点击查看更多>>
资源描述

《关系数据库及数学基础.ppt》由会员分享,可在线阅读,更多相关《关系数据库及数学基础.ppt(94页珍藏版)》请在三一办公上搜索。

1、,第12单元关系数据库及数学基础,第2页,教学目标,了解关系数据库有关概念了解关系运算、关系代数了解关系模型的数学定义了解关系的规范化理论,第3页,教学要求,了解关系数据库有关概念数据库记录、字段、类型、值域了解关系运算、关系代数选择运算、投影运算、连接运算关系的并、交、差、选择、投影等运算了解关系模型的数学定义了解关系的规范化理论第一范式、第二范式、第三范式,第4页,本单元涉及内容,关系数据库系统基础1 关系模型的数学定义和关系代数1.1 关系模型的数学定义1.2 关系代数及关系运算2 关系数据库理论2.1 概述2.2 数据依赖2.3 规范化,第5页,一、关系模型的数学定义和关系代数,关系D

2、B是建立在关系理论和关系代数严格的数学基础之上。关系DB的特点:P185下面对关系数据模型进行数学定义和描述。,第6页,1.关系模型的数学定义 浏览P186开始,(1)域、元组和关系域(Domain)同类型值的集合。例如,整数集合、字母集合等。元组(Tuple)设有一组域D1,D2,,Dn,则以下集合 D1xD2 xxDn=(d1,d2,dn)|di Di,i=1,2,n 中的每个元素(d1,d2,dn)称为一个元组(n元组);每个di值称为一个分量。关系(Relation)D1xD2 xxDn 的子集称为域D1,D2,Dn 上的一个关系。P186例题4.3,第7页,(2)笛卡尔乘积,设D1,

3、D2,,Dn为n个任意集合。定义D1,D2,,Dn的笛卡尔乘积为:D1xD2.Dn=(d1,d2,dn)|di Di,i=1,2,n 笛卡尔乘积中的每一个元素(d1,d2,dn)叫做一个n元元组,元组中的di称为该元组的第i个分量。元组中各分量di的位置不能任意颠倒,因为di Di。,第8页,举例,设有三个集合:NAME、AGE、SEX NAME AGE SEX NAS,=,刘王,2120,男女,NAME AGE SEX,刘 21 男刘 21 女刘 20 男刘 20 女王 21 男王 21 女王 20 男王 20 女,NAME AGE SEX=(d1,d2,d3)|di Di,i=1,2,3,

4、其中(刘,21,男)是一个元组,刘,21,男分别为3个分量.,一个元组,从NAS中选出与刘有关的元组,就构成一个关系。,第9页,(3)n元关系,笛卡尔乘积D1D2.Dn的任何有限子集称为域(集合)D1,D2,Dn上的一个n元关系。将n元关系看成一个有n列元素的二维表,给表中的每一列起一个名字叫属性(Attribute),则n元关系有n个属性。在同一个关系中,属性名必须是唯一的。属性的取值范围Di(i=1,2,n)称为值域。,第10页,关键字(Key),候选关键字(Candidate Key)(候选码)在给定关系中,具有唯一标识特性的一个或多个属性被称为该关系的候选关键字。例如,学生关系中的学号

5、。主关键字(Primary Key)(主码)有时候选关键字多于一个,从中选取一个作为操作的根据,称其为主关键字。外码 假设有两个关系,第一个关系中除候选码之外的一组属性,又成为第二个关系中的候选码,则称第一个关系中的这组属性为外码。第一个关系称为参照关系,第二个关系称为被参照关系。,第11页,(4)关系模式,一个关系的属性名表称为该关系的关系模式,其记法为:(,)例如关系SHOP各关系模式为:SHOP(店名,地址,经办人,电话)关系模式的集合,称为关系模型(关系数据库模式)关系数据库模式=数据结构+关系操作+完整性约束,第12页,(5)完整性约束,数据在语义上的约束,称为完整性约束实体完整性:

6、一个实体能与其他实体区分开来,要求关系的主属性非空参照完整性(引用完整性)一个关系中的属性在另一个关系中也有反映,并且它们的值应该相等。用户定义完整性:用户定义的取值条件等。,第13页,(6)关系模型,数据模型是用来描述数据的一组概念和定义。关系模型是以集合论中的关系的概念发展起来的数据模型在某数据处理工作中的所有关系模式及其属性名、关键字的汇集。(又称关系数据库模式)例如,某大学采用计算机管理教学工作。涉及到三类实体:教师、课程、学生,同时教师和课程、课程和学生之间都有联系。从而确定了以下关系模式:teachers(工作证号、单位、姓名、职称)students(学号、班级、姓名)subjec

7、ts(课程号、课程名称、学分)t_S(工作证号、课程号、教室)s_s(学号、课程号、成绩)及其属性名(班级、姓名等)和关键字(学号等)。,第14页,(7)关系数据库,对应于一个关系模型的所有关系(表)的集合称为关系数据库(值)。,第15页,2.数据库管理系统中的关系模型,(1)关系模型 是数学化的模型,它把数据看作二维表中的元素,表就是其关系。其特点是:表中每一列属性都是不能再细分的基本单元不允许有重复的列不允许有相同的记录行、列次序均无关,第16页,关系概念的图解,关系(库名)SHOP,店 名 地 址 经办人 电话,解放路食品店 解放路262号 李国基 2-5036桃园商场 桃园路6号 张山

8、 6-6161香香瓜果店 北大街26号 王宏 3-6201白塔干鲜果店 西大街56号 宋良 3-3637北大街果品店 北大街231号 林青 3-1116,关系框架或库结构,元组或记录,属性(字段),属性“电话”的值,第17页,(2)关系的其它概念,这样的二维表被称为数据库文件表中行被称为记录(Record)或元组列称为字段(Field)或属性表的第一行是字段名的集合,被称为库结构(关系框架或库结构)列中的元素为该字段(属性)的值,且值总是限定在某个值域(domain)内,第18页,(3)基本数据类型,数据是程序的必要组成部分,也是程序处理的对象,数据类型体现数据结构的特点:数据间的逻辑关系(线

9、性、非线性的)数据在计算机中的存储方式(顺序存储、链表存储)数据的运算 提供的数据类型越丰富,说明这种语言的数据结构越丰富,处理功能也就越强。,第19页,字段类型(10种)规则,文本类型 最大长度255个字符,用于存放文本数据备注类型 最大长度65535个字符,用于存放不同于文 本数据的文本信息(可以是特殊字符)。数值类型 长度可以是1、2、4、8、16个字节,分别用 来存放不同精度要求的数值数据。日期/时间 长度是8个字节,用来存放日期和时间 类型 日期形式为:yy/mm/dd;时间形式为:hh:mm:ss货币类型 8个字节,最多包含4位小数。自动编号 4个字节是/否 1位;存放“真”(Tr

10、ue)和“假”(False)OLE对象 最大长度1GB;用于存放超级链接地址。查阅向导 4个字节,允许使用另一个表中某字段的值来 定义当前字段的值。,第20页,3、关系代数 浏览P187开始,同一关系模式(关系框架)填以不同的值所生成的诸关系称为同类关系。同类关系之间可以进行下列运算:并、交、差运算选择运算投影运算关系的笛卡尔乘积运算自然连接运算,第21页,补充 萨师煊E42.4 关系代数,概述传统的集合运算 专门的关系运算,第22页,表2.4 关系代数运算符,第23页,表2.4 关系代数运算符(续),第24页,2.4.1 传统的集合运算,并差交广义笛卡尔积,第25页,1.并(Union),R

11、和S具有相同的目n(即两个关系都有n个属性)相应的属性取自同一个域RS 仍为n目关系,由属于R或属于S的元组组成 RS=t|t Rt S,第26页,第26页,并运算举例,有同类关系R和S,如下所示:,名称 颜色 长度的确良 白 1000华达呢 黑 2000,名称 颜色 长度的确良 黑 2000华达呢 黑 2000,名称 颜色 长度的确良 白 1000的确良 黑 2000华达呢 黑 2000,关系S,关系RS,关系R,重复元组要合并,第27页,并(续),R,S,RS,第28页,2.差(Difference),R和S具有相同的目n相应的属性取自同一个域R-S 仍为n目关系,由属于R而不属于S的所有

12、元组组成 R-S=t|tRtS,第29页,第29页,差运算举例,名称 颜色 长度的确良 白 1000,关系R-S,名称 颜色 长度的确良 白 1000华达呢 黑 2000,名称 颜色 长度的确良 黑 2000华达呢 黑 2000,关系S,关系R,第30页,差(续),R,S,R-S,第31页,3.交(Intersection),R和S具有相同的目n相应的属性取自同一个域RS仍为n目关系,由既属于R又属于S的元组组成 RS=t|t Rt S RS=R(R-S),第32页,第32页,交运算举例,关系RS,名称 颜色 长度 华达呢 黑 2000,名称 颜色 长度的确良 白 1000华达呢 黑 2000

13、,名称 颜色 长度的确良 黑 2000华达呢 黑 2000,关系S,关系R,第33页,交(续),R,S,R S,第34页,4.广义笛卡尔积(Extended Cartesian Product),Rn目关系,k1个元组Sm目关系,k2个元组RS 列:(n+m)列的元组的集合元组的前n列是关系R的一个元组后m列是关系S的一个元组行:k1k2个元组RS=tr ts|tr R tsS,第35页,第35页,关系的笛卡尔乘积运算,例,设有关系R和S如下所示,其笛卡尔乘积为:,质料,颜色,单价,式样,品种,规格,涤 卡 蓝 16.00华达呢 黑 43.00毛 涤 褐 20.00,男 中山装 中 女 裤 子

14、 小 女 大 衣 大,第36页,第36页,笛卡尔乘积运算举例,关系RS,质 料 颜色 单 价 式样 品 种 规 格,涤 卡 蓝 16.00涤 卡 蓝 16.00涤 卡 蓝 16.00华达呢 黑 43.00华达呢 黑 43.00华达呢 黑 43.00毛 涤 褐 20.00毛 涤 褐 20.00毛 涤 褐 20.00,男 中山装 中女 裤 子 小女 大 衣 大男 中山装 中女 裤 子 小女 大 衣 大男 中山装 中女 裤 子 小女 大 衣 大,第37页,广义笛卡尔积(续),R,S,R S,第38页,2.4 关系代数,概述传统的集合运算专门的关系运算,第39页,2.4.2 专门的关系运算,选择投影连

15、接除,第40页,1.选择(Selection),1)选择又称为限制(Restriction)2)选择运算符的含义在关系R中选择满足给定条件的诸元组 F(R)=t|tRF(t)=真F:选择条件,是一个逻辑表达式,基本形式为:(X1Y1)(X2Y2):比较运算符(,或)X1,Y1等:属性名、常量、简单函数;属性名也可以用它的序号来代替;:逻辑运算符(或):表示任选项:表示上述格式可以重复下去,第41页,选择(续),3)选择运算是从行的角度进行的运算 4)举例设有一个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC。,第42页,选择(续),(a),Student,第4

16、3页,选择(续),(b),Course,第44页,选择(续),(c),SC,第45页,选择(续),例1 查询信息系(IS系)全体学生 Sdept=IS(Student)或 5=IS(Student)结果:,属性名也可以用它的序号来代替,第46页,选择(续),例2 查询年龄小于20岁的学生 Sage 20(Student)或 4 20(Student)结果:,第47页,2.投影(Projection),1)投影运算符的含义从R中选择出若干属性列组成新的关系 A(R)=tA|t R A:R中的属性列,第48页,2.投影(Projection),2)投影操作主要是从列的角度进行运算但投影之后不仅取消

17、了原关系中的某些列,而且还可能取消某些元组(避免重复行),第49页,投影(续),3)举例例3 查询学生的姓名和所在系即求Student关系上学生姓名和所在系两个属性上的投影 Sname,Sdept(Student)或 2,5(Student)结果:,第50页,投影(续),第51页,投影(续),例4 查询学生关系Student中都有哪些系 Sdept(Student)结果:,但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行),第52页,3.连接(Join),1)连接也称为连接2)连接运算的含义从两个关系的笛卡尔积中选取属性间满足一定条件的元组 R S=|tr Rts St

18、rAtsB A和B:分别为R和S上度数相等且可比的属性组:比较运算符连接运算从R和S的广义笛卡尔积RS中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系的元组。,第53页,连接(续),3)两类常用连接运算等值连接(equijoin)什么是等值连接为“”的连接运算称为等值连接 等值连接的含义从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为:R S=|tr Rts StrA=tsB,A=B,第54页,连接(续),自然连接(Natural join)什么是自然连接自然连接是一种特殊的等值连接两个关系中进行比较的分量必须是相同的属性组在结果中把重复的属性列去

19、掉自然连接的含义R和S具有相同的属性组B R S=|tr Rts StrB=tsB,第55页,连接(续),4)一般的连接操作是从行的角度进行运算。自然连接还需要取消重复列,所以是同时从行和列的角度进行运算。,第56页,连接(续),5)举例 例5,R,S,写出R S R S R S,第57页,连接(续),R S,第58页,连接(续),等值连接 R S,不取消重复列,第59页,连接(续),自然连接 R S,取消重复列,第60页,第60页,综合举例(续),例 8 查询选修了2号课程的学生的学号。Sno(Cno=2(SC)95001,95002,综合举例(续),例9 查询至少选修了一门其直接先行课为5

20、号课程的学生姓名。答案不唯一 Sname(Cpno=5(Course SC Student)或 Sname(Cpno=5(Course)SC Sno,Sname(Student)或 Sname(Sno(Cpno=5(Course)SC)Sno,Sname(Student),第63页,二、关系的规范化理论基础 P192,如何评价关系模型的好坏,这关系到如何设计关系模型(关系框架)的至关重要的问题。以SCT关系为例说明存在的问题:SCT关系是由S#(学号)、C#(课程号),GRADE(成绩)、TNAME(教师姓名)、TAGE(教师年龄)、OFFICE(办公室)属性组成。SCT关系(学生课程教师关系

21、)S#C#GRADE TNAME TAGE OFFICE S1 C1 90 周 45 301 S1 C2 91 刘 39 302 S1 C3 85 刘 39 302 S1 C4 87 王 51 301 S2 C1 92 周 45 301 S3 C1 75 周 45 301 S3 C2 56 刘 39 302,第64页,关系模式的存储异常问题,在上述SCT关系中,至少存在下列问题:数据冗余 如果某门课程有100个学生选修,就要出现100个元组(记录),相应的教这门功课的教师的姓名、年龄、办公室也要出现100次。更新异常 对SCT关系中的元组进行修改,可能导致出现存储数据不一致的情况。例如,要修改

22、第一元组中的OFFICE值时,将301改为303,会出现周老师的办公室号码不一致,除非修改所有周老师元组(记录)中的办公室号码。,第65页,关系模式的存储异常问题(续),插入异常 如果某课程决定由张老师担任,但在还不知道哪些学生选修前,无法将张老师的记录插入关系中。因为,在SCT关系中(S#,C#)是主关键字,在C#不确定的情况下,根据关系模型的实体完整性规则,不允许主关键字中出现空值。因此,在C#不确定的情况下,不能插入该记录。删除异常 如果要删除某门课程的所有成绩,则会将教这门功课的教师信息也删除掉。例如,若要删除C4的元组,结果会丢失王老师的有关信息。显然,这是不希望发生的事情。,第66

23、页,关系的规范化举例,显然,SCT关系的性能是很差的。如果将SCT关系分解为两个子关系SC和CT,即 SC(S#,C#,GRADE)、CT(C#,TNAME,TAGE,OFFICE)上述存储异常问题将消失。,S#C#GRADE S1 C1 90 S1 C2 91 S1 C3 85 S1 C4 87 S2 C1 92 S3 C1 75 S3 C2 56,SC关系,C#TNAME TAGE OFFICE C1 周 45 301 C2 刘 39 302 C3 刘 39 302 C4 王 51 301,CT关系,第67页,产生存储异常问题的原因,为什么会产生存储异常的问题呢?这与每个关系模式中个属性值

24、之间的联系有关。在SCT关系中,(S#,C#)是主关键字,它们的值唯一决定其它所有属性的值,形成一种依赖关系。TANME、TAGE、OFFICE的属性值由课程号C#决定,与学号S#无直接联系。把无直接联系的教师属性和学生学号放在一起,就产生了存储异常的问题。因此,模式设计时强调“独立的联系,独立表达”。这是一条设计原则。将SCT分解为SC、CT,就符合这条设计原则。通常,将结构较简单的关系取代结构较复杂关系(简单和复杂是指数据相关性而言)的过程称为关系的规范化。当然,这个过程既不能增加,也不能丢失信息,称之为“无损连接”。,第68页,例1:关系BORROW,8212102 陆华 自控86 女生

25、宿舍206 6201 自控原理 0621 张山 自控教研室 花园路312号 6201 自控原理 10.03.02 0621 张山 自控教研室 花园路312号 3104 数据处理 0621 张山 自控教研室 花园路312号 5112 晶体管电路,8212103 何白 自控86 女生宿舍206 5112 晶体管电路,借书证号 姓名 单位 住址 书号 书名 日期,第69页,例2:关系BICYCLE,品 名 厂 家 厂 长 产 地 年产量 单 价,黄山牌26男车 黄山自行车厂 刘同利 合肥 20000 336.00黄山牌26坤车 黄山自行车厂 刘同利 合肥 23000 326.00红旗牌24坤车 海河

26、自行车厂 王山 天津 76000 310.00大象牌28男车 生发自行车厂 丁三元 广州 10000 310.00大象牌28加重 生发自行车厂 丁三元 广州 50000 340.00大象牌28跑车 生发自行车厂 丁三元 广州 10000 371.00大象牌26男车 生发自行车厂 丁三元 广州 30000 320.00大象牌26坤车 生发自行车厂 丁三元 广州 50000 320.00大象牌24坤车 生发自行车厂 丁三元 广州 10000 305.00,第70页,数据依赖,概念:描述同一关系内各属性之间的相互关系被称为数据依赖。类型:数据依赖有许多种类型,这里只介绍函数依赖、完全函数依赖和传递依

27、赖的概念。,第71页,函数依赖,定义:在关系R中,如果每个属性(或属性组)A的值只有一个属性B的值与之对应,就称属性B函数依赖于属性(或属性组)A,(p192)记为:A B。读作:“A函数决定B”或“B函数依赖于A”。例关系BORROW中,各属性之间的函数依赖可描述为:借书证号 姓名 借书证号 单位 借书证号 住址 书号 书名(借书证号,书号)日期,第72页,主属性、非主属性,定义:主码的属性为主属性,反之则为非主属性。例如关系BORROW中,候选关键字只有一个(借书证号,书号),所以,“借书证号”和“书号”组是主属性,其它属性都是非主属性。,第73页,完全函数依赖,定义另一种形式:设在关系R

28、中,A和B是R的不同属性子集,C是A的真子集,若对于R中的任一可能关系,有A B,但 C B,则称B完全函数依赖于A。(p192)A B若A B,且A的真子集C B,则称B部分函数依赖于A。,第74页,完全函数依赖举例,关系BORROW中,只有属性“日期”完全函数依赖于关键字(借书证号,书号),其它非主属性都是部分函数依赖于关键字。这里借书证号,书号是主属性,”日期“是非主属性,“借书证号“和”书号“都是借书证号,书号的真子集,因有借书证号,书号日期,而 借书证号 日期,书号 日期(不函数依赖),所以,借书证号,书号 日期,第75页,传递函数依赖,定义:设有关系模式R,而X、Y、Z 是 R的三

29、个不同属性子集,并且有:如果X Y,Y X,Y Z,则称Z传递函数依赖于X。记为:X Z 举例,关系BICYCLE中的“厂长”和“产地”,传递函数依赖于“品名”。因为,品名 厂家,厂家 厂长 品名 厂家,厂家 产地 所以,厂长、产地传递函数依赖于品名。,t,品名 厂长,品名 产地,t,t,第76页,关系规范化范式,关系规范化有不同的标准,将规范标准称之为范式。可以把范式看成是满足某种条件的关系模式的集合(或用范式定义消除数据冗余的程度)范式分为:(范式:规范标准)第一范式1NF第二范式2NF第三范式3NFBoyce-Codd范式BCNF第四范式4NF第五范式5NF 它们满足下列关系:5NF 4

30、NF BCNF 3NF 2NF 1NF,SEE PPT93图,第77页,第一范式1NF,定义:所有符合关系定义(二维表格)的关系被称为规范关系,或称为第一范式,记为1NF。或曰:每个属性都必须是原子值,即仅仅是一个简单值而不含内部结构。P193如果关系模式R的每个关系的各个属性值都是基本数据项,则称R为第一范式。为了与规范关系相互区别,将关系的某些属性有重复组或空白值的关系(二维表)称为非规范关系。去掉重复组,填写空白值,就可以变为1NF的关系。(P193),第78页,表示借书关系的表,8212102 陆华 自控86 女生宿舍206 6201 自控原理 0621 张山 自控教研室 花园路312

31、号 6201 自控原理 10.03.02 3104 数据处理 5112 晶体管电路,8212103 何白 自控86 女生宿舍206 5112 晶体管电路,借书证号 姓名 单位 住址 书号 书名 日期,该关系是非规范化的关系,第79页,1NF的关系BORROW,8212102 陆华 自控86 女生宿舍206 6201 自控原理 0621 张山 自控教研室 花园路312号 6201 自控原理 10.03.02 0621 张山 自控教研室 花园路312号 3104 数据处理 0621 张山 自控教研室 花园路312号 5112 晶体管电路,8212103 何白 自控86 女生宿舍206 5112 晶

32、体管电路,借书证号 姓名 单位 住址 书号 书名 日期,该关系是1NF的关系,关系BORROW,第80页,规范化为1NF的举例,S#CITY P#,S1 北京 P1 P2,S2 上海 P1 P2,S#CITY P#,S1 北京 P1 S1 北京 P2,S2 上海 P1S2 上海 P2,属性P有重复组的处理,S2 上海 P1S2 上海 P2,S2 上海 P1S2 上海 P2,S2 上海 P1S2 上海 P2,姓名 地址 电话,林 A4 326910 王 A1 326831 吴 A3 张 A2,姓名 地址,林 A4 王 A1 吴 A3 张 A2,姓名 电话,林 326910 王 326831,属性

33、电话有空白值的处理,第81页,第一范式的讨论,关系BORROW虽然满足了1NF,但还存在不规范的问题。数据冗余 一个学生要借10本书,他的有关信息要重复存放10次;插入问题 若某学生没借过书,则有关信息无法插入;因为,作为主关键字(借书证号,书号)的“书号”无值;删除问题 若某学生归还了借阅的全部图书,则有关他的信息将全被删除(丢失)。结论:作为关系模式来说,在某些应用中,只满足 1NF还不够,还要进一步规范化。,第82页,第二范式2NF P194,定义:如果关系模式R为第一范式,并且任一非主属性都完全函数依赖于R的主属性,则称R为第二范式,记为2NF(或曰:满足1NF,且每个非关键字属性都由

34、整个关键字决定,而不是由关键字的部分来决定).关系BORROW不是第二范式,因为其属性”姓名“、“单位”、”住址“、”书名“都不完全函数依赖于唯一的候选关键字 借书证号,书号。作下列投影运算,就可将其分解为2NF的关系:READER=借书证号、姓名、单位、住址(BORROW)BOOK=书号、书名(BORROW)BORROW=借书证号、书号、日期(BORROW),第83页,2NF的关系(a)READER关系,借书证号 姓 名 单 位 住 址,8612101 陆华 自控86 女生宿舍2060621 张山 自控教研室 花园路312号8612103 何白 自控86 女生宿舍2068603211 李维

35、自控86 男生宿舍101,第84页,2NF的关系(b)关系BOOK,书号 书 名,6201 自控原理3104 数据处理5112 晶体管电路0116 机械制造0229 金相分析,第85页,2NF的关系(c)关系BORROW,借书证号 书 号 日 期,第86页,第三范式3NF,如果关系模式R满足2NF,并且其任何一个非主属性都不传递函数依赖于主属性,则称R为第三范式,记为3NF。例关系BICYCLE满足第二范式,但不满足第三范式,因为:品名 厂长,品名 产地去掉其中的传递函数依赖关系,即可得到满足第三范式的关系。例如,(b)新关系BICYCLE 和(c)新关系BICYCLE_PLANT。,t,t,

36、第87页,第三范式3NF 举例,品 名 厂 家 厂 长 产 地 年产量 单 价,黄山牌26男车 黄山自行车厂 刘同利 合肥 20000 336.00黄山牌26坤车 黄山自行车厂 刘同利 合肥 23000 326.00红旗牌24坤车 海河自行车厂 王山 天津 76000 310.00大象牌28男车 生发自行车厂 丁三元 广州 10000 310.00大象牌28加重 生发自行车厂 丁三元 广州 50000 340.00大象牌28跑车 生发自行车厂 丁三元 广州 10000 371.00大象牌26男车 生发自行车厂 丁三元 广州 30000 320.00大象牌26坤车 生发自行车厂 丁三元 广州 5

37、0000 320.00大象牌24坤车 生发自行车厂 丁三元 广州 10000 305.00,(a)关系BICYCLE,第88页,第三范式3NF 举例,经投影操作:BICYCLE=品名、厂家、年产量、单价(BICYCLE),得,品 名 厂 家 年产量 单 价,黄山牌26男车 黄山自行车厂 20000 336.00黄山牌26坤车 黄山自行车厂 23000 326.00红旗牌24坤车 海河自行车厂 76000 310.00大象牌28男车 生发自行车厂 10000 310.00大象牌28加重 生发自行车厂 50000 340.00大象牌28跑车 生发自行车厂 10000 371.00大象牌26男车 生

38、发自行车厂 30000 320.00大象牌26坤车 生发自行车厂 50000 320.00大象牌24坤车 生发自行车厂 10000 305.00,(b)新关系BICYCLE,第89页,第三范式3NF P195,经投影操作:BICYCLE_PLANT=厂家,厂长,产地(BICYCLE),得,厂 家 厂 长 产 地,黄山自行车厂 刘同利 合肥海河自行车厂 王山 天津生发自行车厂 丁三元 广州,(c)新关系BICYCLE_PLANT,新关系(b)BICYCLE和(c)BICYCLE_PLANT满足第三范式的关系。,第90页,综合举例-SCT关系,SCT关系是由S#(学号)、C#(课程号),GRADE

39、(成绩)、TNAME(教师姓名)、TAGE(教师年龄)、OFFICE(办公室)属性组成。SCT关系(学生课程教师关系)S#C#GRADE TNAME TAGE OFFICE S1 C1 90 周 45 301 S1 C2 91 刘 39 302 S1 C3 85 刘 39 302 S1 C4 87 王 51 301 S2 C1 92 周 45 301 S3 C1 75 周 45 301 S3 C2 56 刘 39 302,SCT是1NF,而不是2NF。因为(S#,C#)是SCT的候选关键字,TNAME是非主属性,C#是(S#,C#)的一个真子集,C#TNAME。,第91页,SCT从1NF分解为

40、2NF,将SCT关系进行无损连接分解为两个子关系SC和CT,即 SC(S#,C#,GRADE)、CT(C#,TNAME,TAGE,OFFICE),即得到两个2NF关系。,S#C#GRADE S1 C1 90 S1 C2 91 S1 C3 85 S1 C4 87 S2 C1 92 S3 C1 75 S3 C2 56,SC关系,C#TNAME TAGE OFFICE C1 周 45 301 C2 刘 39 302 C3 刘 39 302 C4 王 51 301,CT关系,CT还有冗余,TAGE传递依赖于C#,可再进行分解。,第92页,CT从2NF分解为3NF,对CT再作投影分解:两个新关系 CT=

41、C#,TNAME(CT),TO=TNAME,TAGE,OFFICE(CT),得两个满足3NF的关系:,CT关系,TO关系,C#TNAME,C1 周C2 刘C3 刘C4 王,TNAME TAGE OFFICE,周 45 301刘 39 302王 51 301,第93页,总结,5NF,4NF,BCNF,3NF,1NF,2NF,关系世界(规范与非规范关系),一般而言,分解到3NF就能满足应用需要。范式级别越高,产生的新关系就越多,数据查询时就不得不进行大量的连接运算。,非规范关系消去重复组或空白 变为1NF关系;1NF关系中消去非主属性对候选 关键字的部分依赖变为2NF关系;再消去非主属性对候选关键字的 传递依赖变成3NF;随之消去所有部分依赖就变成 BCNF关系;若消去函数依赖以外的所有多值 依赖,就变成4NF关系;最后,消去所有不按候选关键字 进行连接运算的连接相关性,得 到5NF关系。,第94页,思考题,p207思考题萨师煊书中习题,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号