第02章 关系数据库

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章关系数据库第一部分数据库系统的一般原理章关系数据库关系模型建立在数学理论基础上,数据操纵语言基于关系运算。了解关系数据库理论,才能设计出合理的数据库,才能更好地掌握数据操纵语言并付诸应用。本章介绍关系模型的基本概念、关系的数学定义和关系代数等。关系的数学定义项目要求(1)理解关系模型的基本概念。(2)掌握关系的数学定义。学习节奏关系的数学定义码:能唯一标识每个元组又不含多余属性的属性组合称为码,又称关键字。候选码:它是属性或属性组合,其值能够唯一地标识一个元组。主码:一个关系模式可能有多个候选码,从中选择一个作为主码主属性:主码中包含的各个属性。非主属性:不包含在主码中的各个属性。外码:设F是关系R的一个属性,不是R的主码,但却是另一个关系S的主码,则称F是关系R的外码。给定一组域,这些域可以完全不同,也可以部分相同。的笛卡尔积为2.1.2关系的数学定义项目2.1关系的数学定义12n12niiDDD{(d,d,,d)|dD,i1,,n}域是一组具有相同数据类型的值的集合。2.1.2.1域2.1.2.2笛卡尔积从笛卡尔积中取出有实际意义的元组称为关系。一个关系所含属性的个数称为关系的目或度。2.1.2.3关系关系的数学定义(1)列是同质的,即每一列中的分量是同一类型的数据。(2)列的顺序无所谓,即列的次序可以任意交换。(3)任意两个元组不能完全相同。(4)行的顺序无所谓,即行的次序可以任意交换。(5)所有属性值都是原子,不允许属性又是一个二维关系。2.1.2.4关系的性质(1)实体完整性:指关系的所有主属性都不能取空值。(2)参照完整性:指一个关系外码的取值必须是相关关系中主码的有效值或空值。2.1.2.5关系的完整性规则关系的数学定义项目实训训练要求现有一个关系模式:借阅(书号,书名,库存数,读者号,借期,还期)。假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本,则该关系模式的主码是(),主属性是()重点提示主码可以是一个或多个属性名实训一理解主码和主属性的概念实训二理解主码和外码的概念训练要求指出下列3个关系的主码和外码,并根据参照完整性输入记录Student(学号,姓名,性别,年龄,系别)Course(课程号,课程名,学分)Sc(学号,课程号,成绩)重点提示外码的取值必须是主键表中主码的有效值或空值项目小结在本项目中,学习了关系模式的基本概念以及完整性规则,通过本项目的学习,读者能够理解实体完整性和参照完整性,能够对各个属性有效赋值。项目2.1关系的数学定义项目要求(1)了解几个传统的集合运算和几个专门的关系运算。(2)能根据要求写关系代数表达式。项目2.2关系代数学习节奏关系代数的运算对象是关系,运算结果也是关系。关系代数用到的运算符包括4类:集合运算符、专门的关系运算符、比较运算符和逻辑运算符,见表2-1。的所有元组合并,再删去重复的元组,组成一个新的关系,称为R和S的并,记为R∪S。即R∪。S{t|tRtS}2.2.1.2交关系R和关系S的交是由既属于R又属于S的元组组成的集合,即在两个关系R与S中取相同的元组,组成一个新关系,记为R∩。2.2.1.3差关系R和关系S的差是由属于R而不属于S的元组组成的集合,即在关系R中删去与S关系中相同的元组,组成一个新的关系,记为。S{t|tRtS}RS{t|tRtS}2.2.1.4广义笛卡尔积设关系R有m个属性,K1个元组;关系S有n个属性,K2个元组,则R和S的笛卡尔积含有(m+n)个属性,(K1×K2)个元组。记为。rsrsRS{tt|tRtS}中选择满足条件的元组,记为σF(R)。设有一个数据库,包括学生关系Student、课程关系Course和选修关系Sc,如图2-2所示。下面的许多例子将对这3个关系进行运算。图2-2数据库举例中选择若干属性组成新的关系,并把新关系的重复元组去掉,记为ΠA(R)。2.2.2.3连接连接是将两个关系的属性名拼接成一个更宽的关系,生成的新关系中包含满足连接条件的元组。1.条件连接将两个关系按一定条件连接成一个新的关系,称为条件连接。它是从两个关系的笛卡尔积中选取满足一定条件的元组,记为。FFRS(RS)∞.自然连接将两个关系按公共属性连接成一个新的关系,并把新关系的重复属性去掉。自然连接记为R∞S,其中R和S是两个关系,并且至少有一个公共属性。对于R的每个元组,S都从第一个元组开始判断,若两个元组的公共属性值相同,则产生一个新元组添加到新关系中,最后把新关系中的重复属性去掉。R∞S的求解过程:除(1)求R中X可以取哪些值,并求各值的象集。(2)求S在属性组Y上的投影K。(3)检查每个象集是否包含K。除不是一个必须的运算,可以由其他运算符代替。给定关系R(X,Y)和S(Y,Z),其中X、Y、Z为属性组。则R与S的除运算得到一个新的关系P(X),记为R÷S=P(X)。R÷S的求解过程如下:关系代数项目实训训练要求对于教学数据库的3个基本表S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)C(C#,CNAME,TEACHER)试用关系代数表达式表示下列查询:(1)检索LIU老师所授课程的课程号和课程名(2)检索年龄大于23岁的男学生的学号和姓名(3)检索WANG同学不学的课程的课程号(4)检索至少选修两门课程的学生学号(5)检索至少选修1号课程和3号课程的学生学号重点提示关系代数表达式的写法:(1)当查询涉及多个关系时,一般使用∞→→(2)当查询涉及“否定”时,一般用差运算(3)当查询涉及“全部”时,一般用除运算(4)当查询涉及“至少”时,一般用广义笛卡尔积运算实训一写关系代数表达式一关系代数项目实训训练要求现有4个关系模式学生:S(S#,SNAME,AGE,SEX,DEPT,SPECIAL)课程:C(C#,CNAME,CREDIT,T#)教师:T(T#,TNAME,SEX,ADR)选修:SC(S#,C#,GRADE)试用关系代数表达式表示下列查询:(1)检索“李明”老师所上课程的课程号、课程名和学分(2)检索至少选修三门课程的学生学号(3)检索不学高等数学的学生学号、姓名、年龄和所学专业(4)检索计算机系的所有学生都选修的课程的课程号、课程名和学分重点提示关系代数表达式的写法:(1)当查询涉及多个关系时,一般使用∞→σ→Π(2)当查询涉及“否定”时,一般用差运算(3)当查询涉及“全部”时,一般用除运算(4)当查询涉及“至少”时,一般用广义笛卡尔积运算实训二写关系代数表达式二关系代数项目小结本项目学习了几个集合运算和几个专门的关系运算。通过本项目的学习,读者应该能够使用关系代数表达式表示各种查询。思考与练习一、选择题1.关系模式中的候选码()。A.有且仅有一个B.必然有多个C.可以有一个或多个D.可以没有2.下列关系运算中,()运算不属于专门的关系运算。A.选择B.连接C.投影D.广义笛卡尔积1.对关系进行垂直分割的操作称为__________,对关系进行水平分割的操作称为__________。2.关系R有m个属性,K1个元组;关系S有n个属性,K2个元组,则R×S含有________个元组和_________个属性。二、填空题思考与练习三、简答题1.关系的性质有哪几条?2.什么叫实体完整性?什么叫参照完整性?3.条件连接与自然连接的区别是什么?4.对关系R和S进行并、交、差运算,要求关系R和S满足什么关系?对关系R和S进行笛卡尔积运算,要求关系R和S满足什么关系?

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功