您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > 第2章_数据模型与关系数据库(1)
第二章数据模型与关系数据库数据库原理DatabaseSystemPrinciples本章主要内容本章主要内容数据模型关系数据结构及形式化定义关系的完整性关系代数关系演算基本要求基本要求掌握概念模型、联系类型及其表示方法掌握数据模型定义和三要素以及网状、层次、关系数据模型的基本特点掌握关系数据结构、关系操作、关系的三类完整性约束掌握关系代数运算本章主要内容本章主要内容数据模型关系数据结构及形式化定义关系的完整性关系代数关系演算数据模型数据模型的定义数据模型的分类和组成概念模型常用数据模型数据模型的定义数据模型的定义数据模型数据模型(dataModel)(dataModel)是一个可用于描述数据库结是一个可用于描述数据库结构的概念集合,它提供了为获得数据抽象所必需构的概念集合,它提供了为获得数据抽象所必需的工具。的工具。(R.(R.ElmasriElmasri,S.B.,S.B.NavatheNavathe,2002),2002)用数据模型这个工具来抽象、表示和处理现实世用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。世界的模拟。数据模型应满足三方面要求数据模型应满足三方面要求能比较真实地模拟现实世界容易为人所理解便于在计算机上实现数据模型的分类数据模型的分类高层或概念数据模型高层或概念数据模型(High(High--levelorconceptualdatalevelorconceptualdatamodel)model)提供的概念是按用户的观点来对数据和信息建模,主提供的概念是按用户的观点来对数据和信息建模,主要用于数据库的设计,例如实体要用于数据库的设计,例如实体--联系模型。联系模型。底层或物理数据模型底层或物理数据模型(low(low--levelorphysicaldatalevelorphysicaldatamodel)model)提供的概念描述的是数据在计算机中的表示方式和存提供的概念描述的是数据在计算机中的表示方式和存取方式。取方式。在这两层之间的是在这两层之间的是逻辑数据模型逻辑数据模型(logicaldatamodel)(logicaldatamodel),,按照计算机机系统的观点对数据建模按照计算机机系统的观点对数据建模..它们提供的概念能够它们提供的概念能够被最终用户所理解,同时也不会与数据在计算机中实际的组被最终用户所理解,同时也不会与数据在计算机中实际的组织形式相差太远。织形式相差太远。数据库的建模过程数据库的建模过程概念数据模型逻辑数据模型逻辑数据模型数据模型的组成要素数据模型的组成要素数据模型是严格定义的一组概念的集合,这些概念精确地描述了数据模型是严格定义的一组概念的集合,这些概念精确地描述了系统的静态特征(数据结构)、动态特征(数据操作)和完整性系统的静态特征(数据结构)、动态特征(数据操作)和完整性约束条件。约束条件。数据结构数据结构,指对象和对象间联系的表达和实现;,指对象和对象间联系的表达和实现;数据本身:类型、内容、性质。例如关系模型中的域、属性数据本身:类型、内容、性质。例如关系模型中的域、属性等。等。数据之间的联系,数据之间是如何相互关联的,例如关系模数据之间的联系,数据之间是如何相互关联的,例如关系模型中的主码外码联系等。型中的主码外码联系等。数据操作数据操作,对数据库中对象的实例允许执行的操作集合,对数据库中对象的实例允许执行的操作集合..主要指主要指检索和更新(插入、删除、修改)两类操作。检索和更新(插入、删除、修改)两类操作。数据完整性约束数据完整性约束,完整性规则的集合,规定数据库状态及状态变,完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确性和相容性。化所应满足的条件,以保证数据的正确性和相容性。概念模型概念模型概念模型的用途概念模型的用途概念模型用于信息世界的建模概念模型用于信息世界的建模是现实世界到机器世界的一个中间层次是现实世界到机器世界的一个中间层次是数据库设计的有力工具是数据库设计的有力工具数据库设计人员和用户之间进行交流的语言数据库设计人员和用户之间进行交流的语言对概念模型的基本要求对概念模型的基本要求较强的语义表达能力,能够方便、直接地表达应用较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识中的各种语义知识简单、清晰、易于用户理解简单、清晰、易于用户理解。。数据模型数据模型的定义数据模型的分类和组成概念模型常用数据模型信息世界中的基本概念信息世界中的基本概念实体实体(Entity)(Entity)::客观存在的可区别的事物。例:一个学生,一个公客观存在的可区别的事物。例:一个学生,一个公司,一个国家司,一个国家,etc.,etc.属性(属性(Attribute):Attribute):实体所具有某一特征,描述、表达、界定实体。实体所具有某一特征,描述、表达、界定实体。例:(身份证号,姓名,性别,年龄例:(身份证号,姓名,性别,年龄……))码(码(Key):Key):唯一标识实体的属性集。例唯一标识实体的属性集。例::身份证号身份证号域(域(Domain):Domain):属性的取值范围。身份证号属性的取值范围。身份证号1515位,性别:男位,性别:男//女女(5)(5)实体型(实体型(EntityTypeEntityType))用实体名及其属性名集合来抽象和刻画同类实体称为用实体名及其属性名集合来抽象和刻画同类实体称为实体型实体型例:学生(学号,姓名,性别,专业,入学时间)例:学生(学号,姓名,性别,专业,入学时间)(6)(6)实体集(实体集(EntitySetEntitySet))同型实体的集合称为实体集同型实体的集合称为实体集,,如全体学生如全体学生(7)(7)联系(联系(RelationshipRelationship))现实世界中事物内部以及事物之间的联系在信息世界现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系中反映为实体内部的联系和实体之间的联系实体型间联系实体型间联系两个实体型两个实体型一对一联系(一对一联系(1:11:1))三个实体型三个实体型一对多联系(一对多联系(1:n1:n))一个实体型一个实体型多对多联系(多对多联系(m:nm:n))两个实体型间的联系两个实体型间的联系实体型1联系名实体型2111:1联系实体型1联系名实体型2mnm:n联系实体型1联系名实体型21n1:n联系两个实体型之间的联系有如下三种类型(1)一对一联系(1:1)实体集A中的一个实体至多与实体集B中的一个实体相对应,反之亦然,则称实体集A与实体集B为一对一的联系。记作1:1。如:班级与班长,观众与座位,病人与床位。(2)一对多联系(1:n)实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的一个实体至多与实体集A中的一个实体相对应。记作1:n。如:班级与学生、公司与职员、省与市。(3)多对多(m:n)实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的一个实体与实体集A中的多个实体相对应。记作(m:n)。如:教师与学生,学生与课程,工厂与产品。多个实体型间的联系多个实体型间的联系多个实体型间的一对多联系多个实体型间的一对多联系若实体集若实体集EE11,,EE22,,......,,EEnn存在联系,对于实存在联系,对于实体集体集EEjj((j=1j=1,,22,,......,,ii--11,,i+1i+1,,......,,nn))中的中的给定实体,最多只和给定实体,最多只和EEii中的一个实体相联中的一个实体相联系,则我们说系,则我们说EEii与与EE11,,EE22,,......,,EEii--11,,EEi+1i+1,,......,,EEnn之间的联系是一对多的。之间的联系是一对多的。多个实体型间的联系多个实体型间的联系((续续))实例实例课程、教师与参考书三个实体型课程、教师与参考书三个实体型如果一门课程可以有若干个教师讲授,使用若干如果一门课程可以有若干个教师讲授,使用若干本参考书,每一个教师只讲授一门课程,每一本本参考书,每一个教师只讲授一门课程,每一本参考书只供一门课程使用参考书只供一门课程使用课程与教师、参考书之间的联系是一对多的课程与教师、参考书之间的联系是一对多的多个实体型间的一对一联系多个实体型间的一对一联系多个实体型间的多对多联系多个实体型间的多对多联系同一实体集内各实体间的联系同一实体集内各实体间的联系一对多联系一对多联系实例实例职工实体集内部具有领导与被领导的联系职工实体集内部具有领导与被领导的联系某一职工(干部)某一职工(干部)““领导领导””若干名职工若干名职工一个职工仅被另外一个职工直接领导一个职工仅被另外一个职工直接领导这是一对多的联系这是一对多的联系一对一联系一对一联系多对多联系多对多联系概念模型的表示方法概念模型的表示方法很多,其中最为著名最为常用的是1976年P.P.S.Chen提出的实体-联系方法(Entity-RelationshipApproach)。该方法用E-R图来描述现实世界的概念模型。PeterPingShanChenEE--RR方法方法实体型实体型用矩形表示,矩形框内写明实体名。用矩形表示,矩形框内写明实体名。属性属性用椭圆形表示,并用无向边将其与相应的实体用椭圆形表示,并用无向边将其与相应的实体连接起来连接起来学生学号年龄性别姓名学生EE--RR方法方法联系联系用菱形表示,菱形框内写明联系名,并用无向用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁边分别与有关实体连接起来,同时在无向边旁标上联系的类型(标上联系的类型(1:11:1、、1:n1:n或或m:nm:n))实体型1联系名实体型2111:1联系实体型1联系名实体型2mnm:n联系实体型1联系名实体型21n1:n联系E-R图示例某学校有若干个系,每个系有若干名教师和学生;每个教某学校有若干个系,每个系有若干名教师和学生;每个教师可以担任若干门课程(一门课程只能有一个教师担师可以担任若干门课程(一门课程只能有一个教师担任),教师可以参加多项项目;每个学生可以同时选修多任),教师可以参加多项项目;每个学生可以同时选修多门课程。请设计某学校的教学科研管理的门课程。请设计某学校的教学科研管理的EE--RR模型,要求模型,要求给出每个实体、联系的属性。给出每个实体、联系的属性。学校的教学管理的学校的教学管理的EE--RR模型应该有五个实体:模型应该有五个实体:系、教系、教师、学生、项目、课程。师、学生、项目、课程。设计各实体属性如下:设计各实体属性如下:zz系(系号,系名,主任名)系(系号,系名,主任名)zz教师(教师号,教师名,职称)教师(教师号,教师名,职称)zz学生(学号,姓名,年龄,性别)学生(学号,姓名,年龄,性别)zz项目(项目号,名称,负责人)项目(项目号,名称,负责人)zz课程(课程号,课程名,学分)课程(课程号,课程名,学分)E-R图示例---实体及其属性图系系号系名主任名学号姓名年龄性别学生教师教师号教师名职称项目名称负责人项目号课程课程号课程名学分各实体之间的联系有各实体之间的联系有::zz教师担任课程的教师担任课程的1:n1:n““任课任课””联系;联系;zz教师参加项目的教师参加项目的n:mn:m““参加参加””联系;联系;zz学生选修课程的学生选修课程的n:mn:m““选修选修””联系;联系;zz系与教师和学生之间的两个系与教师和学生之间的两个1:n1:n““所属所属””联联系。系。zz其中其中““参加参加””联系有一个排名属性,联系有一个排名属性,““选修选修
本文标题:第2章_数据模型与关系数据库(1)
链接地址:https://www.777doc.com/doc-4296591 .html