数据库技术与应用第2章-关系数据库.ppt

上传人:小飞机 文档编号:5985623 上传时间:2023-09-11 格式:PPT 页数:56 大小:309KB
返回 下载 相关 举报
数据库技术与应用第2章-关系数据库.ppt_第1页
第1页 / 共56页
数据库技术与应用第2章-关系数据库.ppt_第2页
第2页 / 共56页
数据库技术与应用第2章-关系数据库.ppt_第3页
第3页 / 共56页
数据库技术与应用第2章-关系数据库.ppt_第4页
第4页 / 共56页
数据库技术与应用第2章-关系数据库.ppt_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《数据库技术与应用第2章-关系数据库.ppt》由会员分享,可在线阅读,更多相关《数据库技术与应用第2章-关系数据库.ppt(56页珍藏版)》请在三一办公上搜索。

1、1,第2章 关系数据库,本章重点介绍:关系模型的基本概念 关系代数(难点),2,2.1 关系数据库应用实例,在如今的网络信息时代,无论是通过网络预定机票,还是去图书馆查阅书籍信息,无论是去超市购物,还是去ATM机上取款,数据库应用系统正在默默地为人们的工作和生活提供着各种各样的服务与便捷。,例如:同济大学图书馆信息查询系统,图3-1高级查询窗口,3,2.1 关系数据库应用实例,4,2.1 关系数据库应用实例,这里的高级查询窗口和查询结果窗口都是数据库应用系统的一部分。数据库应用系统为用户提供简单易于操作的窗口或友好界面,为用户查找信息和更新信息提供了方便。,数据库应用系统的组成:由用户、数据库

2、应用程序、数据库这几部分构成,其工作关系如图。,5,2.1 关系数据库应用实例,数据库应用系统的工作过程可以概括为:用户通过数据库应用程序输入查询条件,应用程序将查询条件转化成数据库查询命令并提交给DBMS,DBMS接收到查询命令解析执行命令并在操作系统的帮助下从数据库中取出数据返回给应用程序,再由应用程序以直观友好的格式显示出查询结果。,6,2.2 关系模型概述,1.关系(Relation):一个满足某些约束条件的二维表。2.属性(Attribute):表中的每列称为一个属性,每个属性必须有唯一的属性名。3.元组(tuple):表中的每行称为一个元组。4.域(domain):属性的取值范围。

3、5.度或目(Degree):一个关系中属性的个数。6.基数:一个关系中元组的个数。,2.2.1 关系模型的基本术语,7,借阅表,度,8,2.2.1 关系模型的基本术语,7.超键(Superkey):一个关系中能唯一标识每个元组的某个或某组属性。例如:学生(学号,姓名,性别,年龄,班级)超键有:学号、(学号,姓名)、(学号,姓名,性别)、(学号,姓名,性别,年龄)、(学号,姓名,性别,年龄,班级)是不是很多?其实只要“学号”一个属性就能唯一标识了,加上其他属性都是多余的。这就引入了候选键的概念。,9,2.2.1 关系模型的基本术语,8.候选键(Candidate key):一个关系中能唯一标识每

4、个元组的最小的属性集。例如:学生(学号,姓名,性别,年龄,班级)选课(学号,课号,成绩)指导(导师,专业,研究生)候选键?一个导师可以指导多个研究生,一个导师属于一个专业,一个专业可以有多个导师和学生。一个关系中候选键可以有多个。,10,2.2.1 关系模型的基本术语,9.主键(Primary key):在一个关系的候选键中选定一个为主键。主键中的属性称为主属性。不包含在任何候选键中的属性称为非主属性。最简单的情况,候选键只包含一个属性,最极端的情况,一个关系的所有属性构成这个关系的候选键,称为全键。,11,2.2.1 关系模型的基本术语,10.外键(Foreign key):F为关系R中的属

5、性组,它不是R的主键,但它与另一个关系S的主键Ks相对应,则称F为关系R的外键。R为参照关系,S为被参照关系。关系R和S可以是相同的。例:职工部门数据库:职工(工号,姓名,性别,部门号)部门(部门号,部门名,负责人,电话),12,2.2.1 关系模型的基本术语,11.关系数学定义域:是一组具有相同数据类型的值的集合。例:整数、小数点后保留2位的实数、性别集合“男”、“女”。,13,2.2.1 关系模型的基本术语,笛卡尔积(Cartesian Product)定义:给定一组域D1,D2,Dn,这些域可以有相同的。D1,D2,Dn的笛卡尔积为:D1D2Dn=(d1,d2,dn)|diDi,i=1,

6、2,n其中,每一个元素(d1,d2,dn)叫作一个n元组(n-tuple)或元组。元组中的每一个值di叫作一个分量。,14,2.2.1 关系模型的基本术语,笛卡尔积可表示为二维表:,15,2.2.1 关系模型的基本术语,关系定义:D1D2Dn的子集叫做在域D1,D2,Dn上的关系,表示为:R(D1,D2,Dn)R为关系的名字,n为关系的目或度。关系是笛卡尔积的子集,所以关系也是一个二维表。表的每一行对应一个元组,表的每一列对应一个域,由于域可以相同,为了加以区别,必须对每列起一个名字,称为属性,16,2.2.1 关系模型的基本术语,例如 有两个集合D1和D2,这里D1=2,4,D2=1,3,5

7、。这两个集合的笛卡尔积为:D1D2=(2,1),(2,3),(2,5),(4,1),(4,3),(4,5)这个笛卡尔积的任何子集都是一个关系。例如可以产生下列关系:R=(2,1),(4,1)可以用二维表表示:,17,2.2.2 数据模型三要素,任何数据模型都由三个基本要素构成:数据结构、数据操作、数据完整性约束。关系模型由关系数据结构、关系操作集合、关系完整性约束三部分构成。,1.数据结构关系关系数据结构由关系构成。不管是实体还是实体之间的联系都用关系表示。因此关系模型的数据结构单一。,18,2.2.2 数据模型三要素,2.关系操作关系操作集合(1)关系的操作是集合操作。主要包括:选择(Sel

8、ect)、投影(Project)、连接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Difference)、广义笛卡尔积用这8种操作可以完成对数据库的插入、删除、修改、查询操作。,19,2.2.2 数据模型三要素,(2).关系操作的特点:一次一集合(setata time)方式,而非关系数据库的操作是一次一记录(record at a time)方式。,(3).关系操作的能力通常用关系代数或关系演算来表示。关系代数和关系演算是两种抽象的查询语言。与实际系统中使用的语言并不完全一样。它们主要是用来评估实际系统中使用的查询语言能力的标准或基础。,20,2.

9、2.2 数据模型三要素,3.关系的三类完整性约束,为了维护数据库数据完整性,关系数据库在插入、删除、修改数据操作时要遵循三类完整性规则。,关系模型具有三类完整性:实体完整性、参照完整性和用户定义完整性。,21,2.2.2 数据模型三要素,一、实体完整性(entity integrity),实体完整性:关系R的主属性不能取空值。空值(NULL):即“不知道”或“无意义”的值。,例2 学生-选课数据库:学生(学号,姓名,性别,出生日期,系)课程(课号,课名,学分,学时)选课(学号,课号,成绩,学年学期)学生表的学号、课程表的课号不能取空值,选课表的学号和课号都不能取空值。,22,2.2.2 数据模

10、型三要素,参照完整性规则 若F为基本关系R的外键,且与基本关系S的主键Ks相对应,则R中的每个元组在F上的值必须为:(1)或者取空值;(2)或者等于S中某个元组的主键值。,二、参照完整性,23,2.2.2 数据模型三要素,例1 职工部门数据库:职工(工号,姓名,性别,部门号)部门(部门号,部门名,负责人,电话)例2 学生-选课数据库:学生(学号,姓名,性别,出生日期,系)课程(课号,课名,学分,学时)选课(学号,课号,成绩,学年学期),24,2.2.2 数据模型三要素,实体完整性和参照完整性是关系数据库必须满足的完整性规则,RDBMS应自动支持。用户定义完整性:是指,根据应用环境,某一具体应用

11、所涉及到的数据必须满足的语义约束条件。RDBMS应提供用户定义这类完整性的机制。如:学生表中性别只能取“男”,“女”。,三、用户定义完整性,25,2.2.3 关系的性质,数据库中的关系必须具有如下性质:(1)每一列中的分量数据类型相同,来自于同一个域。(2)每一列要给出不同的属性名;(3)不同列的次序可以任意交换。(4)不同行的次序可以任意交换。(5)任意两个元组不能完全相同。(6)每一个分量都是不可再分的数据项。,26,2.2.3 关系的性质,这张表就不是关系,27,2.2.3 关系的性质,可采用如下所示的方式来处理。,28,2.2.4 关系模式,关系模式(Relational Schema

12、):关系结构的描述称为关系模式。它可以形式化地表示为:R(U,D,Dom,F)U属性集,D域集,Dom属性向域的映象,表现为属性的类型、长度等。F属性间的数据依赖。通常关系被简写为R(A1,A2,.,An),29,2.2.4 关系模式,关系数据库模式是对关系数据库的描述,包括若干域以及域上定义的关系模式的集合。其值是这些关系模式在某一时刻对应于关系的集合,通常称为RDB。,30,2.3 关系代数,关系代数是一种抽象的数据语言。是关系数据操纵语言的一种传统表达方式,它是用对关系的运算来表达查询的,即关系代数的运算对象是关系,运算的结果也是关系。关系是元组的集合,因此传统的集合运算并、交、差、广义

13、笛卡尔积也适用于关系代数;关系还包括4个专门的运算:选择、投影、连接和除。,31,2.3.1 传统的集合运算,只需一个操作数的运算称为单目运算,需要2个操作对象的称为二目运算。传统的集合运算是二目运算,要求参与运算的关系(设为R和S)属性个数相同,且相应的属性取自同一个域。1并(Union)关系R与S的并仍是一个n元关系,它由属于R或属于S的元组组成。记作:RS=t|t R t S,32,2.3.1 传统的集合运算,2差(Difference)关系R与S的差仍是一个n元关系,由属于R而不属于S的所有元组组成。记作:R-S=t|t R t S,3交(Intersection)关系R与S的交仍是一

14、个n元关系,由属于R且属于S的所有元组组成。记作:R S=t|t R t S,33,2.3.1 传统的集合运算,并,差,交,关系R与S的并、差、交运 算,34,2.3.1 传统的集合运算,4广义笛卡儿积(Cartesian Product)n目关系R和m目关系S的笛卡儿积是一个(n+m)目的新关系,其中每个元组的前n列是关系R的某个元组,后m列是关系S的某个元组。记作:R S=(a1,an,b1,bm)|(a1,an)R(b1,bm)S 若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡儿积有k1k2个元组。,35,2.3.1 传统的集合运算,两个关系进行笛卡儿积运算后会得到一个非常

15、大的关系。如R有10个元组,S有30个元组,则R S有300个元组,而且其每个元组要比R和S的元组要大。关系R和关系S可能有相同的属性名,为加以区别,就在属性名前标上相应的关系名作为前缀,例如R.A和S.A等。属性名不同时,可以不用加前缀。,36,2.3.1 传统的集合运算,例:已知关系R和S分别如下图所示。求:(1)关系R和S的并。(2)关系R与S的交。(3)关系R与S的差。(4)关系R与S的笛卡儿积。,37,2.3.1 传统的集合运算,解:,38,2.3.1 传统的集合运算,RS,39,2.3.1 传统的集合运算,RS,40,2.3.2 专门的关系运算,专门的关系运算包括选择、投影、连接、

16、除。选择、投影是单目运算,其他双目运算。1.选择(selection)关系R上的选择运算是在关系R中选择满足给定条件的元组。记作F(R)。其中为选择运算符,F为条件(逻辑表达式)。可表示为:F(R)=t|t R F(t)=true,41,2.3.2 专门的关系运算,在本课程的讲解中,例题涉及的数据库主要以“教学数据库”为主。教学数据库由以下三张表构成:学生(学号,姓名,性别,出生日期,系)课程(课号,课名,学分,学时,任课老师)选课(学号,课号,成绩,学年学期)即:S(Sno,Sname,Sex,Birth,Dept)C(Cno,Cname,Credit,Period,teacher)SC(S

17、no,Cno,Grade,Year_Semester),42,2.3.2 专门的关系运算,例1 查找数学系学生情况。,Dept=“数学系”(S),2.投影(Projection)关系R上的投影运算是从关系R中选择若干属性构成新的关系,并在结果中删去重复元组。投影操作记为:A(R)。其中为投影运算符,A为指定保留的属性组。,43,2.3.2 专门的关系运算,例2 查询所有学生的学号,姓名,所属系信息。,sno,sname,dept(S),例3 查询数学系所有学生的学号,姓名。,sno,sname(Dept=“数学系”(S),44,2.3.2 专门的关系运算,3.连接(Join)关系R和关系S的连

18、接运算是指从R与S的笛卡儿积中选择R与S的属性间满足连接条件F的元组。记为:。连接条件F=R.A S.B。等值连接是指(R.AS.B)中,取等号(=)。除此之外的连接都称为非等值连接。,45,2.3.2 专门的关系运算,4.自然连接(Natural Join)两个关系R与S的自然连接是指参与连接运算的R和S在同名属性上具有相同的值,并在连接结果中去掉重复属性列的连接。记为。例4已知关系R和S。求:,46,2.3.2 专门的关系运算,R,S,47,2.3.2 专门的关系运算,48,2.3.2 专门的关系运算,49,2.3.2 专门的关系运算,5.除法在定义除法前,先学习一个新的概念:象集。给定一

19、个关系R(X,Z),X和Z为属性组。定义,当tX=x时,x在R中的象集为:Zx=tZ|tR tX=x,50,2.3.2 专门的关系运算,求:(a1,b1)在R中的象集。,例5:已知关系R为:,51,2.3.2 专门的关系运算,(a1,b1)在R中的象集:,52,2.3.2 专门的关系运算,除法定义:给定两个关系R(X,Y)和S(Y,Z)。其中X,Y和Z都是属性组,R是r目,S是s目。除法运算只涉及到S中与R同名的属性。R与S的除法记作R S,为 R S=trx|trR y(S)Yx其中:Yx为x在R中的象集,x=trX,53,2.3.2 专门的关系运算,例6:设关系R和S如下图所示。求R S。,R,S,结果:a1,a2,54,2.3.2 专门的关系运算,例7 查找选修了张明老师讲授的所有课程的学生名单。,例8 查找学习全部课程的学生姓名。,55,作业,第2章 习题,56,联系我们:同济大学计算机系计算机基础教研室 Http:/,谢谢!,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号