




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章 关系数据库基本理论 (第二部分),2019/6/6,2,课程章节 2.1 关系模型 2.2关系的定义及性质 2.3关系代数,第二章 关系数据库基本理论(第二部分),2019/6/6,3,前面介绍了三种主要的数据模型: 层次模型 网状模型 关系模型 其中关系模型简单灵活,并有着坚实的理论基础,已成为当前最流行的数据模型。,第二章 关系数据库基本理论,2019/6/6,4,2.1 关系模型,关系模型就是用二维表格结构来表示实体及实体之间联系的模型,是各个关系的框架的集合。 教师关系T 课程关系C 授课关系SC 教师课程数据库的关系模型,2019/6/6,5,由上例可以看出,在一个关系中可以存放两类信息: 一类是描述实体本身的信息 一类是描述实体(关系)之间的联系的信息,2.1 关系模型,2019/6/6,6,2.2 关系的定义及性质,在关系模型中,数据是以二维表的形式存在的,这个二维表就叫做关系。 关系理论是以集合代数理论为基础的,因此,我们可以用集合代数给出二维表的“关系”定义。,2019/6/6,7,1、域(Domain) 域是一组具有相同数据类型的值的集合,又称为值域。(用D表示) 关系中用域表示属性的取值范围。例如: D1=李力,王平,刘伟 D2=男,女 D3=47,28,30 其中,D1,D2,D3为域名。,2.2.1 相关术语,2019/6/6,8,2、笛卡尔积(Cartesian Product ) 给定一组域D1,D2,Dn(它们可以包含相同的元素,即可以完全不同,也可以部分或全部相同)。D1,D2,Dn的笛卡尔积为D1D2Dn=(d1,d2,dn)|diDi,i=1,2,n。,由定义可以看出,笛卡尔积也是一个集合。 例如:上述表示教师关系中姓名、性别两个域的笛卡尔积为: D1=李力,王平,刘伟 D2=男,女 D1D2=(李力,男),(李力,女),(王平,男), (王平,女),(刘伟,男),(刘伟,女),2.2.1 相关术语,2019/6/6,9,笛卡尔积可用二维表的形式表示。 例如,上述的6个元组可表示成如下表: D1和D2的笛卡尔积,2.2.1 相关术语,2019/6/6,10,3、关系(Relation) 笛卡尔积D1D2Dn的任一子集称为定义在域D1,D2,Dn上的n元关系(Relation),可用R(D1,D2Dn)表示 如上例D1D2笛卡尔积的子集可以构成教师关系T1,,2.2.1 相关术语,2019/6/6,11,2. 关系中元组个数是关系的基数。 如果一个关系的元组个数是无限的,则称为无限关系; 如果一个关系的元组个数是有限的,则称为有限关系。 3. 同样可以把关系看成一个二维表。 T1和T2是同类关系。,2019/6/6,12,4. 数学上关系是笛卡尔积的任意子集,但在实际应用中关系是笛卡尔积中所取的有意义的子集。,2.2.1 相关术语,2019/6/6,13,关系是种规范化了的二维表中行的集合,为了使相应的数据操作简化,在关系模型中,对关系作了种种限制,关系具有如下特性: (1). 关系中不允许出现相同的元组。 (2). 关系中元组的顺序(即行序)是无关紧要的。,2.2.2 关系的性质,2019/6/6,14,(3). 关系中属性的顺序是无关紧要的。 例如:关系T1作如下交换时,无任何影响,2.2.2 关系的性质,2019/6/6,15,(4)同一属性名下的各个属性值必须来自同一个域:是同一类型的数据。 (5)关系中各个属性必须有不同的名字:不同的属性可来自同一个域,即它们的分量可以取自同一个域。 例如,有如下表中关系,职业与兼职是两个不同的属性,但它们取自同一个域职业教师,工人,辅导员。,2.2.2 关系的性质,2019/6/6,16,(6)关系中每一分量必须是不可分的数据项满足此条件的关系称为规范化关系,否则称为非规范化关系。 例如 表1 表2,2.2.2 关系的性质,2019/6/6,17,2.2.3 关键字,1、关键字:用来标识某个记录的一个或一组属性。 2、候选关键字:能作为关键字的属性可能不只一个 3、主关键字:能唯一标识一个元组的候选关键字,能唯一的确定某个元组。 4、次关键字:除主关键字之外的候选关键字,确定具有某种属性的有哪些元组。,2019/6/6,18,2.2.3 关键字,5、外键(Foreign key) 如果关系R的一个或一组属性X不是R的主键,而是另一关系R1的主键,则该属性或属性组X称为关系R的外键。并称关系R为参照关系(referencing relation),关系R1为被参照关系(referenced relation)或称为依赖关系。 S(学号,姓名,年龄,所属系) D(系名,系主任,地点),2019/6/6,19,2019/6/6,20,按表达查询的方法不同,关系运算可分为: 关系代数 关系演算,2.3 关系代数,2019/6/6,21,关系代数:是对关系进行集合代数运算,是基于关系代数的操作语言,称为关系代数语言,简称关系代数。 运算对象:关系 运算结果:关系 运算符: 集合运算符、 专门的关系运算符、 算术比较符、 逻辑运算符,二元,二元,按列,辅助专门的关系运算,按行,按行运算,说明,不等于,小于等于,大于等于,等于,小于,或,与,除,连接,投影,广义笛卡尔积,交,差,大于,比较运算符,集合运算符,并,非,逻辑运算符,选择,专门的关系运算符,含义,运算符,2.3.1 关系代数的分类及其运算符,2019/6/6,22,传统的集合运算是在两个关系中进行的,并且要在两个满足一定条件的关系中进行运算。 定义 设给定两个关系R、S,若满足: 具有相同的度n,即包含相同的个数的属性; R中第i个属性和S中第i个属性必须来自同一个域。则说关系R、S是相容的。,2.3.2 集合运算,2019/6/6,23,1. 并(Union) 关系R和关系S的并由属于R或属于S的元组组成,即R和S的所有元组合并,删去重复元组,组成一个新关系,其结果仍为n目关系。记作: RS=t|tRtS 对于关系数据库,记录的插入 和添加可通过并运算实现。,2.3.2 集合运算,2019/6/6,24,2. 差(Difference) 关系R与关系S的差由属于R而不属于S的所有元组组成,即R中删去与S中相同的元组,组成一个新关系,其结果仍为n目关系。记作: R-S=t|tRtS 通过差运算,可实现关系数据库 记录的删除。,2.3.2 集合运算,2019/6/6,25,3. 交(Intersection) 关系R与关系S的交由既属于R又属于S的元组组成,即R与S中相同的元组,组成一个新关系,其结果仍为n目关系。记作: RS=t|tR tS 交运算可以用差运算来表示:RS=R-(R-S),2.3.2 集合运算,2019/6/6,26,4. 广义笛卡尔积(Extended Cartesian Product) 两个分别为n目和m目关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合,元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1*k2个元组,记作 RS=trts| trR,tsS 关系的广义笛卡尔积可用于两关系的连接操作。,2.3.2 集合运算,2019/6/6,27,广义笛卡儿积运算实例 (R.A, R.B, R.C, S.A, S.B, S.C),2.3.2 集合运算,2019/6/6,28,由于传统的集合运算,只是从行的角度进行,而要灵活地实现关系数据库多样的查询操作,必须引入专门的关系运算。,2.3.3 关系的基本运算,2019/6/6,29,数据库(学生-课程数据库),2.3.3 关系的基本运算,2019/6/6,30,1. 选取(Selection) 是根据一定的条件在给定的关系R中选取若干个元组,组成一个新关系,记作: F(R)=t|tRF(t)为真 选取运算实际上是从关系R中选取使逻辑表达式为真的元组,是从行的角度进行的运算。,2.3.3 关系的基本运算,2019/6/6,31,2019/6/6,32,2.3.3 关系的基本运算,2019/6/6,33,2. 投影(Projection) 关系R上的投影是从R中选择出若干属性列,组成新的关系,即对关系在垂直方向进行的运算,从左到右按照指定的若干属性及顺序取出相应列,删去重复元组。记作:A(R)=tA|tR 其中A为R中的属性列,为投影运算符。,2.3.3 关系的基本运算,2019/6/6,34,2019/6/6,35,投影运算可以改变关系的属性次序,2.3.3 关系的基本运算,2019/6/6,36,例 查询选择了1课程的学生号。 SNO(CNO=1(SC) 结果如右图所示。,2.3.3 关系的基本运算,2019/6/6,37,3、连接运算(Joins) 条件连接:取两关系笛卡尔积中满足条件的元组。 等值连接:取两关系笛卡尔积中A、B属性值相等的元组。 自然连接:A、B为相同属性组的等值连接,去掉重复的属性名。,A,B分别为两关系中属性组,为比较运算符,2019/6/6,38,(1) Condition Joins(条件连接),概念:R c S = c (R S),关系R和S在连接属性X和Y上的连接,就是以RS 笛卡尔积中,选取X属性列上的分量与Y属性列上的 分量满足给定比较条件的那些元组,也就是在 RS上选取在连接属性X,Y上满足条件的子集, 组成新的关系。,2019/6/6,39,记作: RS=t rts |trRtsStrXtsY为真 XY 其中,是连接运算符,为算术比较运算符,也称连接; XY为连接条件; 为“=”时,称为等值连接; 为“”时,称为大于连接。,2.3.3 关系的基本运算,2019/6/6,40,2019/6/6,41,例 如图(a)、(b)所示的两个关系R与S,(c)为R和S的大于连接(CD),(d)为R和S的等值连接(C=D),(e)为R和S的等值连接(R.B=S.B),(f)为R和S的自然连接。 R S (a) (b),2.3.3 关系的基本运算,2019/6/6,42,结合上例,我们可以看出等值连接与自然连接的区别: 1. 等值连接中不要求相等属性值的属性名相同,而自然连接要求相等属性值的属性名必须相同,即两关系只有在同名属性才能进行自然连接。 2. 等值连接不将重复属性去掉,而自然连接去掉重复属性,也可以说,自然连接是去掉重复列的等值连接。,2.3.3 关系的基本运算,2019/6/6,43,4. 除法(Division),2.3.3 关系的基本运算,R/S T ()运算的条件: R中的属性包含S中属性; R中有些属性不出现在S中。,()运算结果 T中属性由R中那些不出现在S中属性组成,T中元组是S中所有元组在R中对应值相同的那些元组值。,2019/6/6,44,除,X,Y,(a4,b5),=,Y,2019/6/6,45,除运算实例,=,选课,必修课,选择了所有必修课表 中的课程的学生的学号和成绩,2019/6/6,46,本章小结,关系数据库系统是目前使用最广泛的数据库系统,本书的重点也是讨论关系数据库系统。 在这一章,我们重点介绍了关系数据模型。通俗的讲,一个关系就是一个二维表。表中的一行是关系的一个元组,表中的一列为关系中一个属性的具体值。应当掌握关系模型的特点和关系运算。关系运算包括传统的集合运算(并、差、交)和专门的关系运算(选择、投影、联接)。此外利用关系代数进行查询也是需要重点掌握的内容。,2019/6/6,47,章后习题,1数据模型有几种,都是什么? 2解释下列
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药物监测与评估知识点试题及答案
- 物业保洁员试题及答案
- 素描专业考试试题及答案
- 镇村考试试题及答案
- 高中语文读音试题及答案
- 理论与实践结合的健康管理师试题及答案
- 透视临床执业医师考试试题及答案
- 母猪疫苗研发进展与管理试题及答案
- 激光行业的可持续发展路径试题及答案
- 西医临床考试数据分析与试题及答案
- DB34-T 4243-2022 智慧医院医用耗材SPD验收规范
- 过滤分离设备公司企业文化管理手册【参考】
- WS-T 405-2012 血细胞分析参考区间
- 联合国国际贸易法委员会公共采购示范法
- 拳击单招考试评分标准
- 15催收业务管理办法
- 金融调控法律制度PPT课件
- 旅游管理专业考试题
- 混凝土格构梁护坡施工方案设计
- 航空航天概论(课堂PPT)
- 宁波明州生物质发电项目环境影响评价报告
评论
0/150
提交评论