欢迎来到天天文库
浏览记录
ID:9532948
大小:94.00 KB
页数:6页
时间:2018-05-03
《er图,对象联系图和类图的特征与比较》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据库自学札记(2)ER图、对象联系图和类图的特征与比较第一部分:简述ER图,对象联系图和类图的基本概念和特点ER图:ER图是用来表示实体联系模型(EntityRelationshipModel)的方式,这个模型可以直接从现实世界中抽象出实体类型和实体间的联系。举个例子来说。。。下面对上述例子做一个说明,同时给出ER图的约定表示方法。(1)矩形框,表示实体类型(即考虑问题的对象)(2)菱形框,表示联系类型(即实体间的联系)(3)椭圆形框,表示实体类型和联系类型的属性(对于键的属性,在属性下面划一条横线)(4)直线,联系类型与其涉及
2、的实体类型之间用直线相连,用来表示他们之间的联系,在直线端部标注联系的种类(1:1,1:N,M:N)再通过一个例子来说明用ER图表示现实世界的特点:1)考虑零件和工程的关系,零件可以服务于不同的工程,一个工程也需要各种不同的零件,因此,建模的时候零件和工程是一个多对多的联系。a)首先确定实体类型,这个例子中,实体只有两个,就是工程和零件b)再确定联系类型,正如前面所述,工程和零件的关系是M:N的关系c)把实体类型和联系类型组合成ER图(见图1)d)确定实体类型和联系类型的属性。在这个例子中,project的属性有项目号J#、项目名
3、称JNAME、项目开工日期DATE;而part的属性有零件号P#、零件名PNAME、零件颜色COLOR以及零件重量WEIGHT。联系类型P_P的属性是项目需要的零件数量TOTLE。JNAMEJ#DATEPROJECTPARTP#PNAMEWEIGHTCOLORP_PTOTALMN图1工程和零件的ER图从上面的可以看出,ER图作为对现实世界的抽象,可以很方便的表示出现实中实体以及实体间的联系,不同形状的框代表不同的概念,让读者一目了然哪些是实体,哪些是联系,哪些是属性。实体间的数量对应关系也通过连线两端的数字记号体现出来了。可以说,
4、ER图是一种简洁的模拟现实世界的符号方法。对象联系图:使用类型构造图的思想,可以把ER图扩充成为对象联系图。对象联系图可以完整地揭示数据间的联系。对象联系图有一下几个基本成分:数据库自学札记(2)(1)椭圆,表示对象类型(相当于ER图中的实体类型)(2)小圆圈,表示属性是基本数据类型(例如整型、实型、字符串型等)(3)椭圆之间的边,表示对象之间的嵌套或引用(4)单箭头(->)表示属性值是单值(属性可以是基本数据类型,也可以是另一个对象类型,即元组类型)(5)双箭头(->>)表示属性是多值(属性可以是基本数据类型,也可以是另一个对象
5、类型,即关系类型)(6)双线箭头(=>)表示对象类型之间的超类与子类联系(从子类指向超类)(7)双向箭头(<――>)表示两个属性之间的联系为逆联系。下面通过一个例子来看一看对象联系图的表示方法和特点:2)关于大学、教师和上课教材的一个关系模型,我们可以画出如下的对象联系图:UniversityunounamecityFacultyCoursetextfnofnameagesalarycnametextnameeditortescherteachpresidentworks_forstaff图2一个对象联系图实例这里面有三个对象:学
6、校、教师和教材,他们分别具有的属性可以分为两种,一种是基本数据类型的属性,比如University的学校编号uno、校名uname和学校所在城市city,另一种是引用类型的属性(这是ER图所不能刻画的),如University的staff、president等。实体之间的联系通过椭圆之间的边表示,由于在这个例子中联系本身没有自己的属性,所以并没有出现联系对象。可以发现,对象联系图相对ER图来说略显复杂一些,因为它引入了引用类型的属性,但是这也使得它的表现力强于ER图,能更好地描述现实的情况。图的符号表示方面,一方面秉承了ER图简明
7、的风格,另一方面为了满足关系表述的要求,添加了几个新的符号,比如在表现数据的概化与特化的时候,用到了“=>”符号(如图3所示)。FacultyStudentPersonagenamesonfonsalary图3带概化边的对象联系图数据库自学札记(2)类图:基于面向对象技术UML(统一建模语言)的类图可以描述系统的静态结构,包括类和类之间的联系。类图和前面所说的ER图及对象联系图有着许多相似的地方,但是所用的术语和符号不同。下面的是ER图中术语和类图中术语的一个对照:类图中的基本成分是类和关联:(1)类被表示为由三个部分组成的方框a
8、)上面部分给出了类的名称b)中间部分给出了该类的单个对象的属性c)下面部分给出了一些可以应用到这些对象的操作(2)关联是对类的实例之间联系的命名,相当于ER模型中的联系类型。与联系有关的内容有:a)关联元数(degree):与关联有关的类的个数,亦
此文档下载收益归作者所有