1、,第二章 关系数据库,2.1 关系数据模型概述 2.2 关系模型的数据结构 2.3 关系模型的完整性 2.4 关系代数 2.5 关系演算,本章提示 本章以关系模型的三要素(数据结构、完整性约束和数据操作)为线索,对关系模型加以论述。 首先讲述关系模型的数据结构的定义、关系的码以及关系的性质。 其次,讲述关系数据库的三类完整性约束:实体完整性、参照完整性和用户定义的完整性。 最后介绍关系模型的数据操作,分别用关系代数和关系演算来描述。,2.1 关系模型概述,IBM公司 E.F.Codd 首次系统得提出关系模型理论,“大型共享数据的关系模型”(A Relation Model of Data fo
2、r Large Shared Data Banks) 1977年IBM公司研制的关系数据库的代表System R 加州大学伯克利分校研制了INGRES关系数据库20世纪80年代以来,计算机厂商新推出的数据库管理系统几乎都支持关系模型,非关系系统的产品也都加上了关系接口。1979年 oracleV2 ,1983年IBM DB2,1984年sysbase 1989年MS-SQLserver 。数据模型3个要素:关系数据结构、关系操作集合、关系完整性约束,2.2 关系模型的数据结构,一、关系的定义 在关系模型中,数据是以二维表的形式存在的,这个二维表就叫做关系。 关系理论是以集合代数理论为基础的,因
3、此,我们可以用集合代数给出二维表的“关系”定义。 为了从集合论的角度给出关系的定义,我们先引入域和笛卡尔积的概念。,域是一组具有相同数据类型的值的集合。(用D表示) 例如整数、实数、字符串的集合。 域中所包含的值的个数称为域的基数。 (用m表示) 关系中用域表示属性的取值范围。例如: D1=李力,王平,刘伟 m1=3 D2=男,女 m2=2 D3=47,28,30 m3=3 其中,D1,D2,D3为域名,分别表示教师关系中姓名、性别、年龄的集合。 域名无排列次序,如D2=男,女=女,男,1、 域(Domain),给定一组域D1,D2,Dn(它们可以包含相同的元素,即可以完全不同,也可以部分或全
4、部相同) D1,D2,Dn的笛卡尔积为 D1D2Dn= (d1,d2,dn)|diDi,i=1,2,n。 由定义可以看出,笛卡尔积是一个集合。 其中: 元素中的每一个di叫做一个分量(Component),来自相应的域(diDi)。每一个元素(d1,d2,d3,dn)叫做一个n元组(n-tuple),简称元组(Tuple)。,2 、笛卡尔积(Cartesian Product),例如: D1=0,1 D2=a,b,c D1 D2=(0,a),(0,b),(0,c),(1,a),(1,b),(1,c),笛卡尔积的基数:若Di(i=1,2,n)为有限集,Di中的集合元素个数称为Di的基数,用mi(
5、i=1,2,n)表示,则笛卡尔积D1D2Dn的基数M(即元素(d1,d2,dn)的个数)为所有域的基数的累乘之积,即,M=,例如:D1=李力,王云,刘伟 D2=男,女 D1D2=(李力,男),(李力,女),(王云,男),(王云,女),(刘伟,男),(刘伟,女) 其中: 李力、王云、刘伟、男、女都是分量。 (李力,男),(李力,女)等是元组。 笛卡尔积的基数M=m1m2=3*2=6,即元组的个数为6,笛卡尔积可用二维表的形式表示。 例如,上述的6个元组可表示成一张二维表。表2-1,由上例可以看出,笛卡尔积实际是一个二维表,表的框架由域构成,表的任意一行就是一个元组,表中的每一列来自同一域,如第一
6、列的分量来自D1,第二列的分量来自D2。,笛卡尔积D1D2Dn的任一个有意义的子集称为定义在域D1,D2,Dn上的n元关系(Relation),可用R(D1,D2Dn)表示。 如上例D1D2笛卡尔积的子集可以构成教师关系T1(姓名,性别),如下表:,3 、关系(Relation),在R(D1,D2,Dn)中,R为关系名,n称为关系的目或度(Degree)。 当n=1时,称为单元(unary relation)关系。 当n=2时,称为二元(Binary relation)关系。 当n=n时,称为n元关系。如上例为二元关系,关系名为T1。,关系模型的结构,Attribute属性,Tuple元组,R
7、elation关系,表结构:二维表、行、列,1、候选码 能唯一标识关系中元组的属性或属性组,称为该关系的候选码(Candidate Key)。如: “学生关系”中的学号能唯一标识每一个学生,则属性“学号”是学生关系的候选码。 在“选课关系”中,只有属性的组合“学号+课程号”才能唯一地区分每一条选课记录,则属性集“学号+课程号”是选课关系的候选码。,二、关系的候选码,设关系R有属性A1,A2,An,其属性子集K=(Ai, Aj,Ak),当且仅当满足下列条件时,K被称为候选码: 唯一性(Uniqueness):关系R的任意两个不同元组,其属性集K的值是不同的。 最小性(Minimally):组成关
8、系键的属性集(Ai,Aj,Ak)中,任一属性都不能从属性集K中删掉,否则将破坏唯一性的性质。例如:“学生关系”中的每个学生的学号是唯一的,“选课关系”中“学号+课程号” 的组合也是唯一的。对于属性集“学号+课程号” 去掉任一属性,都无法唯一标识选课记录。,下面给出候选码的形式化定义:,如果一个关系中有多个候选码,可以从中选择一个作为查询、插入或删除元组的操作变量,被选用的候选码称为主码(Primary Key)。 例如,假设在学生关系中没有重名的学生,则“学号”和“姓名”都可作为学生关系的候选码。如果选定“学号”作为数据操作的依据,则“学号”为主码。 主码是关系模型中的一个重要概念。每个关系必
9、需选择一个主码,选定以后,不能随意改变。每个关系必定有且仅有一个主码。,2、主码,主属性(Prime Attribute):包含在侯选码中的的各属性称为主属性。如:成绩表(学号,课程号,成绩)中,“学号+课程号”为主码,则学号或课程号是主属性。 非主属性(Non-Prime Attribute):不包含在任何候选码中的属性称为非主属性。如:学生选课成绩表中,成绩是非主属性。,3、主属性与非主属性(非码属性),在一个关系中,所有属性的组合是关系的候选码,称为全码(all-key)。即关系中的所有属性合起来才能唯一确定一个元组。 例如: 教材表(书名,出版社,作者,版次),只有四个属性合起来才能确
10、定一本教材,即“书名+出版社+作者+版次”合起来构成这个关系的全码。 假设有教师授课关系TCS,分别有三个属性教师(T)、课程(C)和学生(S)。一个教师可以讲授多门课程,一门课程可以为多个教师讲授,同样一个学生可以选听多门课程,一门课程可以为多个学生选听。 在这种情况下,T、C、S三者之间是多对多关系,这三个属性的组合是关系TCS的候选码,称为全码,T、C、S都是主属性。,4、全码,尽管关系与二维表格、传统的数据文件是非常类似的,但它们之间又有重要的区别。 严格地说,关系是一种规范化了的二维表中行的集合,为了使相应的数据操作简化,在关系模型中,对关系作了种种限制,关系具有如下特性: 列是同质
11、的 不同的列可出自统一个域 列的顺序无所谓 任意两个元组的候选码不能相同 行的顺序无所谓 分量必须取原子值,三、 关系的性质,1、 关系模式我们把对关系的描述称为关系模式,可形式化的表示为: R(U,D,DOM,F)其中:R为关系名。U为由A1、A2、 An 组成的关系R的属性集合。D为属性组U中各属性来自的域。DOM为属性向域的映象集合。如:DOM(教师姓名姓名)。F为属性间的数据依赖集合。,四、关系模式与关系数据库模式,由定义可以看出,关系模式是关系的框架,或者称为表框架,指出了关系由哪些属性构成,是对关系结构的描述,即关系的型;关系模式在某一时刻的状态或内容,是关系的值。,关系模式通常简
12、记为R(U)或 R(A1,A2,An) 。 其中: R为关系名,A1,A2,An为属性名。,一组关系模式的集合叫做关系数据库模式。 关系数据库模式是对关系数据库结构的描述,或者说是对关系数据库框架的描述,可以看作是关系数据库的型。与关系数据库模式对应的数据库中的当前值就是关系数据库的内容,称为关系数据库的实例,可以看作是关系数据库的值。 例如,在教学数据库中,共有五个关系,其关系模式分别为: (它们合起来构成数据库模式) 学生(学号,姓名,性别,年龄,系别) 教师(教师号,姓名,性别,年龄,系别) 课程(课程号,课程名,课时) 选课(学号,课程号,成绩) 授课(教师号,课程号),2、关系数据库
13、模式,在每个关系中,又有其相应的数据库的实例,例如:与学生关系模式对应的数据库中的实例有如下6个元组,即关系的值。,由此可见,关系数据库也有型和值的概念,其型就是关系数据库模式,相对固定;其值就是关系数据库内容,代表现实世界中的实体,而实体是随着时间不断变化的,所以其值在不同的时刻会有所变化。例如:教学数据库是五个关系的集合,或者说是五个关系型和值的集合。其中,各个关系型相对固定,而关系值会随时间而变化。比如,学生和教师的年龄随时间而增长,教师的工资和岗位津贴也会发生变化。,因为关系是由关系的型和关系的值组成的,所以关系数据库也可以看作是一组关系型和关系值的集合。,2.2 关系操作,基本的关系
14、操作 选择(select) 投影(project) 连接(join) 除(divide) 并(union) 差(except) 交(intersection) 笛卡尔积(Cartesion Product),2. 关系数据语言的分类- 关系代数- 关系演算(元组关系、域关系)- 具有以上两个双重特点的语言 (SQL)关系语言是高度非过程化的语言,存取路径的选择由RDBMS的优化机制来完成。,为了维护数据库中数据与现实世界的一致性,对关系数据库的插入、删除和修改操作必须有一定的约束条件,这就是关系模型的三类完整性: 实体完整性 参照完整性 用户定义的完整性,2.3 关系模型的完整性,一、 实体完
15、整性(Entity Integrity),规则1:实体完整性是指主属性的值不能为空。关系模型中的一个元组对应一个实体,一个关系则 对应一个实体集。例如,一条学生记录对应着一个学生,学生关系对应着学生的集合。现实世界中的实体是可区分的,即它们具有某种唯一性标识。与此相对应,关系模型中以唯一标识元组。 例如,学生关系中的属性“学号”可以唯一标识一个元组,也可以唯一标识学生实体。,如果主属性为空或部分为空,则不符合候选码的定义条件,不能唯一标识元组及与其相对应的实体。这就说明存在不可区分的实体,从而与现实世界中的实体是可以区分的事实相矛盾。因此主属性不能为空或部分为空。例如,学生关系中的主码“学号”
16、不能为空;选课关系中的主码“学号+课程号”不能为空,即“学号”和“课程号”两个属性都不能为空。,1、 外码 设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码。 基本关系R称为参照关系(Referencing Relation) 基本关系S称为被参照关系(Referenced Relation)或目标关系(Target Relation)。,二、 参照完整性(Referential integrity),例1: 假设在下图所示的S表和D表中,都包含属性系别(DEPT),“系别(DEPT)”是D表的主码,而“系别”并不是S表的主码,所
17、以“系别”是S表的外码。,S(学生关系) D(系别关系),例2:学生、课程、学生与课程之间的多对多联系学生(学号,姓名,性别,专业号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩),在选课关系SC(学号,课程号,成绩)中的“学号”属性与学生关系S的主码“学号”相对应,“课程号”属性与课程关系C的主码“课程号”相对应,因此,“学号”和“课程号”属性是选课关系的外码。学生关系和课程关系为被参照关系,选课关系为参照关系。,学生,学生选课,课程,需要说明的是:被参照关系的主码和参照关系的外码的属性名可以相同,也可以不同,但必须定义在同一个域上。 如选课关系中的“学号”与学生关系的主码“学
18、号”定义在同一个域上,“课程号”属性与课程关系的主码“课程号”定义在同一个域上。规则2:若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为: 或者取空值(F的每个属性值均为空值) 或者等于S中某个元组的主码值。,在系别关系中的属性“系别”是学生关系外码。如下图所示,学生关系中某个学生(如s1或s2)“系别”的取值,必须在参照的系别关系中主码“系别”的值中能够找到,否则表示把该学生分配到一个不存在的部门中,显然不符合语义。 如果某个学生(如s11)“系别”取空值,则表示该学生尚未分配到任何一个系。否则,它只
19、能取专业关系中某个元组的专业号值。,S(学生关系) D(系别关系),参照关系和被参照关系为同一关系,例3:学生(学号,姓名,性别,专业号,年龄,班长) “班长”属性值可以取两类值: (1)空值,表示该学生所在班级尚未选出班长,或该学生本人即是班长; (2)非空值,这时该值必须是本关系中某个元组的学号值,用户定义完整性是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。例如,属性值根据实际需要,要具备一些约束条件,如选课关系中成绩不能为负数;某些数据的输入格式要有一些限制等关系模型应该提供定义和检验这类完整性的机制,以便用统一的、系统的方法处理它们,而不要由应用
20、程序承担这一功能。课程(课程号,课程名,学分) “课程名”属性必须取唯一值 非主属性“课程名”也不能取空值 “学分”属性只能取值1,2,3,4,三、用户定义完整性(User-defined Integrity),关系模型与其它数据模型相比,最有特色的是它的数据库语言。这种语言灵活方便、表达能力和功能都很强。 目前关系数据库所使用的语言一般都具有数据定义、查询、更新和控制功能一体化的特点,而查询是最主要的功能。 所以说,关系数据库的核心部分是查询,故又称为查询语言,而查询的条件要使用关系运算表达式来表示。因此,关系运算是设计关系数据语言的基础。 根据运算对象的不同,关系运算可分为关系代数和关系演
21、算两大类。,2.4 关系代数,关系代数是对关系进行集合代数运算,是基于关系代数的操作语言,称为关系代数语言,简称关系代数。 它是由IBM在一个实验性的系统上实现的,称为ISBL(Information System Base Language)语言。 ISBL的每个语句都类似于一个关系代数表达式。,一、关系代数的运算(符)及其分类,1、集合运算符:(并),(交) ,(差) , (广义笛卡尔积) ; 2、专门的关系运算符: (选择),(投影),(连接),(除); 3、算术比较运算符:(大于),(大于等于),(小于),(小于等于),=(等于),(不等于); 4、逻辑运算符:(与),(或),(非),
22、关系代数的运算对象是关系,运算结果也是关系,关系代数用到的运算符主要包括四类:,传统的集合运算:把关系看成元组的集合,以元组作为集合中元素来进行运算,其运算是从关系的“水平”方向即行的角度进行的。包括并、差、交和笛卡尔积等运算。 专门的关系运算:不仅涉及行运算,也涉及列运算,这种运算是为数据库的应用而引进的特殊运算。包括选择、投影、连接和除法等运算。,关系代数的运算按运算符的不同主要分为两类:,对两个关系的传统的集合运算是二目运算,是在两个关系中进行的。但是并不是任意的两个关系都能进行这种集合运算,而是要在两个满足一定条件的关系中进行运算。那么,对关系有什么要求呢?下面先看一个定义。 定义:
23、设给定两个关系R、S,若满足:(i) 具有相同的度n;(ii) R中第i个属性和S中第i个属性必须来自同一个域。则说关系R、S是相容的。 除笛卡尔积外,要求参加传统集合运算的关系必须满足上述的相容性定义。,1、 传统的集合运算,(1) 并(Union) 关系R和关系S的并, 记作:RS=t|tRtS (2)差(Difference) 关系R与关系S的差,记作:R-S=t|tRtS (3)交(Intersection) 关系R与关系S的交,记作:RS=t|tR tS (4)广义笛卡尔积(Extended Cartesian Product) 关系R和关系S的广义笛卡尔积是一个(n+m)列的元组的
24、集合,记作:RS=trts| trRtsS,例3:如(a)、(b)所示的两个关系R与S为相容关系,(c)为R 与S的并,(d)为R与S的交,(e)为R与S的差,(f)为R与S的广义笛卡尔积。,(a) (b),R S,(e),RS R-S,(c) (d),RS,(f),RS,SR,S,R,由于传统的集合运算,只是从行的角度进行,而要灵活地实现关系数据库多样的查询操作,必须引入专门的关系运算。在讲专门的关系运算之前,先引入几个概念。 设关系模式为R(A1,A2,An),它的一个关系实例(值)为R,tR表示t是R的一个元组,tAi则表示元组t中相应于属性Ai的一个分量。,2、 专门的关系运算,若A=
25、Ai1,Ai2,,Aik,其中Ai1,Ai2,Aik是A1,A2,,An中的一部分,则A称为属性组,则表示A1,A2,,An中去掉Ai1,Ai2,,Aik后剩余的属性组。tA=tAi1,tAi2,tAik表示元组t在属性列A上诸分量的集合。R为n目关系,S为m目关系,trR, tsS,tr ts称为元组的连接(concatenation),它是一个n+m列的元组,前n个分量为R的一个n元组,后m个分量为S中的一个m元组。,给定一个关系R(X,Z),X和Z为属性组,定义当tX=x时,x在R中的象集(image set)为Zx=tZ|tR,tX=x,它表示R中的属性组X上值为x的诸元组在Z上分量的
26、集合。,Zx=(a,b,c),(j,k,l),选择运算是单目运算,是根据一定的条件在给定的关系R中选取若干行(元组),组成一个新关系,记作:F(R)=t|tRF(t)=True 其中,为选择运算符,F(t)为筛选元组的条件,格式为:X1Y1X2Y2X、Y是运算对象(包括属性名、常数或简单函数),比较运算符(如: 、20所在系=计算机成绩80,(1) 选择(筛选)(Selection),(以下例题均是以教学数据库的五个关系为例进行运算) 教师T(教师号,姓名,性别,年龄,系别)学生S(学号,姓名,性别,年龄,系别) 课程C(课程号,课程名,课时)选课SC(学号,课程号,成绩)授课TC(教师号,课
27、程号),选择运算实际上是从关系R中选取使逻辑表达式为真的元组,是从行的角度进行的运算。,T(教师表),S(学生表),C(课程表),SC(选课表) TC(授课表),DEPT=计算机 (S) 或 5=计算机 (S) (其中“5”为DEPT的属性列序号) 结果如图所示:,例4: 查询计算机系的全体学生。,(SAL 1000) (SEX=男) (T) 结果如图所示:,例5: 查询工资高于1000元的男教师。,注意:字符型数据的值应该使用单引号括起来,例如,计算机,9601; 数字型数据不使用单引号,如25,1000。,投影运算也是单目运算,是从关系R中选择出若干属性列,组成新的关系,即对关系在垂直方向
28、进行的运算,从左到右按照指定的若干属性及顺序取出相应列,删去重复元组。记作:A(R)=tA|tR其中: 为投影运算符, A为R中的属性列。 从其定义可看出,投影运算是从列的角度进行的运算,这正是选择运算和投影运算的区别所在。选取运算是从关系的水平方向上进行运算的,而投影运算则是从关系的垂直方向上进行的。,(2)投影(Projection),TN,TNO,PROF(T) 或 2,1,5(T) (其中2,1,5分别为TN、TNO和PROF的属性列序号)结果右图所示 :,例6: 查询教师的姓名、编号及其职称。,说明: 投影运算可以改变 关系的属性列的次序 。,DEPT(T)结果如右图所示 :,例7
29、:查询教师关系中有哪些系。,说明:由例7可以看出,投影后取消了某些属性列后,就可能出现重复行,应该取消这些完全相同的行。所以投影之后,不但减少了属性,元组也可能减少,新关系与原关系可能会不相容。,TNO(CNO=C5(TC) 结果如右图所示:,例8 :查询讲授C5课程的教师号。,分析:本例中选取运算和投影运算相结合,先在授课表中选取满足条件的元组,然后在TNO属性上进行投影。,连接运算是二目运算,是从两个关系的笛卡尔积中选取满足连接条件的元组,组成新的关系。 设关系R(A1,A2,An)及S(B1,B2,Bm),连接属性集X包含于A1,A2,An,Y包含于B1,B2,Bm,X与Y中属性列数目相
30、等,且相对应属性有共同的域。 关系R和S在连接属性X和Y上的连接,就是以RS笛卡尔积中,选取X属性列上的分量与Y属性列上的分量满足给定比较条件的那些元组,也就是在RS上选取在连接属性X,Y上满足条件的子集,组成新的关系。新关系的度为n+m。,(3) 连接(Join),记作: RS=t rts |trRtsStrXtsY=True其中,是连接运算符,为算术比较运算符,XY为连接条件; 为“=”时,称为等值连接; 为“”时,称为大于连接。,连接运算为非基本运算,可以用选取运算和广义笛卡尔 积运算来表示:RS=xy(RS),xy,xy,自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须
31、是相同的属性组,并把在连接结果中重复的属性列去掉。 如果R与S具有相同的属性组Y,则自然连接可记作: R S=t rts |trRtsStrY=tsY 自然连接是在广义笛卡尔积RS中选出同名属性上符合相等条件元组,再进行投影,去掉重复的同名属性,组成新的关系。,在连接运算中,一种最常用的连接是自然连接。,(a) (b),例9: 如图所示的两个关系R与S,(c)为R和S的大于连接(CD),(d)为R和S的等值连接(C=D),(e)为R和S的等值连接(R.B=S.B),(f)为R和S的自然连接。,R S,等值连接(C=D)RS,大于连接(CD) RS,(c) (d),C D,C =D,等值连接 R
32、S,自然连接 RS,(e) (f),R.B=S.B,等值连接中不要求相等属性值的属性名相同,而自然连接要求相等属性值的属性名必须相同,即两关系只有在同名属性上才能进行自然连接。如上例R中的C列和S中的D列可进行等值连接,但因为属性名不同,不能进行自然连接。 等值连接不去掉重复属性列,而自然连接去掉重复属性列,也可以说,自然连接是去掉重复列的等值连接。如上例R中的B列和S中的B列进行等值连接时,结果有两个重复的属性列B,而进行自然连接时,结果只有一个属性列B。,结合上例,我们可以看出等值连接与自然连接的区别:,练习: 有如下三个关系: 学生S(SNO,SNAME,SEX,SAGE,DEPT) 课
33、程C(CNO,CNAME,CT) 选课SC(SNO,CNO,SCORE) (1)查询选修了C2号课程的学生学号。 (2)查询选修了C3号课程的学生姓名和系别。 (3)查询选修了数据库课的学生姓名。,(1)SNO(CNO=C2(SC) (2)SNAME,DEPT(CNO=C3(SC) S) 或 SNAME,DEPT( SNO (CNO=C3(SC) ) SNO ,SNAME,DEPT (S) ) (3)SNAME(CNAME=数据库(C) SC S) 或 SNAME(CNO (CNAME=数据库(C) ) SNO ,CNO ( SC) SNO,SNAME( S) ),除法运算是二目运算。 设有关
34、系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。,(4)除法(Division),R S RS,例10: 已知关系R和S,则RS如图所示。,Z,与除法的定义相对应,本题中X=A,B=(a1,b2),(a2,b4),(a3,b5)R.Y=C,D=(c3,d5),(c4,d6) ,(c1,d3) ,(c2,d8
35、)S.Y= C,D=(c3,d5),(c4,d6) Z=F=f3,f4 在R中,元组在X上各个分量值的象集分别为: (a1,b2)的象集为(c3,d5),(c4,d6) (a2,b4)的象集为(c1,d3) (a3,b5)的象集为(c2,d8) S在Y上的投影为(c3,d5),(c4,d6) 显然只有(a1,b2)的象集包含S在Y上的投影 所以RS=(a1,b2),分 析:,除运算的练习题,R,S,求RS:,例11 查询选修了全部课程的学生号码和姓名。Sno,Cno(SC)Cno(Course) Sno,Sname(Student),除法运算同时从行和列的角度进行运算,适合于包含 “全部”之类的短语的查询。,小结 本章内容是该门课程的重点,也是难点。本章系统地介绍了关系数据库的一些理论知识,要求掌握关系模型的数据结构、关系的完整性及其关系操作。 结合实例详细介绍了关系代数运算,要熟练掌握关系代数的各种运算。,