1、1.2 数据模型和E-R图n1.2.1 实体联系模型n1.2.2 E-R图n1.2.3 数据模型分类n1.2.4 数据库系统的三级数据模式结构1.2.1 实体联系模型n实体联系模型简记为E-R模型,是P.P.Chen于1976年提出的,它由实体集、属性、联系集构成,它可以形象地用图形来表示,称为E-R图。1、实体、实体集、属性n实体(Entity)-客观存在并且可以相互区别的“事物” 。n属性(Attributes)-实体的某一特性。n属性的具体内容称为属性值n实体型(Entity Type)-若干属性组成的集合可以表示一个实体的类型,简称实体型。n实体集(Entity Set)-同型实体的集
2、合。n键(Key)-能唯一标识一个实体的属性或属性集,又称为关键字。n属性值域(Domain)-属性值的取值范围称为该属性的域。n联系(Relationship)n现实世界中,事物内部以及事物之间是有联系的。在信息世界中这些联系被抽象为实体型内部的联系和实体型之间的联系。n实体内部的联系通常是指组成实体的各属性之间的联系。n实体之间的联系通常是指不同实体集之间的联系。2、实体之间的联系n联系(联系(relationship)是实体之间的相互关系。与一个联系有关的实体集个数,称为联系的元数。n二元联系有以下三种类型:二元联系有以下三种类型:n一对一联系n一对多联系1.多对多联系一对一联系一对一联
3、系n如果实体集E1中每个实体至多和实体集E2中的一个实体有联系,反之亦然,那么实体集E1和E2的联系称为“一对一联系”,记为“1:1”。一对一联系示意图一对一联系示意图 实体集E1 实体集E2学校E1校长E2一对多联系一对多联系n如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体间有联系,而E2中每个实体至多和E1中一个实体有联系,那么称E1对E2的联系是“一对多联系”,记为“1:N”。一对多联系示意图一对多联系示意图 实体集E1 实体集E2E1E2班级学生多对多联系多对多联系n如果实体集E1中每个实体可以与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么称E1和E2
4、的联系是“多对多联系”,记为“M:N”。多对多联系示意图多对多联系示意图 实体集E1 实体集E2E1E2教师课程1.2.2 E-R图 反映实体型及其联系的结构形式称为实体模型,也称作概念模型,它是现实世界及其联系的抽象表示,是不依赖计算机硬件/软件具体实现的模型。 为了描述属性、实体、实体之间的联系,最常用方法是实体-联系方法。 用E-R方法建立的信息模型,称为E-R模型,也称为E-R图。nER图有三个基本成分:图有三个基本成分:矩形框矩形框用于表示实体类型,在框内写上实体名。菱形框菱形框用于表示联系类型,在菱形框内写上联系的名称,用线段连接菱形框与有关长方形框,并注明1:1,1:n或m:n的
5、关系。椭圆形框椭圆形框用于表示实体类型和联系类型的属性。nE-R模型的具体建立过程 n确定实体类型 n确定联系类型 n确定实体类型的属性 n确定联系类型的属性 n画出E-R图 性别学号姓名成绩学时班级姓名学生课程教师选修任课工作单位性别课程代号课程名称教师号NMN1职称1.2.3 数据模型分类n数据模型的简单定义数据模型的简单定义: 能表示实体类型及实体间联系的模型称为“数据模型”。n对不同结构的考虑,形成了多种不同的数据模型:n层次模型n网状模型n关系模型1、层次模型n用树型(层次)结构表示实体类型及实体间联系的数据模型称为层次模型(hierarchical model)。 n层次模型的特点
6、是记录之间的联系通过指针来实现,查询效率较高。n与文件系统的数据管理方式相比,层次模型是一个飞跃,用户和设计者面对的是逻辑数据而不是物理数据,用户不必花费大量的精力考虑数据的物理细节。n逻辑数据与物理数据之间的转换由DBMS完成。n层次模型有两个缺点:n一是只能表示1:N联系,虽然系统有多种辅助手段实现M:N联系但较复杂,用户不易掌握;n二是由于层次顺序的严格和复杂,引起数据的查询和更新操作很复杂,因此应用程序的编写也比较复杂。n树形结构特点:n每棵树有且仅有一个结点无双,该结点为树的根;n树中其他结点有且仅有一个双亲。n优点:1. 从根结点开始到树中的任一结点均惟一存在一条通路,对每一个结点
7、只要给出双亲结点,就可构造出层次模型的整体结构。学院计算机系财会系基础教研室网络教研室会计教研室统计教研室层次模型n用无向图结构表示实体类型及实体间联系的数据模型称为网状模型。 n网状模型的特点是记录之间联系通过指针实现,M:N联系也容易实现(一个M:N联系可拆成两个1:N联系),查询效率较高。n任何记录值只有按其路径查看时,才能显出它的全部意义。n网状模型的缺点是数据结构复杂和编程复杂。2. 网状模型学生宿舍系、专业学生教师教研室网状模型3、 关系模型n关系模型(relational model)的主要特征是用二维表格表达实体和属性。n数据结构简单,容易为初学者理解。 n关系模型是由若干个关
8、系模式组成的集合。 n关系模式相当于前面提到的记录类型,它的实例称为关系,每个关系实际上是一张二维表格。n关系是通过关系名和属性名定义的,一个关系框架可表示为: 关系名(属性名1,属性名2,属性名3,属性名4属性名n) 学学 生生 登登 记记 表表学学 号号姓姓 名名年年 令令性性 别别系系 名名年年 级级95004王王 小小 明明19女女社社 会会 学学9595006黄黄 大大 鹏鹏20男男商商 品品 学学9595008张张 文文 斌斌18女女法法 律律 学学954、从E-R图导出关系模型n从E-R图导出关系模型的原则 :n原则一:对于E-R图中每个实体,都应该转换为一个关系,该关系应包括对
9、应实体的全部属性,并应根据关系所表达的语义确定哪个属性作为“主键”。 n原则二:对于E-R图中的联系,要根据实体联系方式的不同,采取不同的手段加以转换。不同联系情况E-R图的转换n两实体间1:1联系n这种联系可将一方的主键作为另一方的外键而将两者间的联系实体省略。n学校与校长联系中的E-R图转换成如下关系。n校长(姓名,性别,职称,校名)n学校(校名,地点)n两实体间1:N联系n两实体分别转换为关系,实体中所有的属性都对应为关系中的属性,同时把联系的属性也一并纳入N方对应的关系中。n教师与任课联系中的E-R图转换成如下关系。n教师(教师号,姓名,性别,工作单位,职称)。 n教师任课(课程代号,
10、课程名称,学时,班级)n两实体间M:N联系n对于两实体间M:N联系,两实体分别转换成关系,为“联系”单独建立一个关系,用来联系双方实体。n把两实体关系中的关键字均放入联系中作为其关键字,如果联系本身有属性,也归入该关系中。n学生与课程联系中的E-R图转换成如下关系。n学生(学号,姓名,性别)n课程(课程代号,课程名称,学时)n学生选修课程(学号,课程代号,成绩)n两实体间M:N多元联系n这种多元联系,必须为“联系”单独建立一个关系,该关系中最少应包括被它联系的各个实体的“主键”,若是联系有属性,也要归入这个关系中。1.2.4 数据库的体系结构n数据库中用数据模型对现实世界的某一部分进行模拟,称
11、之数据模式。n数据库的三级结构:数据库的数据模式结构从逻辑上分为外部级、概念级和内部级。 数据库的三级体系结构(一)数据库的三级体系结构(二)n数据的三级抽象术语 数据模型用数据定义语言描述的称呼外部级外模型外模式概念级概念模型概念模式内部级内模型内模式体系结构中的五个要素n概念模式(conceptnal schema概念级)是数据库中全部数据的整体逻辑结构的描述。 n外模式(external schema外部级)是用户与数据库系统的接口,是用户用到的那部分数据的描述。 n内模式(internal schema内部级)是数据库在物理存储方面的描述,定义所有内部记录类型、索引和文件的组织方式,以
12、及数据控制方面的细节。 n模式内模式映象存在于概念级和内部级之间,用于定义概念模式和内模式之间的对应性。 n外模式模式映象存在于外部级和概念级之间,用于定义外模式和概念模式之间的对应性。41写在最后写在最后成功的基础在于好的学习习惯成功的基础在于好的学习习惯The foundation of success lies in good habits 结束语当你尽了自己的最大努力时,失败也是伟大的,所以不要放弃,坚持就是正确的。When You Do Your Best, Failure Is Great, So DonT Give Up, Stick To The End演讲人:XXXXXX 时 间:XX年XX月XX日