关系模型与关系代数.ppt_第1页
关系模型与关系代数.ppt_第2页
关系模型与关系代数.ppt_第3页
关系模型与关系代数.ppt_第4页
关系模型与关系代数.ppt_第5页
免费预览已结束,剩余54页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库原理和应用地理信息系统042,2.1关系模型的基本概念2.2ER模型到关系模式的转换2.3关系代数2.4关系演算作业:,第二章关系模型,2.1关系模型的基本概念,1.关系与二维表(一个关系就是二维表)关系(relation)是一张二维表,但并不是说任一张二维表就是关系。它必须满足以下条件:表中没有组合的列,也就是说每一列都是不可再分的;表中每一列的所有数据都属于同一种类型;表中各列都指定了一个不同的名字;表中没有数据完全相同的行;表中行之间顺序位置的调换和列之间位置的调换不影响它们所表示的信息内容。只有具有上述性质的二维表,才称为一个关系。这种二维表称为规范化的二维表。本篇中提到的二维表均指这种规范化的二维表。注意:关系通常用大写字母表示,如R,S等。,2.1关系模型的基本概念,1.关系与二维表(一个关系就是二维表),2.1关系模型的基本概念,1.关系与二维表(一个关系就是二维表)职工工资表,编号姓名基本工资工龄工资扣除实发工资101刘安520.0032.0045.000.00102陈林426.0024.0030.500.00103赵刚338.0025.0040.500.00201刘达388.0015.0033.000.00202陆海476.0012.0022.500.00203李万698.0027.0060.000.00,2.1关系模型的基本概念,2.属性,也称为字段-(列)3.域Domain:字段的取值范围(属性的取值范围)4.元组,也称为记录-(行)5.码(又称为关键字key):二维表中的某个属性,若它的值唯一地标识了一个元组(能够将记录区分开),则称该属性为侯选码。若一个关系有多个侯选码,则选定其中一个为主码(PrimaryKey,主键),这个属性称为主属性(Primaryattribute)。,2.1关系模型的基本概念,域是一组具有相同数据类型的值的集合,又称为值域。(用D表示)-取值范围例如整数、实数、字符串的集合。域中所包含的值的个数称为域的基数(用m表示)。关系中用域表示属性的取值范围。例如:D1=李力,王平,刘伟m1=3D2=男,女m2=2D3=47,28,30m3=3其中,D1,D2,D3为域名,分别表示教师关系中姓名、性别、年龄的集合。域名无排列次序,如D2=男,女=女,男,2.1关系模型的基本概念,候选键(候选码)与主键(主码)能惟一地标识关系中的元组的属性或属性集,则称该属性或属性集为候选键(CandidateKey),也称候选关键字或候选码。如:“学生关系”中的学号能唯一标识每一个学生,则属性学号是学生关系的候选键。在“选课关系”中,只有属性的组合“学号+课程号”才能唯一地区分每一条选课记录,则属性集“学号+课程号”是选课关系的候选键。如果一个关系中有多个候选键,可以从中选择一个作为查询、插入或删除元组的操作变量,被选用的候选键称为主关系键(PrimaryKey),或简称为主键、主码、关系键、关键字。通常用较小的属性组合作为主关系键。,2.1关系模型的基本概念,外键(外码)如果关系R2的一个或一组属性X不是R2的主码,而是另一关系R1的主码,则该属性或属性组X称为关系R2的外部关系键或外码(Foreignkey)。并称关系R2为参照关系(referencingrelation),关系R1为被参照关系(referencedrelation)。如:选课关系中的“学号”属性与学生关系的主码“学号”相对应,“课程号”属性与课程关系的主码“课程号”相对应,因此,“学号”和“课程号”属性是选课关系的外部关系键。学生关系和课程关系为被参照关系,选课关系为参照关系。由外部关系键的定义可知,被参照关系的主码和参照关系的外码必须定义在同一个域上。,2.1关系模型的基本概念,主属性、非码属性、全码主属性(PrimeAttribute):包含在主码中的的各属性称为主属性。非码属性(Non-PrimeAttribute):不包含在任何候选码中的属性称为非码属性。在最简单的情况下,一个候选码只包含一个属性,如学生关系中的“学号”,教师关系中的“教师号”。在最极终端的情况下,所有属性的组合是关系的候选码,这时称为全码(all-key),2.1关系模型的基本概念,6.关系模式,是对关系的描述,它包括关系名、组成该关系的属性名、属性到域的映像。通常简记为:关系名(属性名1,属性名2,属性名n)关系名即表名以上的职工工资表可以用以下关系模式描述:职工工资表(编号,姓名,基本工资,工龄工资,扣除,实发工资),2.1关系模型的基本概念,关系模型:关系模型是一种数据模型,它和一般的数据模型一样由数据结构、数据操作和数据的完整性约束三部分组成。数据结构即上面介绍的关系-表。数据操作由关系代数或关系演算表述。数据的完整性约束是对关系的某种约束条件。关系模型中有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。关系模型的优点(1)简明性(2)精确性(3)数据独立性,2.1关系模型的基本概念,数据的完整性约束:1实体完整性(EntityIntegrity)实体完整性是指主码的值不能为空或部分为空。2参照完整性(ReferentialIntegrity)如果关系R2的外部关系键X与关系R1的主关系键相符,则X的每个值或者等于R1中主关系键的某一个值,或者取空值。3用户定义的完整性(User-definedIntegrity)任何关系数据库系统都应该支持实体完整性和参照完整性,被称作关系的两个不变性。除此之外,不同的应用系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用户定义的完整性就是针对某一具体应用环境的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。,2.2ER模型到关系模型的转换,实体(Entity):联系(Relation):在后面的章节中详述,2.3关系代数,关系模型的三部分:.数据结构-二维表.约束性条件-三个完整性约束条件.数据操作-通过关系代数或关系演算描述,2.5.1关系模式和关系数据库模式一个关系的属性名的集合R(A1,A2,An)叫做关系模式。其中:R为关系名,A1,A2,An为属性名(i=1,2,n)。由定义可以看出,关系模式是关系的框架,或者称为表框架,指出了关系由哪些属性构成,是对关系结构的描述。一组关系模式的集合叫做关系数据库模式。,2.5关系数据库模式与关系数据库,关系数据库模式是对关系数据库结构的描述,或者说是对关系数据库框架的描述,也就是前面所讲过的关系头,可以看作是关系的型。与关系数据库模式对应的数据库中的当前值就是关系数据库的内容,称为关系数据库的实例,即前面所讲过的关系体,可以看作是关系的值。例如,在图1.12所示的教学数据库中,共有五个关系,其关系模式分别为:学生(学号,姓名,性别,年龄,系别)教师(教师号,姓名,性别,年龄,系别)课程(课程号,课程名,课时)选课(学号,课程号,成绩)授课(教师号,课程号),在每个关系中,又有其相应的数据库的实例例如:与学生关系模式对应的数据库中的实例有如下6个元组:,2.5.2关系数据库关系数据库是“一组随时间变化,具有各种度的规范化关系的集合”。因为关系是由关系头和关系体组成的,所以关系数据库也可以看作是一组关系头和关系体的集合。由此可见,关系数据库也有型和值的概念,其型就是关系数据库模式,相对固定;其值就是关系数据库内容,代表现实世界中的实体,而实体是随着时间不断变化的,所以其值在不同的时刻会有所变化。,例如:图1.12所示的教学数据库是五个关系的集合,或者说是五个关系头和五个关系体的集合。其中,各个关系头相对固定,而关系体的内容,会随时间而变化。比如,学生和教师的年龄随时间而增长,教师的工资和岗位津贴也会发生变化。,2.3关系代数,关系模型与其他模型相比,最有特色的是它的数据库语言。这种语言灵活方便、表达能力和功能都很强。目前关系数据库所使用的语言一般都具有定义、查询、更新和控制一体化的特点,而查询是最主要的部分。所以说,关系数据库的核心部分是查询,故又称为查询语言,而查询的条件要使用关系运算表达式来表示。因此,关系运算是设计关系数据语言的基础。按表达查询的方法不同,关系运算可分为关系代数和关系演算两大类。,2.3关系代数,关系代数是对关系进行集合代数运算,是基于关系代数的操作语言,称为关系代数语言,简称关系代数。它是由IBM在一个实验性的系统上实现的,称为ISBL(InformationSystemBaseLanguage)语言。ISBL的每个语句都类似于一个关系代数表达式。关系代数的运算对象是关系,运算结果也是关系(封闭性),关系代数用到的运算符主要包括四类:集合运算符:(并),-(差),(交),X(广义笛卡尔积);专门的关系运算符:(选择),(投影),(连接),*(自然连接),(除);算术比较运算符:(大于),(大于等于),D)等值连接(C=D)(c)(d),等值连接(R.B=S.B)自然连接(e)(f)连接运算举例,结合上例,我们可以看出等值连接与自然连接的区别:1.等值连接中不要求相等属性值的属性名相同,而自然连接要求相等属性值的属性名必须相同,即两关系只有在同名属性才能进行自然连接。如上例R中的C列和S中的D列可进行等值连接,但因为属性名不同,不能进行自然连接。2.等值连接不将重复属性去掉,而自然连接去掉重复属性,也可以说,自然连接是去掉重复列的等值连接。如上例R中的B列和S中的B列进行等值连接时,结果有两个重复的属性列B,而进行自然连接时,结果只有一个属性列B。,例:查询讲授数据库课程的教师姓名。TN(CN=数据库原理(C)*TNO,CNO(TC)*TNO,TN(T)或TN(TNO(CN=数据库原理(C)*TC)*TNO,TN(T)结果如右图所示。,4.除法(Division)除法运算是二目运算,设有关系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。除法运算为非基本运算,可以表示为:RS=x(R)x(x(R)SR),2.3关系代数,例:已知关系R和S,如图2.11(a),(b)所示,则RS如图(c)所示。与除法的定义相对应,本题中X=A,B=(a1,b2),(a2,b4),(a3,b5),Y=C,D=(c3,d5),(c4,d6),Z=F=f3,f4。其中,元组在X上各个分量值的象集分别为:(a1,b2)的象集为(c3,d5),(c4,d6)(a2,b4)的象集为(c1,d3)(a3,b5)的象集为(c2,d8

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论