《关系模型要素》PPT课件.ppt_第1页
《关系模型要素》PPT课件.ppt_第2页
《关系模型要素》PPT课件.ppt_第3页
《关系模型要素》PPT课件.ppt_第4页
《关系模型要素》PPT课件.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

第2章关系数据库,本讲内容,一、关系数据结构及形式化定义二、关系操作三、关系的完整性四*、关系模型的三级体系结构,内容要求,掌握关系模型的三个组成部分及各部分所包括的主要内容牢固掌握关系数据结构及其形式化定义掌握关系的三类完整性约束的概念,关系模型简史,1.关系模型的提出由E.F.Codd在他的论文“ARelationalModelofDataforLargeSharedDataBanks”(大型共享资料库的关系数据模型,1970)中首次提出。2.关系模型的发展推动力(1)20世纪70年代末,IBM在加利福尼亚州成立了SanJose研究所开发的实验性RDBMSSystemR。SystemR项目推动了两类重大成果:结构化查询语言SQL的发展涌现了各种各样的商业化RDBMS产品,如DB2、Oracle等。,关系模型简史,(2)加州大学伯克利分校开发的INGRES(交互式制图检索系统)项目,它与SystemR项目几乎是同时进行的。它对普及关系概念做出了贡献,同时也诞生了一些商业化产品。(3)IBMUKScientificCentre开发的Peterlee关系测试工具(1976),这个项目更偏重理论研究,特别是对查询处理和优化及功能扩展等问题的研究。20世纪70年代末至80年代初出现了基于关系模型的商业系统。,关系模型,什么是关系模型用二维表格表示实体集,用码进行数据导航的数据模型称为关系模型。关系模型的三要素关系数据结构关系操作关系的完整性,一、关系数据结构及形式化定义,关系定义关系模式关系数据库,数学关系,假设有两个集合D1和D2,其中D1=2,4,D2=1,3,5。这两个集合的笛卡尔积D1D2=?D1D2=(2,1),(2,3),(2,5),(4,1),(4,3),(4,5)这个笛卡尔积的任何子集都是一个关系。,关系定义,笛卡尔积给定一组域D1,D2,Dn,这些域中可以有相同的。D1,D2,Dn的笛卡尔积为:D1D2Dn(d1,d2,dn)diDi,I1,2,n,其中每一个元素(d1,d2,dn)叫作一个n元组(n-tuple)或简称元组。笛卡尔积元素(d1,d2,dn)中的每一个值di叫作一个分量。若Di(i1,2,n)为有限集,其基数为mi(i1,2,n),则D1D2Dn的基数M为:,笛卡尔积(例),笛卡尔积可表示为一个二维表。表中的每行对应一个元组,表中的每列对应一个域。例给出三个域:D1=SUPERVISOR=张清玫,刘逸D2=SPECIALITY=计算机专业,信息专业D3=POSTGRADUATE=李勇,刘晨,王敏则D1,D2,D3的笛卡尔积为:D1D2D3(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨),(张清玫,计算机专业,王敏),(张清玫,信息专业,李勇),(张清玫,信息专业,刘晨),(张清玫,信息专业,王敏),(刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨),(刘逸,计算机专业,王敏),(刘逸,信息专业,李勇),(刘逸,信息专业,刘晨),(刘逸,信息专业,王敏),笛卡尔积的表示方法(续),关系,关系D1D2Dn的子集叫作在域D1,D2,Dn上的关系,表示为R(D1,D2,Dn)R:关系名n:关系的目或度(Degree)(1)当n=1时,称该关系为单元关系(Unaryrelation)。(2)当n=2时,称该关系为二元关系(Binaryrelation)。说明:笛卡尔积是每个域内所有元素的排列组合,因此其中的许多元组是无实际意义的,而关系一般是具有实际意义的元组的组成的。,关系的基本术语,在关系模型中,字段称为属性,字段值称为属性值,记录类型称为关系模式。记录称为元组,元组的集合称为关系或实例,有时也称关系为表或表格,元组为行,属性为列。关系中属性的个数称为元数,元组个数称为基数。,关系(例),例在表2.1的笛卡尔积中取出有实际意义的元组来构造关系关系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)关系名,属性名假设:专业与导师:1:n,导师与研究生:1:n于是:SAP关系可以包含三个元组(张清玫,信息专业,李勇),(张清玫,信息专业,刘晨),(刘逸,信息专业,王敏),关系的表示,关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。,关系中的码,基本关系的性质,列是同质的(Homogeneous)。每一列中的分量是同一类型的数据,来自同一个域不同的列可出自同一个域列的顺序无所谓任意两个元组不能完全相同行的顺序无所谓分量必须取原子值,关系的类型,关系可以分为三种类型:(1)基本表:是数据库实际存储数据的逻辑表示,是实际存在的表。(2)视图表:是由基本表或其他视图表导出的表,不对应实际存储的数据,是虚表。(3)查询表:是对基本表或视图表进行查询,查询结果对应的表。,关系模式,定义:关系的描述称为关系模式。它可以形式化的表示为:R(U,D,DOM,F)其中,R关系名U组成该关系的属性名集合D属性组U中属性所来自的域DOM属性向域的映象集合F属性间的数据依赖关系集合关系模式是型,关系是值,关系模式例子,例:学生选修课成绩登记表,定义关系模型SC如下:SC(SNO,CNO,GRADE,N(10),N(3),(SNO,N(10),(CNO,N(3),(GRADE,N(3),(SNO,CNO)GRADE)其中,SNO表示学号,CNO表示课程号,GRADE表示选修课成绩。,关系数据库,关系数据库也有型和值之分。,二、关系操作,基本的关系操作关系数据语言的分类,常用的关系操作,常用的关系操作查询选择、投影、连接、除、并、交、差数据更新插入、删除、修改其中选择、投影、并、差、笛卡尔积是五种基本操作。其他操作可以用基本操作来定义和导出关系操作的特点集合操作方式,即操作的对象和结果都是集合。非关系数据模型的数据操作方式:一次一记录,关系数据语言,关系语言是一种高度非过程化的语言关系代数、元组关系演算和域关系演算三种语言在表达能力上完全等价,三、关系的完整性,实体完整性(EntityIntegrity)参照完整性(ReferentialIntegrity)用户定义的完整性(User-definedIntegrity),1.实体完整性,规则2.1实体完整性规则若属性A是基本关系R的主属性,则属性A不能取空值。说明:规则要求关系中元组在组成主键的属性上不能有空值。,课程(课程号,课程名,学分),选修(课程号,学号,成绩),关系间的引用,在关系模型中实体及实体间的联系都是用关系来描述的,因此可能存在着关系与关系间的引用。例1学生实体、专业实体以及专业与学生间的一对多联系学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名),关系间的引用(续),例2学生、课程、学生与课程之间的多对多联系学生(学号,姓名,性别,专业号,年龄)课程(课程号,课程名,学分)选修(学号,课程号,成绩),学生,学生选课,课程,外码(ForeignKey),设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码基本关系R称为参照关系(ReferencingRelation)基本关系S称为被参照关系(ReferencedRelation)或目标关系(TargetRelation)。例1学生实体、专业实体以及专业与学生间的1:n联系R学生(学号,姓名,性别,专业号,年龄)S专业(专业号,专业名),F,KS,2.参照完整性,规则2.2若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。说明:这条规则的实质是不允许引用不存在的实体。,Student,Department,主码,外码,不是Student的主码,但是Department的主码。Student中Sdept中的值都取自Deparment表中相应Sdept的值。指定外码时,列名不一定要求相同。,3.用户定义的完整性,用户定义的完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。关系模型应提供定义和检验这类完整性的机制。不应由应用程序承担。,用户定义的完整性(续),例:课程(课程号,课程名,学分)“课程名”属性必须取唯一值非主属性“课程名”也不能取空值“学分”属性只能取值1,2,3,4,补充:ER模型向关系模型的转换,规则1(实体类型的转换)将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体的码即为关系模式的码。规则2(二元联系类型的转换)(1)1:1联系:可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的码和联系类型的属性。(2)1:n联系:则在n端实体类型转换成的关系模式中加入1端实体类型的码和联系类型的属性。(3)m:n联系:则将联系类型也转换成关系模式,其属性为两端实体类型的码加上联系类型的属性,而它的码为两端实体码的组合。,示例1(1:1联系类型),关系模式如下:学校(校名,地址,电话,校长名,任职年月)校长(姓名,性别,年龄,职称),学校,校长,任职,校名,地址,电话,任职年月,姓名,性别,年龄,职称,1,1,示例2(1:n联系类型),关系模式:系(系号,系名,电话)教师(工号,姓名,性别,年龄,系号,聘期),系,教师,聘用,系号,系名,电话,聘期,工号,姓名,性别,年龄,1,n,示例3(m:n联系类型),关系模式:学生(学号,姓名,年龄,性别)课程(课程号,课程名,教师名)选课(学号,课程号,成绩),学生,课程,选课,学号,姓名,年龄,性别,成绩,课程号,课程名,教师名,m,n,四、关系模型的三级体系结构,关系模式也遵循数据库的三级体系结构,称为关系模式、外模式和内模式。1.关系模式在关系模型中,关系模式的集合就是数据库的概念模式。关系模式用数据定义语言(DDL)定义。关系模式不涉及到物理存储方面的描述,仅仅是对数据本身的一些特性的描述。,示例学生-选课数据库,关系模式集,四、关

温馨提示

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

评论

0/150

提交评论