关系数据库系统理论基础.ppt
《关系数据库系统理论基础.ppt》由会员分享,可在线阅读,更多相关《关系数据库系统理论基础.ppt(51页珍藏版)》请在三一办公上搜索。
1、2023/11/11,第2章 关系数据库系统理论基础,本章要点,关系模型关系数据结构及形式化定义关系的完整性约束关系代数关系数据库标准语言SQL关系的规范化,2023/11/11,关系模型是建立在数学概念上的,与层次模型、网状模型相比,关系模型是一种最重要的数据模型。它主要由关系数据结构、关系操作集合、关系完整性约束三部分组成。实际上,关系模型可以理解为用二维表格结构来表示实体及实体之间联系的模型,表格的列表示关系的属性,表格的行表示关系中的元组。关系数据模型的常用操作有选择(select)、投影(project)、连接(join)、除(divide)、并(union)、交(intersect
2、ion)、差(difference)等查询(query)操作,另外还有增加(insert)、删除(delete)、修改(update)操作。关系操作的特点是集合操作方式,即操作的对象和结果都是集合。,2.1关系模型概述,2023/11/11,关系数据语言是一种高度的非过程化的语言,用户不必知道具体的操作路径,存取路径的选择由DBMS的优化机制完成。主要包括关系代数语言、关系演算语言和SQL语言(关系数据库的标准语言)。关系模型允许定义三类完整性约束:实体完整性、参照完整性和用户定义的完整性。实体完整性和参照完整性是关系模型必须满足的完整性约束条件。用户定义的完整性是应用领域需要遵循的约束条件。
3、,2023/11/11,2.2关系数据结构及形式化定义,2.2.1 关系的数学定义(1)域(Domain)定义2.1 域是一组具有相同数据类型的值集合。例如:1,3,5,7,整数等都可以是域。域中数据的个数称为域的基数。域被命名后用如下方法表示:D1=王丽丽,张亭,李中,表示姓名的集合,基数是3;D2=英语系,中文系,表示系别的集合,基数是2。(2)笛卡尔积(Cartesian Product)定义2.2 给定一组域D1,D2,Di,Dn(可以有相同的域),则笛卡尔积定义为:,2023/11/11,D1D2DiDn=(d1,d2,di,dn)diDi,i=1,2,nD1D2=(王丽丽,英语系)
4、,(王丽丽,中文系),(张亭,英语系),(张亭,中文系),(李中,英语系),(李中,中文系)其中每个(d1,d2,di,dn)叫做元组,元组中的每一个值di叫做分量,di必须是Di中的一个值。显然,笛卡尔积的基数就是构成该积所有域的基数累乘积,若Di(i=1,2,n)为有限集合,其基数为mi(i=1,2,n),则D1D2DiDn笛卡尔积的基数M为:该笛卡尔积的基数是M=m1m2=32=6,即该笛卡尔积共有6个元组,它可组成一张二维表,如表2-1所示。,2023/11/11,表2-1 D1,D2的笛卡尔积(3)关系(Relation)定义2.3 笛卡尔积D1D2DiDn的子集R称作在域D1,D2
5、,Dn上的关系,记作:R(D1,D2,Di,Dn)其中:R为关系名,n为关系的度或目(Degree),Di是域组中的第i个域名。当n=1 时,称该关系为单元关系;,2023/11/11,当n=2 时,称该关系为二元关系;以此类推,关系中有n个域,称该关系为n元关系。下面是关系中涉及到的一些相关概念:(1)属性(Attribute):列的名字。(2)候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidate Key)。(3)主码:若一个关系有多个候选码,则选定其中的一个为主码(Primary Key)。(4)主属性:主码的诸属性为主属性(Prime Attri
6、bute)。(5)非码属性:不包含在任何候选码中的属性称为非码属性。(6)全码:关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)。,2023/11/11,一般来说,一个关系取自笛卡尔积的子集才有意义。例如表2-2所示:表2-2 D1,D2的笛卡尔积中构造的关系(4)关系的三种类型 基本关系(基本表或基表):实际存在的表,它是实际存储数据的逻辑表示。查询表:查询结果对应的表。视图表:有基本表或其他视图导出的表,是虚表,不对应实际存储的数据。,2023/11/11,2.2.2 关系的性质 关系是一种规范化了的二维表中行的集合。为了使相应的数据操作简化,在关系模型中对关系进行了
7、限制,因此关系具有以下六条性质:(1)列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。(2)关系中的任意两个元组不能相同。(3)关系中不同的列来自相同的域,每一列中有不同的属性名。(4)关系中列的顺序可以任意互换,不会改变关系的意义。(5)行的次序和列的次序一样,也可以任意交换。(6)关系中每一个分量都必须是不可分的数据项,元组分量具有原子性。,2023/11/11,关系模式 定义2.4 对关系结构的描述称为关系模式。关系模式可以形式化地表示为:R(U,D,dom,F),其中:R:关系名。U:组成该关系的属性名集合。D:属性的域。dom:属性向域的映象集合。属性向域的映象常常直接说
8、明为属性的类型、长度。dom(教师)=dom(学生)=人 F:属性间数据的依赖关系集合。关系模式指出了关系由哪些属性组成。关系模式是静态的、稳定的,而关系是动态的、不断变化的,它是关系模式在某一时刻的状态和内容。关系模式是型,关系是值。,2023/11/11,一般地,从两个方面描述一个关系:首先,关系模式必须指出它由哪些属性构成,这些属性来自哪个域,以及属性与域之间的映象关系。其次,关系通常由赋予它的元组语义来确定。一组关系模式的集合构成了关系数据库模式。关系数据库模式即为关系数据库的型,关系数据库的值即为关系模式在某一时刻对应的关系的集合。,2023/11/11,2.3 关系的完整性,关系的
9、完整性有三类:实体完整性、参照完整性和用户定义的完整性。在阐述各类完整性之前,首先介绍几个术语。候选键(Candidate Key)若关系中的某一属性组的值能惟一地标识一个元组,则称该属性组为候选键。主键(Primary Key)若一个关系中有多个候选键,则选定一个为主键。主属性(Primary Attribute)主键的属性称为主属性。外键(Foreign Key)设F是基本关系R的一个或一组属性,但不是R的键(主键或候选键),如果F与基本关系S的主键K相对应,则称F是R的外键,并称R为参照关系,S为被参照关系。,2023/11/11,2.3.1 实体完整性(Entity Integrity
10、)实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。实体完整性规则规定基本关系的所有主属性都不能取空值(Null),而不仅是主码整体不能取空值。空值就是不知道或无意义。例2.1 有如下关系模式:学生(学号,姓名,性别,年龄,籍贯)学号属性为主码,不能取空值。必修课(学号,课程号,成绩)学号,课程号为主码,都不能取空值。若属性(或属性组)F 是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为如下两种取值之一:(1)取空值(F的每个属性值均为空值);(2)等于S中某个元组的主码值。,2023/11/11,例2
11、.2 有如下关系模式:学生(学号,姓名,性别,院系号,年龄)院系(院系号,专业名)院系号属性是学生关系的外码,院系关系是被参照关系,学生关系为参照关系。例2.3 有如下关系模式:学生(学号,姓名,性别,院系号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩)学号,课程号属性是必修关系的外码。学生关系和课程关系均为被参照关系,必修关系为参照关系。例2.4有如下关系模式:学生(学号,姓名,性别,院系号,年龄,班长)班长属性与本身的主码学号属性相对应,因此班长是外码。学生关系既是参照关系又是被参照关系。,2023/11/11,2.3.2 用户定义完整性 用户定义的完整性就是用户按照实际的
12、数据库应用系统运行环境要求,针对某一具体关系数据库的约束条件。例如某个属性成绩的取值范围必须在0100之间。用户定义完整性反映某一具体应用所涉及的数据必须满足的语义要求。,2023/11/11,2.4 关系代数,关系代数的基本有两类:一类是传统的集合运算,另一类是专门的关系运算。其运算符包括四类:集合运算符(、-、)、专门的关系运算符(、)、算术比较符(、)和逻辑运算符(、)。2.4.1 传统的集合运算 传统的集合运算包括并、交、差、广义笛卡尔积四种运算。当集合运算并、交、差用于关系时,要求参与运算的两个关系必须时相容的,即两个关系的度数一致,并且关系属性的性质必须一致。,2023/11/11
13、,设R和S均为n目关系。(1)并(union)是将两个关系中的所有元组构成新的关系,并运算的结果中必须消除重复值。关系R和S的并记作:RS=t|tRtS 其结果仍为n目关系,由属于R或属于S的元组组成。(2)差(difference)运算结果是由属于一个关系并且不属于另一个关系的元组构成的新关系,就是从一个关系中减去另一个关系。关系R与S的差记作:R-S=t|tRt?S 其结果关系仍为n目关系,由属于R而不属于S的所有元组组成。,2023/11/11,(3)交(intersection)将两个关系中的公共元组构成新的关系。关系R与S的交记作:RS=t|tRtS 其结果关系仍为n目关系,由既属于
14、R又属于S的元组组成。(4)广义笛卡尔积(extended cartesian product)n目关系R与m目关系S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R与关系S的广义笛卡尔积有k1k2个元组。记作:RS=trts|trRtsS,2023/11/11,2.4.2 专门的关系运算 专门的关系运算包括:选择、投影、连接、除,为了叙述上的方便,首先引入几个记号。设关系模式R(A1,A2,An)(1)tAi表示元组t中相应于属性Ai的一个分量。(2)若A=Ai1,Ai2,Ain,其中Ai1,A
15、i2,Ain是 A1,A2,An中的一部分,则A称为属性列或域列。tA=(tAi1,tAi2,tAin)表示t在属性列A上诸分量的集合。A 则表示A1,A2,An中去掉Ai1,Ai2,Ain后剩余的属性组。(3)R为n目关系,S为m关系。trR,tsS,tr ts称为元组的连接。它是一个n+m列元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。(4)给定一个关系R(X,Z),X和Z为属性组。定义当tX=x时,x在R中的象集为:Zx=tZ|tR,tX=x,它表示R中属性组X上值为x的诸元组的集合。,2023/11/11,下面介绍关系运算的定义:(1)选择(Selection)是按
16、照给定条件从指定的关系中挑选出满足条件的元组构成新的关系。或者说,选择运算的结果是一个表的行的子集。它是在关系R中选择满足给定条件的诸元组。记作F(R)=t|t tRF(t)=真,其中F为逻辑表达式。选择运算实际上是从关系R中选取逻辑表达式F为真的元组。这是从行的角度进行的运算。(2)投影(projection)是从指定的关系中挑选出某些属性构成新的关系。或者说,选择运算的结果是一个表的列的子集。关系R上的投影是从R中选择出若干属性列组成新的关系。记作:A(R)=tA|tR,其中A为R中的属性列。投影操作是从列的角度进行的运算。投影的结果将取消由于取消了某些列而产生的重复元组。,2023/11
17、/11,(3)连接(join)连接也称为连接,是将两个和多个关系连接在一起,形成一个新的关系。连接运算是按照给定条件,把满足条件的各关系的所有元组,按照一切可能组合成新的关系。或者说,连接运算的结果是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。记作:R S=trts|trRtsS trA tsB 两种重要的连接:等值连接、自然连接。等值连接:为=的连接运算为等值连接。它是从关系R与关系S的广义笛卡尔积中选取A、B属性值相等的那些元组,即:R S=trts|trRtsS trA=tsB 自然连接:当连接的两关系有相同的属性名时,称这种连接为自然连接,它是一种特殊的等值连接。它要求两个关系
18、中进行比较的分量必须是相同的属性组。并且在结果中把重复的属性列去掉。即若R和S具有相同的属性组B,则自然连接可记作:R S=trts|trRtsS trA=tsB,2023/11/11,(4)除 给定关系R(X,Y)和 S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。记作:RS=trX|trRy(S)Yx,其中Yx为x在R中的象集,x=trX。,2023/11/11,2.5关系数据库标准语言SQL,2.5.1
19、 SQL语言基本知识(1)SQL的特点 SQL语言是一种关系数据库语言,它综合统一、功能强大、简捷易学,是目前的国际标准数据库语言。SQL语言主要具有如下特点:综合统一 SQL语言提供数据的定义、查询、更新和控制等功能,集数据定义语言DDL,数据操纵语言DML、数据控制语言DCL的功能于一体,语言风格统一。功能强大、能够完成各种数据库操作。,2023/11/11,高度非过程化 用户无需了解存取路径,存取路径的选择及SQL语句的操作过程由系统自动完成。面向集合的操作方式 SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。以同
20、一种语法结构提供两种使用方式,一种是自含式语言,以独立交互式使用,另一种是嵌入式语言,主要嵌入到其他高级语言中使用。不是一个应用程序开发语言,只提供对数据库的操作能力,不能完成屏幕控制、菜单管理、报表生成等功能。书写简单、易学易用。,2023/11/11,(2)SQL语言的组成数据定义语言(Data Definition Language,DDL)创建、修改或删除数据库中各种对象,包括数据库、表、视图以及索引等。数据操纵语言(Data Manipulation Language,DML)对已经存在的数据库进行记录的插入、删除、修改等操作,可以分成数据查询和数据更新两大类。数据控制语言(Data
21、 Control Language,DCL)用来授予或收回访问数据库的某种特权、控制数据操纵事务的发生时间及效果、对数据库进行监视,包括对表和视图的授权,完整性规则的描述,并发控制,事务控制等。,2023/11/11,(3)SQL数据库体系结构及基本概念 SQL语言支持关系数据库三级模式结构。外模式对应于视图(VIEW)和部分基本表(Base Table),模式对应于基本表,内模式对应于存储文件。基本表是独立存在的表,SQL中一个关系对应一个基本表。一个或多个基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中。视图是从一个或几个基本表导出的表。它本身不独立存储在数据库中,在数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库 系统 理论基础

链接地址:https://www.31ppt.com/p-6553386.html