第2章 关系数据库.ppt_第1页
第2章 关系数据库.ppt_第2页
第2章 关系数据库.ppt_第3页
第2章 关系数据库.ppt_第4页
第2章 关系数据库.ppt_第5页
已阅读5页,还剩21页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,数据库系统原理及应用,第2章 关系数据库,2.1 关系数据库的基本概念,2.1.1关系的数学定义,1.域 定义2.1 域是一组具有相同数据类型的值的集合。 【例2.1】整数的集合、字符串的集合、全体学生的集合、 男,女,都可以是域。,2笛卡儿积 定义2.2 给定一组域Dl,D2,Dn ,这组域的笛卡儿积为 DlD2Dn =(dl,d2,dn ) | di Di,i=1,2,n 其中每一个元素(dl,d2,dn )叫做一个n元组或简称元组(tuple)。元素(dl,d2,dn )中的每一个值di叫做一个分量(component)。分量来自相应的域(di Di) 若Di (i=l,2,n)为有限

2、集,Di中的集合元素个数称Di的基数,其基数(cardinal number)为mi(i=l,2,n),则DlD2Dn的基数M(即元素(dl,d2,dn)的个数)为所有域的基数的累乘之积 即,数据库系统原理及应用,【例2.2】给出三个域: Dl =学生姓名集合(Sname):王平,李亮,杨文 D2=性别集合(Ssex):男,女 D3=系集合(Dname):计算机,信息管理 则Dl,D2,D3的笛卡尔积为 DlD2D3 =(王平,男,计算机),(王平,男,信息管理) (王平,女,计算机),(王平,女,信息管理) (李亮,男,计算机),(李亮,男,信息管理) (李亮,女,计算机),(李亮,女,信息

3、管理) (杨文,男,计算机),(杨文,男,信息管理) (杨文,女,计算机),(杨文,女,信息管理) 其中(王平,男,计算机)、(李亮,女,信息管理)等都是元组。王平、男、计算机等都是分量。 DlD2D3的元组个数即基数为322=12的二维表,是所有可能的(姓名,性别,专业)元组集合。,数据库系统原理及应用,数据库系统原理及应用,3. 关系 定义2.3 DlD2Dn 的子集叫做在域Dl,D2,Dn 上的关系(relation),表示为R(Dl,D2,Dn)。其中,R表示关系的名字,n是关系的目或度(degree)。 关系中的元组通常用t表示。 当n=1时,称该关系为单元关系(unary rela

4、tion)。 当n=2时,称该关系为二元关系(binary relation)。,4.关系的码 (1)候选码与主码 能唯一标识关系中元组的一个属性或属性集,称为候选码(candidate key),也称候选关键字。如果一个关系中有多个候选码,可以从中选择一个作为查询、插入或删除元组的操作变量,被选用的候选码称为主关系码 (Primary key),或简称为主码、主键、主关键字等。 (2)超码 一个或多个属性的集合,这些属性的组合可以使我们在一个实体集中唯一的标识一个实体。如果K是一个超码,那么K的任意超集也是超码,也就是说如果K是超码,那么所有包含K的集合也是超码。,数据库系统原理及应用,数据

5、库系统原理及应用,(3)主属性与非主属性 主属性 (Prime Attribute):包含在候选码中的任一属性称为主属性。 非主属性 (Non-Prime Attribute):不包含在任何候选码中的属性称为非主属性。 (4)外码 设F是基本关系R的一个或一组属性,但不是关系R的主码(或候选码) 。如果F与基本关系S的主码 Ks 相对应, 则称 F 是基本关系R的外部关系码,也简称外码 (Foreign key),并称基本关系R为参照关系 (Referencing Relation),基本关系S为被参照关系 (Referenced Relation) 或目标关系(Target Relation

6、)。 (5)全码 关系模式的整个属性集合是这个关系模式的候选码,称为全码(ALL-key)。,数据库系统原理及应用,2.1.2关系的性质 1.同一属性的数据具有同质性,即每一列中的分量是同一类型的数据,来自同一个域。 2.同一关系的属性名具有不能重复性,即不同的列可出自同一个域,不同的属性要给予不同的属性名。 3.关系中的列位置具有顺序无关性,即列的次序可以任意交换。 4.关系具有元组无冗余性,即任意两个元组不能完全相同。 5.关系中的元组位置具有顺序无关性,即行的次序可以任意交换。 6.分量必须取原子值,即每一个分量都必须是不可分的数据项。,2.1.3关系模式与关系数据库 1.关系模式 一个

7、关系的属性名的集合 R(Al,A2, ,An) 叫做关系模式,一般可简为R(U)或R(A1,A2, ,An) 其中 R 为关系名,A1,A2, ,An 为属性名 。 关系模式可形式化地表示为: R(U,D,dom,F), 其中:R关系名,U 为组成关系的属性名的集合,D 为属性组 U 中属性所来自的域,dom 为属性和域之间的映像集合,F 为关系中属性间的依赖关系集合。,数据库系统原理及应用,例如: 关系模式学生(学号,姓名,年龄,性别,籍贯)中 学生关系。 学号,姓名,年龄,性别,籍贯。 学号来自于正整数域,姓名来自于姓氏及名字的集合,年龄的域是(1545),性别的域是男,女,所在籍贯的域是

8、所有地名的集合。 学号:(snum INT 7),年龄:(age INT 21520),性别:(sex char 2男,女),姓名:(name char 20),籍贯:(place char 40)。 学号决定其他各属性,如学号姓名等。,数据库系统原理及应用,数据库系统原理及应用,2.关系数据库 在关系数据库中,实体及实体间的联系都是用关系来表示的。例如学生实体、课程实体、学生与课程之间的多对多联系都可以分别用一个关系来表示。在给定的应用领域中,相应所有实体及实体之间联系所形成关系的集合就构成了一个关系数据库。,数据库系统原理及应用,2.2 关系数据库的数据模型 2.2.1 关系模型结构 1.

9、关系:一张二维表即一个关系,它是域的笛卡尔积的子集,关系的一个分量必须是一个不可分的数据项; 2.属性:表中的一列为一个属性,每一个属性有属性名; 3.域:属性的取值范围,具有相同数据类型的值的集合; 4.元组:表中的一行即一个元组; 5.主码:可以唯一确定一个元组的属性组; 6.分量:元组中的一个属性值; 7.关系模式:是对关系的描述,是关系数据库中全体数据的逻辑结构和特征的描述,仅涉及型的描述;,数据库系统原理及应用,关系模式:学生(学号、姓名、性别、年龄、籍贯),关系数据模型,学生人事记录表,关系名,关系,元组(行),属性(列),主码,男 女,域,分量,属性名,数据库系统原理及应用,2.

10、2.2 关系模型的数据操作,关系模型中常用的关系操作集合包括查询(query)操作和更新(update) 1查询操作包括选择(select)、投影(project)、连接(join)、除(divide)、并(union)、交(intersection)、差(difference)等 2更新操作包括增加(insert)、删除(delete)和修改(update),数据库系统原理及应用,关系数据语言可以分为三类,数据库系统原理及应用,2.2.3 关系完整性约束,1.实体完整性 规则2.1 实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。 2参照完整性 规则2.2参照完整性规则:若

11、属性(或属性组)F是关系R的外码,它与关系S的主码KS相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值要么为空值(即F的每个属性值均为空值),要么等于S中某个元组的主码值。 3. 用户定义的完整性 任何关系数据库系统都应当具备实体完整性和参照完整性。,数据库系统原理及应用,2.3 关系代数,关系代数是一种抽象的查询语言,作为研究关系数据语言的数学工具。是关系数据操纵语言的一种传统表达方式,它是用对关系的运算来表达查询的。关系代数的运算由运算对象、运算符和运算结果三大要素组成。 关系代数的运算对象是关系,运算结果亦为关系。关系代数用到的运算符包括四类:集合运算符、专门的关

12、系运算符、算术比较符和逻辑运算符。分别表示如下: 1集合运算符:(并运算),(交运算), (差运算),(广义笛卡尔积)。 2专门的关系运算符:(选择),(投影), (连接),(除)。 3比较运算符:(大于),(大于或等于),(小于),(小于或等于),=(等于),(不等于)或。 4逻辑运算符:(与),(或),(非)。,数据库系统原理及应用,我们先引入几个记号。 设关系模式为R(A1, A2, , An)。它的一个关系设为R。tR表示t是R的一个元组。tAi则表示元组t中相应于属性Ai的一个分量 。 若A=Ai1, Ai2, , Aik,其中Ai1, Ai2, , Aik是A1, A2, , An

13、中的一部分,则A称为属性列或域列。A则表示A1, A2, , An中去掉Ai1, Ai2, , Aik后剩余的属性组。tA=(tAi1, tAi2, , tAik)表示元组t在属性列A上诸分量的集合。 R为n目关系,S为m目关系。称为元组的连接(Concatenation)。它是一个(n+m)列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。 给定一个关系R(X,Z),X和Z为属性组。我们定义,当tX=x时,x在R中的象集(Images Set)为:ZX=tZ|tR, tX=x 它表示R中属性组X上值为x的诸元组在Z上分量的集合。,数据库系统原理及应用,2.3.1关系代数传

14、统集合运算 1.并 关系R与关系S的并由属于R或属于S的元组组成,其结果关系仍为n目关系。记作RS(其中将元组表示为t): RS=t|tRtS 2.交 关系R与关系S的交由既属于R又属于S的元组组成,其结果关系仍为n目关系。记作RS: RS=t|tRtS 3.差 关系R与关系S的差由属于R而不属于S的所有元组组成,其结果关系仍为n目关系。记作R-S: R-S=t|tRtS,数据库系统原理及应用,【例2.16】R、S如图2.2中的(a)、(b)所示,则RS、RS、R-S分别如图2.2中的(c)、(d)、(e)所示。,数据库系统原理及应用,2.3.2关系代数专门的关系运算,1.选择 选择又称为限制

15、,它是在关系R中选择满足给定条件的诸元组,记作:F (R) =t|tRF(t) = TRUE 其中,F表示选择条件,F(t)是一个逻辑表达式,结果取逻辑值真或假。 【例2.18】查询所有女生的基本信息。,数据库系统原理及应用,2.投影 关系R上的投影是从R中选择出若干属性列组成新的关系。记作:A (R) = t A | t R 其中,A为R中的属性列。 投影操作是从列的角度进行的运算。 投影之后取消了原关系中的某些列后,可能出现重复行,投影后也会取消这些完全相同的行。 【例2.20】查询学生的姓名和出生年月。,数据库系统原理及应用,3.连接 它是从两个关系的笛卡儿积中选取属性间满足一定条件的元

16、组。记作: 其中A和B分别为R和S上度数相等且可比属性组。“=”的连接运算称为等值连接。即等值连接为,若R和S具有相同的属性组A,则自然连接可记作:,数据库系统原理及应用,数据库系统原理及应用,4.除 给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P,P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的像集YX包含S在Y上投影的集合。记作:,数据库系统原理及应用,【例2.23】设关系R(A,B,C),S(B,C,D)如图2.7(a)所示,计算RS的结果。设关系R(A,B,C),S(B,C,D)分别为图2.5中的(a)和(b),RS的结果为图2.5(c)。,数据库系统原理及应用,关系代数表达式应用举例 【例2.24】设有学生-课程关系数据库中包含如下关系: S(Sno,Sname,Sex,SD,Age) C(Cno,Cname,Term,Credit) SC(Sno,Cno,Grade) 其中,S为学生表,它的各属性依次为学号、姓名、性别、系别和年龄;C为课程表,它的各属性依次为课程号、课程名、上课学期和学分;SC为学生选课成绩表,它的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论