资源描述
单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,数据库系统原理及应用,陈刚,数据库原理及应用,主讲:陈刚,第,2,章,关系数据库理论基础,2024/11/8,2.1 关系的基本概念,2.1.1 关系的数学定义,1域(,Domain),域:是一组具有相同数据类型的值集合。例如:自然数,男,女,0,1等都可以是域。,基数:域中数据的个数称为域的基数。,域被命名后用如下方法表示:,D1=,白亚春,陈韬,王雪莲,表示姓名的集合,基数是3;,D2=,计算机系,电子系,2024/11/8,2笛卡尔积(,Cartesian Product),给定一组域,D,1,,D,2,,,D,i,,,D,n,(,可以有相同的域),则笛卡尔积定义为:,D,1,D,2,D,i,D,n,=(d,1,,d,2,,,d,i,,,d,n,),d,i,D,i,,i=1,2,n,D,1,D,2,=,(,陈韬,,计算机系,),(,陈韬,电子系,),(王雪莲,,计算机系,),(,王雪莲,电子系,),(白亚春,,计算机系,),(,白亚春,电子系,),其中每个(,d,1,,d,2,,,d,i,,,d,n,),叫做,元组,,元组中的每一个值,d,i,叫做,分量,,,d,i,必须是,D,i,中的一个值。,显然,笛卡尔积的基数就是构成该积所有域的基数累乘积,若,Di,(i=1,2,n),为有限集合,其基数为,m,i,(i=1,2,n),,则,D,1,D,2,D,i,D,n,笛卡尔积的基数,M,为:,2024/11/8,该笛卡尔积的基数是,M=m,1,m,2,=3*2=6,,,即该笛卡尔积共有,6,个元组,它可组成一张二维表,姓名,籍贯,陈韬,计算机系,陈韬,电子系,王雪莲,计算机系,王雪莲,电子系,白亚春,计算机系,白亚春,电子系,2024/11/8,3关系(,Relation),关系:笛卡尔积,D,1,D,2,D,i,D,n,的子集,R,称作在域,D,1,,D,2,,,D,n,上的关系,记作:,R(D,1,,D,2,,,D,i,,,D,n,),其中:,R,为关系名,,n,为关系的度或目(,Degree),,D,i,是域组中的第,i,个域名.,当,n=1,时,称该关系为单元关系;,当,n=2,时,称该关系为二元关系;,以此类推,关系中有,n,个域,称该关系为,n,元关系。,把列称为属性(,Attribute,)。,一般来说,一个取自笛卡尔积的子集才有意义。,2024/11/8,关系可以分为三种类型:,基本关系(又称基本表):是实际存在的表,它是实际存储数据的逻辑表示;,查询表:是对基本表进行查询后得到的结果表;,视图表:是由基本表或其它视图导出的表,是一个虚表,不对应实际存储的数据。,姓名,籍贯,陈韬,计算机系,王雪莲,电子系,白亚春,计算机系,2024/11/8,2.1.2 关系的性质,1,列是同质的。,2,关系中行的顺序、列的顺序可以任意互换,不会改变关系的意义。,学号,姓名,性别,出生日期,所在系,0022102,王雪莲,女,1980-9-15,电子系,计算机系,白亚春,男,1981-1-25,0051309,0052201,陈韬,男,计算机系,1981-5-6,0052217,袁更旭,男,1980-12-8,计算机系,2024/11/8,3,关系中的任意两个元组不能相同。,4,、关系中的元组分量具有原子性,即每一个分量都必须是不可分的数据项。,学号,姓名,性别,出生日期,所在系,0022102,王雪莲,女,1980-9-15,电子系,0051309,白亚春,男,1981-1-25,计算机系,0051309,白亚春,男,1981-1-25,计算机系,0052217,袁更旭,男,1980-12-8,计算机系,2024/11/8,2.2 关系的完整性,2.2.1 键,1候选键(,Candidate key),若关系中的某一属性组的值能惟一地标识一个元组,则称该属性组为候选键。,2主键(,Primary key),若一个关系中有多个候选键,则选定一个为主键。,2024/11/8,3主属性(,Primary Attribute),主键的属性称为主属性。,4外键(,Foreign key),设,F,是基本关系,R,的一个或一组属性,但不是,R,的键(主键或候选键),如果,F,与基本关系,S,的主键,K,相对应,则称,F,是,R,的外键,并称,R,为参照关系,,S,为被参照关系。,2024/11/8,学号,姓名,性别,出生日期,所在系,0022102,王雪莲,女,1980-9-15,电子系,0051309,白亚春,男,1981-1-25,计算机系,0052201,陈韬,男,1981-5-6,计算机系,0052217,袁更旭,男,1980-12-8,计算机系,课程号,学号,成绩,C201,0022102,75,C505,0051309,95,C508,0052201,92,C506,0052217,80,2024/11/8,2.2.2 实体完整性,实体完整性规则:关系中的主键不能为空值(,Null)。,空值就是“不知道”或“无意义”,2.2.3 参照完整性,参照完整性规则:表的外键必须是另一个表主键的有效值,或者是空值。,2024/11/8,学号,姓名,性别,出生日期,所在系,0022102,王雪莲,女,1980-9-15,电子系,0051309,白亚春,男,1981-1-25,计算机系,0052201,陈韬,男,1981-5-6,计算机系,0052217,袁更旭,男,1980-12-8,计算机系,课程号,学号,成绩,C201,0022102,75,C505,0051309,95,C508,A102869,92,C506,0052217,80,2024/11/8,2.2.4 用户定义完整性,用户按照实际的数据库运行环境要求,对关系中的数据所定义的约束条件,它反映的是某一具体应用所涉及的数据必须要满足的条件。,2024/11/8,2.3,关系代数,2,.3.1 传统的集合运算,当集合运算并、交、差用于关系时,要求参与运算的两个关系必须时相容的,即两个关系的度数一致,并且关系属性的性质必须一致。,2024/11/8,1并,并:,是将两个关系中的所有元组构成新的关系,并运算的结果中必须消除重复值。,关系,R,与,S,的并运算记作:,R,S,。,2交,交:将两个关系中的公共元组构成新的关系。,关系,R,与,S,的交运算记作:,R,S,。,3差,差:运算结果是由属于一个关系并且不属于另一个关系的元组构成的新关系,就是从一个关系中减去另一个关系。关系,R,与,S,的差运算记作:,R,S,。,2024/11/8,2.3.2 专门的关系运算,专门的关系运算包括:选择、投影和连接,用于数据查询服务。,1选择(,Selection),选择:是按照给定条件从指定的关系中挑选出满足条件的元组构成新的关系,。或者说,选择运算的结果是一个表的行的子集。记作,2,投影(,Projection,),投影:是从指定的关系中挑选出某些属性构成新的关系,。或者说,选择运算的结果是一个表的列的子集。记作,其中,A,为,R,的属性列。投影的结果将取消由于取消了某些列而产生的重复元组。,2024/11/8,3连接(,Join),连接:是将两个和多个关系连接在一起,形成一个新的关系。连接运算是按照给定条件,把满足条件的各关系的所有元组,按照一切可能组合成新的关系。或者说,连接运算的结果是在两关系的笛卡尔积上的选择。记作,:,自然连接:当连接的两关系有相同的属性名时,称这种连接为自然连接,它是连接的一个特例。记作:,2024/11/8,2.4 关系规范化,2.4.1 问题的提出,在设计关系数据库时,经常采用一种自下而上的设计方法。这种方法是对涉及的所有数据进行收集,然后按照栏目进行归纳分类。,插入异常:,删除异常:,数据冗余:,解决这些问题的办法就是重新设计数据库。,2024/11/8,学号,姓名,性别,出生日期,所在系,课程名称,成绩,课程教师,职称,0052201,陈韬,男,1981-5-6,计算机系,数据库技术,90,陈刚,副教授,0052201,陈韬,男,1981-5-6,计算机系,操作系统,85,温翠灵,讲师,0052201,陈韬,男,1981-5-6,计算机系,C,语言,75,陈刚,副教授,0051309,白亚春,男,1981-1-25,计算机系,数据库技术,95,陈刚,副教授,0051309,白亚春,男,1981-1-25,计算机系,操作系统,88,温翠灵,讲师,0051309,白亚春,男,1981-1-25,计算机系,编译技术,85,李建义,讲师,2024/11/8,2.4.2 关系模式的规范化,1范式(,Normal form),范式:建立关系时需要满足的约束条件划分成若干标准,这些标准称为范式,简写为,NF。,范式的级别越高,发生操作异常的可能性越小,数据冗余越小,但由于关联多,读取数据时花费时间也会相应增加。,2第一范式(1,NF),对于给定的关系,R,,如果,R,中的所有行、列交点处的值都是不可再分的数据项,则称关系,R,属于第一范式,记作:,R,1NF。,1NF,是关系数据库中对关系的最低要求,它是从关系的基本性质而来的,任何关系必须遵守。,2024/11/8,3第二范式(2,NF),如果关系,R,1NF,,并且,R,的每一个非主属性都决定于主键,则称,R,属于第二范式,记作:,R,2NF。,思考:主键没有冗余,非主键存在冗余。,3第三范式(3,NF),第三范式:如果关系,R,2NF,,,并且,R,的每一个非主属性都不间接决定于主键,则称,R,属于第三范式,记作:,R,3NF,。,达到第三范式的关系仍有可能存在冗余等问题,所以关系数据库理论还有,BCNF,、,4NF,、,5NF,等范式。在实际应用中,一般达到了,3,NF,的关系就可以认为是较为优化的关系。,2024/11/8,2.4.3 关系分解的原则,关系的规范化就是将关系按照一定的原则不断地分解为多个关系的过程,通过分解使关系逐步达到较高范式。任何一个非规范化的关系经过分解都可以达到3,NF。,在实际应用中,数据库设计人员应根据具体情况灵活掌握,千万不要盲目追求规范化的程度。,关系分解的基本原则是:,1,关系分解后必须可以无损连接的。,2,分解后的关系要相互独立。,2024/11/8,学号,课程号,成绩,0052201,C501,90,0052201,C502,85,0052201,C503,75,0051309,C501,95,0051309,C502,88,0051309,C504,85,2024/11/8,
展开阅读全文