版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章
数据库技术概述
第二讲关系代数、关系操作以及关系数据库的设计本讲主要教学内容12关系代数与关系操作
表之间的关联及关系的完整性3小结学习目标1
了解关系的运算方法。2
掌握关系操作含义。3
认识关系关系完整性的含义。重点与难点
关系的运算是本讲的难点;关系之间的关系以及关系的完整性是本讲的重点。
1.2关系数据库的基本知识
关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,是关系操作的基础。关系代数是以关系为运算对象的一组高级运算的集合,它的运算结果也是关系。关系代数用到的运算符包括四类:集合运算符、专门的关系运算符、算术比较运算符与逻辑运算符。1.2.3关系代数
1.2关系数据库的基本知识
传统的集合运算包括并、差、交与笛卡尔积4种。其运算是从关系的“水平”方向即行的角度来进行。
并(union)设关系R和关系S具有相同的关系模式,R和S的并是由属于R或属于S的元组构成的集合,记为R∪S。形式定义为:R∪S={t|t∈R∨t∈S}t是元组变量,R和S的元数相同传统的集合运算
1.2关系数据库的基本知识
例1-1:设R、S为学生实体模式下的两个关系,请求R∪S。
传统的集合运算
1.2关系数据库的基本知识
差(difference)设关系R和关系S具有相同的关系模式,R和S的差是由属于R但不属于S的元组构成的集合,记为R-S。形式定义为:R-S={t|t∈R∧tS}t是元组变量,R和S的元数相同
例1-2:设R、S为上题中学生实体模式下的两个关系,求R-S。
1.2关系数据库的基本知识
交(intersection)设关系R和关系S具有相同的关系模式,关系R和S的交是由属于R又属于S的元组构成的集合,记为R∩S。形式定义为:R∩S={t|t∈R∧t∈S}t是元组变量,R和S的元数相同
注意:关系的交可以用差来表示,即R∩S=R-(R-S)。
例1-3:设R、S为上题中学生实体模式下的两个关系,求R∩S。由关系交运算的定义可得R∩S为:
1.2关系数据库的基本知识
广义笛卡尔积(ExtendedCartesianProduct)设关系R和S分别为m目和n目属性数,R和S的广义笛卡尔积是一个m+n)列的元组的集合。元组的前m列是R的一个元组,后n列是关系S的一个元组。记为R×S。形式定义为:R×S={trts|tr∈R∧ts∈S}
注意:笛卡尔积运算的结果,产生了很多没有实际意义的记录。在实际的表中,对重复列只保留一列。
1.2关系数据库的基本知识
例1-4:设关系R、S分别为学生实体和学生与课程联系两个关系,求R×S。
1.2关系数据库的基本知识
专门的关系运算包括投影(对关系进行垂直分割)、选择(水平分割)与连接(关系的结合)等。
选择selection)选择又称为限制(restriction),它是在关系R中选取符合条件的元组。是从行的角度进行的运算。记为:σF(R)={t|t∈R∧F(t)=’True’}其中F表示选择条件,它是一个逻辑表达式,取逻辑值True或False。逻辑表达式F有由2种成分构成,一是运算对象,参与运算的对象有常量(用引号括起来)和元组分量(属性名或列的序号);二是运算符,运算符包括比较运算符和逻辑运算符。专门的关系运算
1.2关系数据库的基本知识
投影(projection)投影是从R中选择出若干属性列组成新的关系。也就是对一个关系R进行垂直分割,消去某些列,也可以重新调整列的顺序。投影运算是从列的角度对关系进行的运算,记为:
πA(R)={t[A]|t∈R}其中A是R中的属性列。投影后不仅取消了原关系中的某些列,而且还可能取消某些元组。因为取消了某些属性列后,就可能出现重复行,因此,根据关系的基本特征,对重复行仅保留一行。
1.2关系数据库的基本知识
在上述3个表中查询学生的姓名和所在系,即求Student关系在学生姓名和所在系两个属性上的投影。该运算可描述为π姓名,所在系(Student)或π2,5(Student),运算结果为:在上述3个表中查询学生关系Student中都有哪些系,即查询关系Student在所在系属性上的投影。该运算可描述为π所在系
(Student),运算结果为:
1.2关系数据库的基本知识
连接(join)连接也称为θ连接。它是从两个关系的笛卡尔积中选取属性间满足给定条件的元组。连接分为等值连接与自然连接2种。
等值连接(R|×|S(A=B)):从R和S的笛卡尔积中选择A,B属性值相等的元组。如下两个表进行等值连的结果如图1.7所示。
1.2关系数据库的基本知识
自然连接naturaljoin)是一种特殊的等值连接。它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。它是从行和列的角度进行运算。自然连接的具体计算过程如下:①计算R×S。②选取满足自然连接条件的元组。③去掉重复的属性列。
1.2关系数据库的基本知识
在关系数据库中,定义了一些操作来通过已知的关系创建出新的关系。这些操作很多,如插入、删除、更新与查询操作等。1.2.4关系操作
1.2关系数据库的基本知识
1.2关系数据库的基本知识
1.2关系数据库的基本知识
1.2.5表之间的关联在关系数据库中,每一个表都是一个实体对象集,表本身具有完整的结构。但数据库中的表不是孤立,数据库的表与表之间以关键字相互联系着,数据库依靠表之间的关联把数据以有意义的方式联系在一起。数据库中表之间的关联一对一联系(1:1)、一对多联系(1:n)与多对多联系(m:n)有3种类型。
1.2关系数据库的基本知识
一对一(One-to-one)如果表A中的每一条记录,在B表中至多有一条记录(也可以没有)与之对应,反之亦然,那么称A表和B表具有一对一关系,记做1:1。图1.14中SCORE表与Student表是一对一的关系。1.2.5表之间的关联
1.2关系数据库的基本知识
一对多One-to-many)如果表A中的每一条记录,在B表中有N(N=0或者N=1或者N>1)条记录与之联系;反之,表B中的每一条记录,在A表中至多有一条记录与之联系,则称表A与表B具有一对多关系,记做1:N。图1.15中Student表与Course表之间的关系是一对多的关系。1.2.5表之间的关联
1.2关系数据库的基本知识
多对多Many-to-many)如果A表中的每一条记录,在B表中有N(N=0或者N=1或者N>1)条记录与之联系,反之,表B中的每一条记录,在A表中有M(M=0或者M=1或者M>1)条记录与之相联系,则称表A与B表具有多对多关系,记做N:M。多对多的关系需要引入中间表,也叫做联系表,来实现中间表与A、表B的一对多的关系。如图中的SC表就是一个联系表,实现Student表与Course表中实体之间的多对多的关系。1.2.5表之间的关联
1.2关系数据库的基本知识
1.2.6关系完整性关系完整性是为保证数据库中数据的正确性和相容性对关系模型提出的某种约束条件或规则。完整性通常包括实体完整性、参照完整性和用户定义完整性(又称域完整性),其中实体完整性和参照完整性,是关系模型必须满足的完整性约束条件。
1.2关系数据库的基本知识
实体完整性实体完整性是指关系的主关键字不能取空值(Null)。现实世界中的实体是可以相互区分且能识别的,不同的实体应具有某种惟一性标识。在关系模式中,实体记录是以主关键字作为惟一性标识,而主关键字中的属性不能取空值,否则,表明关系模式中存在着不可标识的实体(因空值是不确定的),这与现实世界的实际情况相矛盾,这样的实体就不是一个完整实体。(以一表说明)1.2.6关系完整性
1.2关系数据库的基本知识
参照完整性关系数据库中通常都包含多个存在相互联系的关系,关系与关系之间的联系是通过公共属性来实现的。如果参照关系K中外部关键字的取值,要么与被参照关系R中某元组主关键字的值相同,要么取空值。参照的完整性(ReferentialIntegrity)规定:若F是基本关系R的外关键字,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系)则对于R中每个元组在F上的值必须为:①或者取空值(F的每个属性值均为空值),即外码可以为空②或者等于S中某个元组的主码值。1.2.6关系完整性
1.2关系数据库的基本知识
等于student中某个元组的主码值外码可以为空
1.2关系数据库的基本知识
用户定义完整性用户定义完整性则是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。这一约束机制一般不应由应用程序提供,而应有由关系模型提供定义并检验,用户定义完整性主要包括字段有效性约束和记录有效性。如,对表中的“性别”字段,用户可定义它的完整性为“男”OR“女”,对课程成绩定义为“>=0and<=100”或“Between0and100”,如果在输入这些字段的数据时,输入了不符合完整性的数据,系统不会接受。1.2.6关系完整性小结关系代数是以关系为运算对象的一组高级运算的集合。关系运算包括集合运算符、专门的关系运算符、算术比较运算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026山东省精神卫生中心博士、高级岗位招聘29人考试备考题库及答案详解
- 2026年上海市静安区街道办人员招聘考试备考题库及答案详解
- 壶关县2027届数学四上期末学业质量监测试题含解析
- 2026年松原市宁江区法检系统书记员招聘笔试参考题库及答案详解
- 2026年济南市历城区中小学教师招聘考试模拟试题及答案详解
- 2026年济宁邹城市事业单位公开招聘工作人员(卫生类)(48人)考试参考题库及答案详解
- 2026年黑龙江省街道办人员招聘考试备考题库及答案详解
- 2027届云南省红河哈尼族彝族自治州绿春县数学六年级第一学期期末联考模拟试题含解析
- 2026年邯郸市丛台区街道办人员招聘考试参考试题及答案详解
- 安徽省芜湖市繁昌县2027届数学四上期末检测试题含解析
- 试验室人员岗位责任制度
- 政府办公楼保安考核制度
- 2025年广告设计师专业水平测试试卷
- 任务驱动法的课件
- 叙事护理:改善护患关系
- 2025年陕西省商洛市员额法官遴选面试考题及答案
- 树脂吸附法工业有机废气治理工程技术规范
- 《小学数学教学设计与实施》全套教学课件
- GB/T 16886.17-2025医疗器械生物学评价第17部分:医疗器械成分的毒理学风险评估
- 五年(2021-2025)高考语文真题分类汇编:专题15 语言文字运用(选择+简答题组)(全国)(解析版)
- 2026年高考试题汇编化学专题23化学工艺流程综合题原材料转化制备类(原卷版)
评论
0/150
提交评论