《关系数据库理论基础.ppt》由会员分享,可在线阅读,更多相关《关系数据库理论基础.ppt(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第2章 关系数据库理论基础l本章重点内容本章重点内容 l关系的数学定义和性质l关系模式的完整性约束条件l关系代数l关系的规范化原则,范式的基本概念和分解方法2022/12/231数据库原理及开发2.1 关系的基本概念关系的基本概念l2.1.1 关系的数学定义l1域(Domain)l域:是一组具有相同数据类型的值集合。例如:自然数,男,女,0,1等都可以是域。l基数:域中数据的个数称为域的基数。l域被命名后用如下方法表示:lD1=白亚春,陈韬,王雪莲,表示姓名的集合,基数是3;lD2=计算机系,电子系2022/12/232数据库原理及开发l2笛卡尔积(Cartesian Product)l给定一
2、组域D1,D2,Di,Dn(可以有相同的域),则笛卡尔积定义为:lD1D2DiDn=(d1,d2,di,dn)diDi,i=1,2,nlD1D2=(陈韬,计算机系),(陈韬,电子系),(王雪莲,计算机系),(王雪莲,电子系),(白亚春,计算机系),(白亚春,电子系)l其中每个(d1,d2,di,dn)叫做元组,元组中的每一个值di叫做分量,di必须是Di中的一个值。l显然,笛卡尔积的基数就是构成该积所有域的基数累乘积,若Di(i=1,2,n)为有限集合,其基数为mi(i=1,2,n),则D1D2DiDn笛卡尔积的基数M为:2022/12/233数据库原理及开发l该笛卡尔积的基数是M=m1m2=
3、3*2=6,即该笛卡尔积共有6个元组,它可组成一张二维表姓名姓名籍贯籍贯陈韬陈韬计算机系计算机系陈韬陈韬电子系电子系王雪莲王雪莲计算机系计算机系王雪莲王雪莲电子系电子系白亚春白亚春计算机系计算机系白亚春白亚春电子系电子系2022/12/234数据库原理及开发l3关系(Relation)l关系:笛卡尔积D1D2DiDn的子集R称作在域D1,D2,Dn上的关系,记作:lR(D1,D2,Di,Dn)l其 中:R为 关 系 名,n为 关 系 的 度 或 目(Degree),Di是域组中的第i个域名.l当n=1 时,称该关系为单元关系;l当n=2 时,称该关系为二元关系;l以此类推,关系中有n个域,称该
4、关系为n元关系。l把列称为属性(Attribute)。一般来说,一个取自笛卡尔积的子集才有意义。2022/12/235数据库原理及开发l关系可以分为三种类型:l基本关系(又称基本表):是实际存在的表,它是实际存储数据的逻辑表示;l查询表:是对基本表进行查询后得到的结果表;l视图表:是由基本表或其它视图导出的表,是一个虚表,不对应实际存储的数据。姓名姓名籍贯籍贯陈韬陈韬计算机计算机系系王雪莲王雪莲电子系电子系白亚春白亚春计算机计算机系系2022/12/236数据库原理及开发l2.1.2 关系的性质l1列是同质的。l2关系中行的顺序、列的顺序可以任意互换,不会改变关系的意义。学号学号姓名姓名性性别
5、别出生日出生日期期所在系所在系0022102王雪王雪莲莲女女1980-9-15电子系电子系计算机计算机系系白亚白亚春春男男1981-1-251981-1-250051309005130900522010052201陈韬陈韬男男计算机计算机系系1981-5-61981-5-60052217袁更袁更旭旭男男1980-12-8计算机计算机系系2022/12/237数据库原理及开发l3关系中的任意两个元组不能相同。l l4、关系中的元组分量具有原子性,即每一个分量都必须是不可分的数据项。学号学号姓名姓名性别性别出生日期出生日期所在系所在系0022102王雪王雪莲莲女女1980-9-15电子系电子系00
6、51309白亚白亚春春男男1981-1-25计算机计算机系系0051309白亚白亚春春男男1981-1-25计算机计算机系系0052217袁更袁更旭旭男男1980-12-8计算机计算机系系2022/12/238数据库原理及开发2.2 关系的完整性l2.2.1 键l1候选键(Candidate key)l若关系中的某一属性组的值能惟一地标识一个元组,则称该属性组为候选键。l2主键(Primary key)l若一个关系中有多个候选键,则选定一个为主键。2022/12/239数据库原理及开发l3主属性(Primary Attribute)l主键的属性称为主属性。l4外键(Foreign key)l设
7、F是基本关系R的一个或一组属性,但不是R的键(主键或候选键),如果F与基本关系S的主键K相对应,则称F是R的外键,并称R为参照关系,S为被参照关系。2.2 关系的完整性2022/12/2310数据库原理及开发学号学号姓名姓名性别性别出生日期出生日期所在系所在系0022102王雪王雪莲莲女女1980-9-15电子系电子系0051309白亚白亚春春男男1981-1-25计算机计算机系系0052201陈韬陈韬男男1981-5-6计算机计算机系系0052217袁更袁更旭旭男男1980-12-8计算机计算机系系课程号课程号学号学号成绩成绩C201002210275C505005130995C508005
8、220192C5060052217802022/12/2311数据库原理及开发l2.2.2 实体完整性l实体完整性规则:关系中的主键不能为空值(Null)。空值就是“不知道”或“无意义”l2.2.3 参照完整性l参照完整性规则:表的外键必须是另一个表主键的有效值,或者是空值。2.2 关系的完整性2022/12/2312数据库原理及开发学号学号姓名姓名性性别别出生日出生日期期所在系所在系0022102王雪王雪莲莲女女1980-9-15电子系电子系0051309白亚白亚春春男男1981-1-25计算机计算机系系0052201陈韬陈韬男男1981-5-6计算机计算机系系0052217袁更袁更旭旭男男
9、1980-12-8计算机计算机系系课程课程号号学号学号成绩成绩C201002210275C505005130995C508A10286992C506005221780实体完整性和参照完整性实例2022/12/2313数据库原理及开发l2.2.4 用户定义完整性l用户按照实际的数据库运行环境要求,对关系中的数据所定义的约束条件,它反映的是某一具体应用所涉及的数据必须要满足的条件。2.2 关系的完整性2022/12/2314数据库原理及开发2.3 关系代数l2.3.1 传统的集合运算l当集合运算并、交、差用于关系时,要求参与运算的两个关系必须时相容的,即两个关系的度数一致,并且关系属性的性质必须一
10、致。2022/12/2315数据库原理及开发l1并l并:是将两个关系中的所有元组构成新的关系,并运算的结果中必须消除重复值。关系R与S的并运算记作:RS。学号姓名性别出生日期所在系0022101何芊女1982-6-5电子系0022102王雪莲女1980-9-15电子系0022201叶媛媛女1982-3-5电子系0051309白亚春男1981-1-25计算机系0052201陈韬男1981-5-6计算机系0052217袁更旭男1980-12-8计算机系2022/12/2316数据库原理及开发l2交l交:将两个关系中的公共元组构成新的关系。关系R与S的交运算记作:RS。学号姓名性别出生日期所在系00
11、51309白亚春男1981-1-25计算机系0052217袁更旭男1980-12-8计算机系2022/12/2317数据库原理及开发l3差l差:运算结果是由属于一个关系并且不属于另一个关系的元组构成的新关系,就是从一个关系中减去另一个关系。关系R与S的差运算记作:RS。学号姓名性别出生日期所在系0022102王雪莲女1980-9-15电子系0052201陈韬男1981-5-6计算机系2022/12/2318数据库原理及开发l2.3.2 专门的关系运算l专门的关系运算包括:选择、投影和连接,用于数据查询服务。l1选择(Selection)l选择:是按照给定条件从指定的关系中挑选出满足条件的元组构
12、成新的关系。或者说,选择运算的结果是一个表的行的子集。记作 学号姓名性别出生日期所在系0051309白亚春男1981-1-25计算机系0052201陈韬男1981-5-6计算机系0052217袁更旭男1980-12-8计算机系2022/12/2319数据库原理及开发l2投影(Projection)l投影:是从指定的关系中挑选出某些属性构成新的关系。或者说,选择运算的结果是一个表的列的子集。l记作,l其中A为R的属性列。投影的结果将取消由于取消了某些列而产生的重复元组。学号姓名性别0022102王雪莲女0051309白亚春男0052201陈韬男0052217袁更旭男2022/12/2320数据库
13、原理及开发l3连接(Join)l连接:是将两个和多个关系连接在一起,形成一个新的关系。连接运算是按照给定条件,把满足条件的各关系的所有元组,按照一切可能组合成新的关系。或者说,连接运算的结果是在两关系的笛卡尔积上的选择。记作:l自然连接:当连接的两关系有相同的属性名时,称这种连接为自然连接,它是连接的一个特例。记作:2022/12/2321数据库原理及开发学号姓名性别出生日期所在系课程号成绩0022102王雪莲女1980-9-15电子系C201750051309白亚春男1981-1-25计算机系C505950052201陈韬男1981-5-6计算机系C508920052217袁更旭男1980-
14、12-8计算机系C50680 学生基本情况表 学生选课表 2022/12/2322数据库原理及开发l2.4 关系规范化l2.4.1 问题的提出l在设计关系数据库时,经常采用一种自下而上的设计方法。这种方法是对涉及的所有数据进行收集,然后按照栏目进行归纳分类。l插插入入异异常常:如果某个教师的所开课程某学期没有,或者学生没有选修他开的该课程,那么就无法将该教师及其所开课程的信息存入数据库。l删删除除异异常常:如果某届学生全部毕业,在删除该系学生时会将课程及相关教师删除。l数数据据冗冗余余:比如,一门课程及其教师要与选修该课程的每一个学生出现的次数一样多 l解决这些问题的办法就是重新设计数据库。2
15、022/12/2323数据库原理及开发学号学号姓姓名名性性别别出生出生日期日期所在所在系系课程名课程名称称成成绩绩课程课程教师教师职职称称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计算计算机系机
16、系操作系操作系统统88温翠温翠灵灵讲讲师师0051309白白亚春亚春男男1981-1-25计算计算机系机系编译技编译技术术85李建李建义义讲讲师师2022/12/2324数据库原理及开发l2.4.2 关系模式的规范化l1范式(Normal form)l范式:建立关系时需要满足的约束条件划分成若干标准,这些标准称为范式,简写为NF。范式的级别越高,发生操作异常的可能性越小,数据冗余越小,但由于关联多,读取数据时花费时间也会相应增加。l2第一范式(1NF)l对于给定的关系R,如果R中的所有行、列交点处的值都是不可再分的数据项,则称关系R属于第一范式,记作:R1NF。l1NF是关系数据库中对关系的最
17、低要求,它是从关系的基本性质而来的,任何关系必须遵守。2022/12/2325数据库原理及开发l3第二范式(2NF)l如果关系R1NF,并且R的每一个非主属性都决定于主键,则称R属于第二范式,记作:R2NF。l思考:主键没有冗余,非主键存在冗余。l3第三范式(3NF)l第三范式:如果关系R2NF,并且R的每一个非主属性都不间接决定于主键,则称R属于第三范式,记作:R3NF。l达到第三范式的关系仍有可能存在冗余等问题,所以关系数据库理论还有BCNF、4NF、5NF等范式。在实际应用中,一般达到了3NF的关系就可以认为是较为优化的关系。2022/12/2326数据库原理及开发l2.4.3 关系分解的原则l关系的规范化就是将关系按照一定的原则不断地分解为多个关系的过程,通过分解使关系逐步达到较高范式。任何一个非规范化的关系经过分解都可以达到3NF。l在实际应用中,数据库设计人员应根据具体情况灵活掌握,千万不要盲目追求规范化的程度。l关系分解的基本原则是:l1关系分解后必须可以无损连接的。l2分解后的关系要相互独立。2022/12/2327数据库原理及开发