《数据库系统原理教程幻灯片.ppt》由会员分享,可在线阅读,更多相关《数据库系统原理教程幻灯片.ppt(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据数据库系系统原理教程原理教程第1页,共49页,编辑于2022年,星期六v应用数学方法来处理数据库数据应用数学方法来处理数据库数据v关系模型的提出关系模型的提出 70年代年代E.F.Codd(81年年ACM图灵奖)图灵奖)v关系数据库是目前最重要、最流行的数据库关系数据库是目前最重要、最流行的数据库 Oracle,DB2,SQL Server,Sybase,Infomix,Ingres,Access,FoxPro,FoxBASE,MySQL关系数据库的主流地位关系数据库的主流地位2第2页,共49页,编辑于2022年,星期六2.1关系数据库概述关系数据库概述v关系数据库系统是支持关系模型的数据
2、库系统关系数据库系统是支持关系模型的数据库系统v 关系模型的三个组成部分:关系模型的三个组成部分:q 关系数据结构关系数据结构q 关系操作集合关系操作集合q 完整性约束完整性约束 3第3页,共49页,编辑于2022年,星期六1.单一的数据结构表单一的数据结构表H“二维表二维表”2.关系操作关系操作集合操作方式集合操作方式 set-at-a-timevs.record-at-time常用的关系操作:常用的关系操作:查询查询(选择、投影、连接、除、并、交、差)选择、投影、连接、除、并、交、差)增加、删除、修改操作。增加、删除、修改操作。第4页,共49页,编辑于2022年,星期六v关系语言是一种关系
3、语言是一种高度非过程化高度非过程化的语言的语言元组关系演算语言元组关系演算语言域关系演算语言域关系演算语言关系代数语言关系代数语言关系演算语言关系演算语言具有关系代数和关系演算双重特点的语言(如具有关系代数和关系演算双重特点的语言(如SQL)关系数据语言关系数据语言表达能力完全等价表达能力完全等价5第5页,共49页,编辑于2022年,星期六3.完整性约束完整性约束实体完整性实体完整性参照完整性参照完整性用户定义的完整性用户定义的完整性由关系系统自动支持6第6页,共49页,编辑于2022年,星期六1.关系关系 1)域域(Domain)定义定义定义定义2.12.1:域是一组具有相同数据类型的值的集
4、合。域是一组具有相同数据类型的值的集合。例如,自然数、整数、实数、长度小于例如,自然数、整数、实数、长度小于25字节的字符串集合、字节的字符串集合、大于等于大于等于0且小于等于且小于等于100的正整数等的正整数等2.2关系数据结构关系数据结构7第7页,共49页,编辑于2022年,星期六2)笛卡尔积笛卡尔积(cartesianproduct)定义定义定义定义2.2:2.2:给定一组域给定一组域D1,D2,Dn,这些域中可以有相同的。,这些域中可以有相同的。D1,D2,Dn的笛卡尔积为:的笛卡尔积为:D1D2Dn(d1,d2,dn)|di Di,i=1,n其中,其中,(d1,d2,dn)称为一个称
5、为一个n元组元组(n-tuple)或元组或元组,di称为称为一个分量一个分量(component)。D1D2Dn的基数的基数8第8页,共49页,编辑于2022年,星期六例如给出三个域:例如给出三个域:D1=导师集合 SUPERVISOR=张清玫,刘逸 D2=专业集合 SPECIALITY=计算机专业,信息专业 D3=研究生集合POSTGRADUATE=李勇,刘晨,王名这对应一张二维表,表的行数则则D1,D2,D3的笛卡尔积为的笛卡尔积为D1 D2 D3=(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨),(张清玫,计算机专业,王名),(张清玫,信息专业,李勇),(张清玫,信息专业,刘晨
6、),(张清玫,信息专业,王名),(刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨),(刘逸,计算机专业,王敏),(刘逸,信息专业,李勇),(刘逸,信息专业,刘晨),(刘逸,信息专业,王名)第9页,共49页,编辑于2022年,星期六第10页,共49页,编辑于2022年,星期六 3)关系关系(relation)定义定义定义定义2.3:2.3:D1D2Dn的子集称为在域的子集称为在域D1,D2,Dn的关系,用的关系,用R(D1,D2,Dn)表示。表示。这里R表示关系的名字,n是关系的目或度(Degree)。当n=1时,称为单元关系;n=2时,称为二元关系。v关系也是一个二维表关系也是一个二维表表
7、的每行对应一个元组,表的每列对应一个域。表的每行对应一个元组,表的每列对应一个域。为区别来自相同域的不同列,引入属性为区别来自相同域的不同列,引入属性(attribute)11第11页,共49页,编辑于2022年,星期六q几个概念:几个概念:候选码,主码,主属性,非码属性,全码候选码,主码,主属性,非码属性,全码q关系的三种类型:关系的三种类型:基本关系(称为基本表或基表)基本关系(称为基本表或基表)查询表查询表视图表视图表12第12页,共49页,编辑于2022年,星期六学号学号Sno姓名姓名Sname性别性别Ssex年龄年龄Sage所在系所在系Sdept95001李勇男 20 CS95002
8、刘晨女 19IS95003王名女 18 MA95004张立男 19 IS学生Student 关系第13页,共49页,编辑于2022年,星期六课程号课程号Cno课程名课程名Cname先行课先行课Cpno学分学分Ccredit1数据库5 42数学23信息系统144操作系统635数据结构746数据处理27PASCAL语言64课程Course 关系第14页,共49页,编辑于2022年,星期六学号学号Sno课程号课程号Cno成绩成绩Grade9500119295001285 95001388 95002290 95002380选修SC关系第15页,共49页,编辑于2022年,星期六n基本关系的性质:基本
9、关系的性质:1)列是同质的2)不同的列可出自同一域,要给予不同的属性名3)列的顺序无所谓4)无相同元组5)行的顺序无所谓6)分量必须取原子值,即分量不可再分 第一范式(1NF,1 normal form)16第16页,共49页,编辑于2022年,星期六这是一张具体的表,即这是一张具体的表,即关系是关系是“值值”!如何描述这张表的如何描述这张表的“型型”呢?呢?学号学号Sno姓名姓名Sname性别性别Ssex年龄年龄Sage所在系所在系Sdept95001李勇男 20 CS95002刘晨女 19IS95003王名女 18 MA95004张立男 19 IS第17页,共49页,编辑于2022年,星期
10、六2.关系模式关系模式v关系模式是对关系的描述关系模式是对关系的描述要描述二维表要描述二维表(关系关系)的结构,要回答以下一些问题:的结构,要回答以下一些问题:它由哪些属性构成?它由哪些属性构成?这些属性来自哪些域?这些属性来自哪些域?属性与域之间的映象关系?属性与域之间的映象关系?同时,现实世界的许多已有事实限定了关系模式所有可能同时,现实世界的许多已有事实限定了关系模式所有可能的关系必须满足一定的完整性约束条件。关系模式应当刻的关系必须满足一定的完整性约束条件。关系模式应当刻划出这些完整性约束条件。划出这些完整性约束条件。如如“Sage,.5(R)ABCD123710第35页,共49页,编
11、辑于2022年,星期六例1:查询信息系(IS系)全体学生Sdept=IS(Student)或 5=IS(Student)学号学号Sno姓名姓名Sname性别性别Ssex年龄年龄Sage所在系所在系Sdept95001李勇男 20 CS95002刘晨女 19IS95003王名女 18 MA95004张立男 19 IS关系Student例2:查询信息系的名叫王名的学生Sname=王名 Sdept=IS(Student)第36页,共49页,编辑于2022年,星期六2投影(projection)A(R)=t A|t R 其中A为R中的属性列(设有K列)n结果是包含结果是包含K个列的关系,其它的列被删除
12、了。个列的关系,其它的列被删除了。n由于关系是集合,故结果中消除了重复的行。由于关系是集合,故结果中消除了重复的行。第37页,共49页,编辑于2022年,星期六投影操作示例投影操作示例Relation RABC102030401112AC1112=AC112 A,C(R)第38页,共49页,编辑于2022年,星期六3连接(join)R S=|tr R ts S tr A ts B (trtsA B其中A和B分别为R和S上度数相等且可比的属性组。是比较运算符。连接运算从A和B的广义笛卡尔积AB中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系的元组。v两种重要而常用的连接运算
13、:等值连接(equi-join):为“=”自然连接(natural join):一种特殊的等值连接,要求 1.A和B相同 2.结果中除去重复属性 R S39第39页,共49页,编辑于2022年,星期六自然连接操作示例自然连接操作示例自然连接操作示例自然连接操作示例nRelations R,S:AB12412CDaababB13123DaaabbERAB11112CDaaaabESR S第40页,共49页,编辑于2022年,星期六4除(division)n给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。RS是R中满足下列条件的元组在X属性上的投影:元组在X上分量值x的象集Yx包含S在
14、Y上投影的集合。记作:说明:Yx=y|trRy=trYx=trX。Yx为x在R中的象集x=trX(即Yx为属性X取值x)时,相应的Y值的集合。当中首次出现了关于集合的比较。当中首次出现了关于集合的比较。41第41页,共49页,编辑于2022年,星期六除法操作示例除法操作示例除法操作示例除法操作示例Relations R,S:R S:BA12AB12311134612RS 第42页,共49页,编辑于2022年,星期六43第43页,共49页,编辑于2022年,星期六综合举例综合举例例例1.查询至少选修查询至少选修1号课程和号课程和3号课程的学生号码。号课程的学生号码。Sno,Cno(SC)K 临时
15、关系临时关系KCno13例例2.查询选修了查询选修了2号课程的学生的学号。号课程的学生的学号。Sno(Cno=2(SC)44第44页,共49页,编辑于2022年,星期六例例3.查询至少选修了一门其直接先行课为查询至少选修了一门其直接先行课为6号课程的学生姓名。号课程的学生姓名。例例4.查询选修了全部课程的学生号码和姓名。查询选修了全部课程的学生号码和姓名。Cpno=6(Course)SCSno,Sname()Sname(Student Sno,Sname(Student)Sno,Cno()SCCno(Course)45第45页,共49页,编辑于2022年,星期六2.5关系数据库管理系统关系数据
16、库管理系统(Relational DBMS)v一个一个DBMS可定义为可定义为关系系统关系系统,当且仅当它至少支持:,当且仅当它至少支持:关系数据库(即关系数据结构)关系数据库(即关系数据结构)支持选择、投影和(自然)连接操作,且不要求用户支持选择、投影和(自然)连接操作,且不要求用户 定义任何物理存取路径。定义任何物理存取路径。46第46页,共49页,编辑于2022年,星期六v依据支持关系模型的程度不同,可分为四类依据支持关系模型的程度不同,可分为四类:关系系统的分类关系系统的分类类型类型特性特性实例实例表式系统表式系统支持关系数据结构(表);不支持集合级的操作倒排表列(inverted l
17、ist)(最小最小)关系系统关系系统支持关系数据结构(表);支持选择、投影、连接操作FoxBASE、FoxPro关系完备系统关系完备系统支持关系数据结构(表);支持所有关系代数(等价)操作DB2,ORACLE,Sybase,Informix全关系系统全关系系统支持关系模型所有特征尚无v体系结构上都符合三级模式结构,提供两级映象功能。体系结构上都符合三级模式结构,提供两级映象功能。第47页,共49页,编辑于2022年,星期六课堂练习v关系代数的五种基本运算:并、差、笛卡儿积、选择、投影并、差、笛卡儿积、选择、投影问题:问题:试用以上五种基本运算表示交、连接和除法。试用以上五种基本运算表示交、连接和除法。R S=F(RS)FR S =(RUS)-(R-S)U(S-R)R S=Y(R)-Y(S(Y(R)-R)48第48页,共49页,编辑于2022年,星期六n作业作业:习题7中的关系代数操作部分 (教材 page 64)作作业业1449第49页,共49页,编辑于2022年,星期六
限制150内