【教学课件】第2章关系模型.ppt
《【教学课件】第2章关系模型.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第2章关系模型.ppt(106页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、返回返回第第2 2章章 关系模型关系模型1返回返回上一章介绍了三种三种主要的数据模型:层次模型网状模型关系模型其中关系模型关系模型简单灵活,并有着坚实的理论基础,已成为当前最流最流行行的数据模型。本章主要讲述本章主要讲述:关系模型的数据结构关系的定义和性质关系数据库的基本概念关系运算2返回返回2.1关系模型关系模型关关系系模模型型就就是是用用二二维维表表格格结结构构来来表表示示实实体体及及实实体体之之间间联系的模型。联系的模型。关关系系模模型型是是各各个个关关系系的的框框架架的的集集合合,即即关关系系模模型型是是一一些些表格的格式表格的格式,其中包括关系名、属性名、关键字等。,其中包括关系名、
2、属性名、关键字等。例例如如,教教学学数数据据库库中中教教师师与与课课程程的的关关系系模模型型如如图图2.1所所示。示。教师关系课程关系C授课关系SC图2.1教师课程数据库的关系模型TNO教师号TN姓名SEX性别AGE年龄PROF职称SAL工资COMM岗位津贴DEPT系别CNO课程号CN课程名CT课时TNO教师号CNO课程号3返回返回从从各各个个关关系系的的框框架架中中,我我们们可可以以很很容容易易看看出出哪哪两两个个关关系之间有系之间有联系联系。例如:。例如:教师关系和授课关系有公共的属性“教师号”,则表明这两个关系有联系。而课程关系和授课关系有公共的属性“课程号”,则表明这两个关系也有联系。
3、至于元组之间的联系,则与具体的数据有关。只有在公共属性上具有相同属性值的元组之间才有联系。4返回返回由上例可以看出,在一个关系中可以存放两类信息:由上例可以看出,在一个关系中可以存放两类信息:一类是描述实体本身的信息一类是描述实体(关系)之间的联系的信息在在层层次次模模型型和和网网状状模模型型中中,把把有有联联系系的的实实体体(元元组组)用用指针链接起来,实体之间的联系是通过指针链接起来,实体之间的联系是通过指针指针来实现的。来实现的。而而关关系系模模型型则则采采用用不不同同的的思思想想,即即用用二二维维表表来来表表示示实实体体与实体之间的联系,这就是关系模型的本质所在。与实体之间的联系,这就
4、是关系模型的本质所在。所所以以,在在建建立立关关系系模模型型时时,只只要要把把的的所所有有的的实实体体及及其其属属性性用用关关系系框框架架来来表表示示,同同时时把把实实体体之之间间的的关关系系也也用用关关系系框架来表示,就可以得到一个关系模型。框架来表示,就可以得到一个关系模型。如上例中的教师课程数据库的关系模型就是这样建立的。5返回返回2.2关系的定义关系的定义在在关关系系模模型型中中,数数据据是是以以二二维维表表的的形形式式存存在在的的,这这个个二维表二维表就叫做就叫做关系关系。关关系系理理论论是是以以集集合合代代数数理理论论为为基基础础的的,因因此此,我我们们可可以用集合代数给出二维表的
5、以用集合代数给出二维表的“关系关系”定义。定义。为为了了从从集集合合论论的的角角度度给给出出关关系系的的定定义义,我我们们先先引引入入域域和和笛卡尔积笛卡尔积的概念。的概念。6返回返回2.2.1域(域(Domain)域域是是一一组组具具有有相相同同数数据据类类型型的的值值的的集集合合,又又称称为为值值域域。(用(用D表示)表示)例如整数、实数、字符串的集合。域中所包含的值的个数称为域的域中所包含的值的个数称为域的基数基数(用(用m表示)。表示)。关系中用域表示属性的取值范围。例如:关系中用域表示属性的取值范围。例如:D1=李力,王平,刘伟m1=3D2=男,女m2=2D3=47,28,30m3=
6、3其中,D1,D2,D3为域名,分别表示教师关系中姓名、性别、年龄的集合。域名无排列次序,如域名无排列次序,如D2=男,女男,女=女,男女,男7返回返回2.2.2笛卡尔积笛卡尔积(CartesianProduct)给给定定一一组组域域D1,D2,Dn(它它们们可可以以包包含含相相同同的的元元素素,即即可可以以完完全全不不同同,也也可可以以部部分分或或全全部部相相同同)。D1,D2,Dn的的笛笛卡卡尔尔积积为为D1D2Dn=(d1,d2,dn)|diDi,i=1,2,n。由定义可以看出,笛卡尔积也是一个由定义可以看出,笛卡尔积也是一个集合集合。其中:其中:1.元素中的每一个di叫做一个分量(Co
7、mponent),来自相应的域(diDi)2.每一个元素(d1,d2,d3,dn)叫做一个n元组(n-tuple),简称元组(Tuple)。但元组不是di的集合,元组的每个分量(di)是按序排列的。如:(1,2,3)(2,3,1)(1,3,2);而集合中的元素是没有排序次序的,如(1,2,3)=(2,3,1)=(1,3,2)。8返回返回3.若Di(i=1,2,n)为有限集,Di中的集合元素个数称为Di的 基 数,用 mi(i=1,2,n)表 示,则 笛 卡 尔 积D1D2Dn的基数M(即元素(d1,d2,dn)的个数)为所有域的基数的累乘之积,即M=例如:上述表示教师关系中姓名、性别两个域的笛
8、卡尔积为:D1D2=(李力,男),(李力,女),(王平,男),(王平,女),(刘伟,男),(刘伟,女)其中:李力、王平、刘伟、男、女都是分量(李力,男),(李力,女)等是元组其基数M=m1m2=3*2=6元组的个数为69返回返回4.笛卡尔积可用二维表的形式表示。例如,上述的6个元组可表示成表2.1。表表2.1D1和和D2的笛卡尔积的笛卡尔积由上例可以看出,笛卡尔积实际是一个二维表,表的框架由域构成,表的任意一行就是一个元组,表中的每一列来自同一域,如第一个分量来自D1,第二个分量来自D2。姓名性别李力男李力女王平男王平女刘伟男刘伟女10返回返回2.2.3关系(关系(Relation)笛笛卡卡尔
9、尔积积D1D2Dn的的任任一一子子集集称称为为定定义义在在域域D1,D2,Dn上上的的n元元关关系系(Relation),可可用用R(D1,D2Dn)表示)表示如上例D1D2笛卡尔积的子集可以构成教师关系T1,如下表:姓名性别李力男王平女刘伟男11返回返回几点说明:几点说明:1.R为关系名,为关系名,n称为关系的目或度(称为关系的目或度(Degree)。)。当n=1时,称为单元关系。当n=2时,称为二元关系。当n=n时,称为n元关系。如上例为二元关系,关系名为如上例为二元关系,关系名为T。12返回返回2.该该子子集集中中的的元元素素是是关关系系中中的的元元组组,用用r表表示示,关关系系中中元元
10、组组个个数数是是关关系系的的基基数数。如如(李李力力,男男),(王王平平,女女),(刘刘伟伟,男男)为为三三个个元元组组,关系的基数为关系的基数为3。如果一个关系的元组个数是无限的,则称为无限关系;如果一个关系的元组个数是有限的,则称为有限关系。由于计算机存储系统的限制,我们一般不去处理无限关系,而只考虑有限关系。3.同样可以把关系看成一个二维表。其中,同样可以把关系看成一个二维表。其中,(1)表的框架由域Di(i=1,2,n)构成;(2)表的任意一行对应一个元组;(3)表的每一列来自同一域;(4)域可以相同,为了加以区别,每列起一个名字,称为属性,n目关系有n个属性,属性的名字唯一,属性的取
11、值范围Di(i=1,2,n)称为值域(5)具有相同关系框架的关系成为同类关系,例如,有另一个关系T2,如表2.3所示:T1和T2是同类关系。姓名性别张雪女张兰女13返回返回4.数数学学上上关关系系是是笛笛卡卡尔尔积积的的任任意意子子集集,但但在在实实际际应应用用中中关关系系是是笛笛卡卡尔尔积积中中所所取取的的有有意意义义的的子子集集。例例如如在在表表2.1中选取一个子集构成如下关系,显然不符合实际情况中选取一个子集构成如下关系,显然不符合实际情况在关系模型中,在关系模型中,关系关系可进一步定义为:可进一步定义为:定定义义在在域域D1,D2,Dn(不不要要求求完完全全相相异异)上上的的关关系系由
12、由关系头(关系头(Heading)和关系体()和关系体(Body)组成。)组成。关系头:由属性名A1,A2,An的集合组成,每个属性Ai正好对应一个域Di(i=1,2,n),关系头,也称关系框架,相对固定,是关系的数据结构的描述。关系体:是指关系结构中的内容或者数据,并非固定不变,它随元组的建立、删除或修改而变化。姓名性别李力男李力女14返回返回尽尽管管关关系系与与二二维维表表格格、传传统统的的数数据据文文件件是是非非常常类类似似的的,但它但它们们之之间间又有重要的区又有重要的区别别。严严格格地地说说,关关系系是是种种规规范范化化了了的的二二维维表表中中行行的的集集合合,为为了了使使相相应应的
13、的数数据据操操作作简简化化,在在关关系系模模型型中中,对对关关系系作了种种作了种种限制限制,关系具有如下特性:,关系具有如下特性:1.关系中不允许出现相同的元组。因为数学上集合中没有相同的元素,而关系是元组的集合,所以作为集合元素的元组应该是唯一的。2.关系中元组的顺序(即行序)是无关紧要的,在一个关系中可以任意交换两行的次序。因为集合中的元素是无序的,所以作为集合元素的元组也是无序的。根据关系的这个性质,可以改变元组的顺序使其具有某种排序,然后按照顺序查询数据,可以提高查询速度。2.3关系的性质关系的性质15返回返回3.关系中属性的顺序是无关紧要的,即列的顺序可以任意交换。交换时,应连同属性
14、名一起交换,否则将得到不同的关系。例例如如:关关系系T1作作如如下下交交换换时时,无无任任何何影影响响,如如下下表表所所示:示:性别姓名男李力女王平男刘伟16返回返回而作如下交换时,不交换属性名,只交换属性列中的而作如下交换时,不交换属性名,只交换属性列中的值,则得到不同的关系,如下表值,则得到不同的关系,如下表:姓名性别男李力女王平男刘伟17返回返回4.同一属性名下的各个属性值必须来自同一个域,是同一类型的数据。5.关系中各个属性必须有不同的名字,不同的属性可来自同一个域,即它们的分量可以取自同一个域。例例如如,有有如如下下表表中中关关系系,职职业业与与兼兼职职是是两两个个不不同同的的属属性
15、性,但但它它们们取取自自同同一一个个域域职职业业教教师师,工工人人,辅辅导导员。员。姓名职业兼职张强教师辅导员王丽工人教师刘宁教师辅导员18返回返回6.关系中每一分量必须是不可分的数据项,或者说所有属性值都是原子的,即是一个确定的值,而不是值的集合。属性值可以为空值,表示“未知”或“不可使用”,即不可“表中有表”。满足此条件的关系称为规范化关系,否则称为非规范化关系。例例如如,在在表表2.8中中,籍籍贯贯含含有有省省、市市县县两两项项,出出现现了了“表表中中有有表表”的的现现象象,则则为为非非规规范范化化关关系系,而而把把籍籍贯贯分分成成省省、市市县县两两列列,将其规范化,如表将其规范化,如表
16、2.9所示。所示。表表2.8表表2.9姓名籍贯姓名省市县省市县张强吉林长春张强吉林长春王丽山西大同王丽山西大同19返回返回2.4.1候选键与关系键候选键与关系键能能唯唯一一标标识识关关系系中中元元组组的的属属性性或或属属性性集集,则则称称该该属属性性或或属属性性集集为为候候选选键键(CandidateKey),也也称称候候选选关关键键字字或或候选码候选码。如:。如:“学生关系”中的学号能唯一标识每一个学生,则属性学号是学生关系的候选键。在“选课关系”中,只有属性的组合“学号+课程号”才能唯一地区分每一条选课记录,则属性集“学号+课程号”是选课关系的候选键。2.4关系的键关系的键20返回返回下面
17、给出候选键的形式化定义:下面给出候选键的形式化定义:设设关关系系R有有属属性性A1,A2,An,其其属属性性集集K=(Ai,Aj,Ak),当当且且仅仅当当满满足足下下列列条条件件时时,K被被称称为为候候选键:选键:1.唯一性(Uniqueness):关系R的任意两个不同元组,其属性集K的值是不同的。2.最小性(Minimally):组成关系键的属性集(Ai,Aj,Ak)中,任一属性都不能从属性集K中删掉,否则将破坏唯一性的性质例如:“学生关系”中的每个学生的学号是唯一的,“选课关系”中“学号+课程号”的组合也是唯一的。对于属性集“学号+课程号”去掉任一属性,都无法唯一标识选课记录。21返回返回
18、如如果果一一个个关关系系中中有有多多个个候候选选键键,可可以以从从中中选选择择一一个个作作为为查查询询、插插入入或或删删除除元元组组的的操操作作变变量量,被被选选用用的的候候选选键键称称为为主主关关系系键键(PrimaryKey),或或简简称称为为主主键键、主主码码、关系键关系键、关键字关键字。例如,假设在学生关系中没有重名的学生,则“学号”和“姓名”都可作为学生关系的候选键。如果选定“学号”作为数据操作的依据,则“学号”为主关系键。主主关关系系键键是是关关系系模模型型中中的的一一个个重重要要概概念念。每每个个关关系系必必需需选选择择一一个个主主关关系系键键,选选定定以以后后,不不能能随随意意
19、改改变变。每每个个关关系系必必定定有有且且仅仅有有一一个个主主关关系系键键,因因为为关关系系的的元元组组无无重重复复,至至少少关关系系的的所所有有属属性性的的组组合合可可作作为为主主关关系系键键,通常用较小的属性组合作为主关系键。通常用较小的属性组合作为主关系键。22返回返回2.4.2主属性与非码属性主属性与非码属性主主属属性性(PrimeAttribute):包包含含在在候候选选码码中中的的的的各各属属性称为主属性。性称为主属性。非非码码属属性性(Non-PrimeAttribute):不不包包含含在在任任何何候候选码中的属性称为非码属性。选码中的属性称为非码属性。在在最最简简单单的的情情况
20、况下下,一一个个候候选选码码只只包包含含一一个个属属性性,如如学生关系中的学生关系中的“学号学号”,教师关系中的,教师关系中的“教师号教师号”。在在最最极极终终端端的的情情况况下下,所所有有属属性性的的组组合合是是关关系系的的候候选选码,这时称为码,这时称为全码全码(all-key)。)。23返回返回下面是一个全码的例子:下面是一个全码的例子:假设有教师授课关系TCS,分别有三个属性教师(T)、课程(C)和学生(S)。一个教师可以讲授多门课程,一门课程可以为多个教师讲授,同样一个学生可以选听多门课程,一门课程可以为多个学生选听。在这种情况下,T,C,S三者之间是多对多关系,(T,C,S)三个属
21、性的组合是关系TCS的候选码,称为全码,T,C,S都是主属性。24返回返回2.4.3外部关系键外部关系键如如果果关关系系R2的的一一个个或或一一组组属属性性X不不是是R2的的主主码码,而而是是另另一一关关系系R1的的主主码码,则则该该属属性性或或属属性性组组X称称为为关关系系R2的的外外部部关关系系键键或或外外码码(Foreignkey)。并并称称关关系系R2为为参参照照关关系系(referencingrelation),关关系系R1为为被被参参照照关关系系(referencedrelation)。例例2.1假假设设在在图图1.12所所示示的的教教学学数数据据库库中中增增加加一一个个系系别别关
22、关 系系 D,包包 含含 两两 个个 属属 性性 系系 别别(DEPT)和和 地地 址址(ADDR),“系系别别”是是此此关关系系的的主主码码,而而“系系别别”并并不不是是学学生生关关系系和和教教师师关关系系的的主主码码,所所以以“系系别别”是是学生关系和教师关系的外部关系键。学生关系和教师关系的外部关系键。25返回返回例例2.2如如图图1.12所所示示的的选选课课关关系系中中的的“学学号号”属属性性与与学学生生关关系系的的主主码码“学学号号”相相对对应应,“课课程程号号”属属性性与与课课程程关关系系的的主主码码“课课程程号号”相相对对应应,因因此此,“学学号号”和和“课课程程号号”属属性性是
23、是选选课课关关系系的的外外部部关关系系键键。学学生生关关系系和课程关系为和课程关系为被参照关系被参照关系,选课关系为,选课关系为参照关系参照关系。由由外外部部关关系系键键的的定定义义可可知知,被被参参照照关关系系的的主主码码和和参参照照关系的外码必须定义在同一个域上。关系的外码必须定义在同一个域上。如选课关系中的“学号”与学生关系的主码“学号”定义在同一个域上,“课程号”属性与课程关系的主码“课程号”定义在同一个域上。26返回返回2.4.4关系模型的完整性关系模型的完整性为为了了维维护护数数据据库库中中数数据据与与现现实实世世界界的的一一致致性性,对对关关系系数数据据库库的的插插入入、删删除除
24、和和修修改改操操作作必必须须有有一一定定的的约约束束条条件,这就是关系模型的三类完整性:件,这就是关系模型的三类完整性:实体完整性参照完整性用户定义的完整性1.实体完整性实体完整性(EntityIntegrity)实体完整性实体完整性是指主关系键的值不能为空或部分为空。是指主关系键的值不能为空或部分为空。关系模型中的一个元组对应一个实体,一个关系则对关系模型中的一个元组对应一个实体,一个关系则对应一个实体集。应一个实体集。例如,一条学生记录对应着一个学生,学生关系对应着学生的集合。27返回返回现现实实世世界界中中的的实实体体是是可可区区分分的的,即即它它们们具具有有某某种种唯唯一一性性标标识识
25、。与与此此相相对对应应,关关系系模模型型中中以以主主关关系系键键来来唯唯一一标标识识元组。元组。例如,学生关系中的属性“学号”可以唯一标识一个元组,也可以唯一标识学生实体。如如果果主主关关系系键键中中的的值值为为空空或或部部分分为为空空,即即主主属属性性为为空空,则则不不符符合合关关系系键键的的定定义义条条件件,不不能能唯唯一一标标识识元元组组及及与与其其相相对对应应的的实实体体。这这就就说说明明存存在在不不可可区区分分的的实实体体,从从而而与与现现实实世世界界中中的的实实体体是是可可以以区区分分的的事事实实相相矛矛盾盾。因因此此主主关关系键的值不能为空或部分为空系键的值不能为空或部分为空。例
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 关系 模型
限制150内