实体、属性、关系与E—R图一、数据模型数据模型是描述数据的一组概念和定义。在数据库中用数据模型来抽象、表示和处理现实世界中的数据和信息。简单地讲,数据模型就是现实世界的模拟。数据模型应该满足以下的要求:真实性:就是数据模型要尽可能真的反映现实世界;简单性:就是模型尽可能简单,以便于他人理解;便于实现:便于计算机实现。(一)数据及数据联系的描述从人们对现实生活中事物特性的认识到计算机数据库力的具体表示要经历三个领域,即现实世界、概念世界(信息世界)和机器世界(存储世界/数据世界)。首先将现实世界的事物及联系抽象成信息世界的信息模型然后再抽象成计算机世界的数据模型数据加工经历了现实世界、信息世界和计算机世界三个不同的世界,经历了两级抽象和转换相关术语:实体客观存在并且可以相互区别的“事物”称为实体实体可以是具体的人、事、物,也可以是抽象的事件属性实体所具有的某一特性称为属性实体型具有相同属性的实体必然具有共同的特征实体集同型实体的集合称为实体集键能惟一标识一个实体的属性或属性集称为实体的键域属性的取值范围称为该属性的域学生(学号,姓名,年龄,性别,系)联系实体型内部的联系通常是指组成实体的各属性之间的联系实体型之间的联系通常是指不同实体集之间的联系两个实体型之间的联系有如下三种类型:图不同实体集实体之间的联系ABABAB(a)一对一联系(b)一对多联系(c)多对多联系现实世界概念模型认识抽象DBMS支持的数据模型信息世界计算机世界现实世界图数据处理的抽象和转换过程机器世界信息经过加工编码进入机器世界,机器世界的处理对象是数据。相关术语:字段(Field)标记实体属性的命名单位称为字段。记录(Record)字段的有序集合称为记录。如,一个学生(990001,张立,20,男,计算机)为一个记录。文件(File)同一类记录的集合称为文件。所有学生的记录组成了一个学生文件。关键字(Key)能惟一标识文件中每个记录的字段或字段集,称为记录的关键字。E-R方法E-R方法即“实体-联系方法”。它的基本思想是在数据库设计过程中增加一个中间步骤,先设计一个概念性数据模型,这个概念性数据模型在E-R方法中被称作“企业模式”(或“组织模式”)。它是现实世界的纯粹反映,与数据库的具体实现无关,它抛开了实现过程的具体细节,与现实世界和用户思维很相似,能比较准确,比较自然地反映现实世界,能为不熟悉计算机的用户所接受,便于设计人员和用户的沟通。E-R图及其基本成份描述企业模式的得力工具是E-R图。在E-R图中有三种基本成份:实体(Entity):表征客观事物;属性(Attributes):表征客观事物及联系的特征(属性);联系(Relations):表征客观事物之间的联系。E-R图表示方法E-R图是数据库概念设计最基本和最重要的图,它主要描述研究对象中的实体、实体的属性和实体之间的关系等,其表示方法如下:矩形框表示实体;椭圆形表示属性;用菱形框表示实体间的联系;属性和实体间、实体和联系间用无向的线段连接。数量供应商供应零件nm项目n在E-R图中概念及术语(1)实体与实体类型实体:可以相互区别客观事物和概念的统一抽象。是任何一种我们所关心的“事物”,可以指人,也可以指物,可以是实际的东西,也可以是抽象的、概念性的东西。例学生、回扣、医疗等。实体分为两级,一级为“个体”,如“张三”、“国防科技大学”等;另一级为“总体”,泛指某一类个体组成的集合,如人泛指“张三”、“李四”等。实体类型:将具有共性的一类实体抽象为实体类型。在E-R图中,实体这种基本成份用方框来表示。(2)实体与联系的属性和域属性:对实体特征的描述;域:属性的取值范围。同一实体类型所有实体都具有相同的属性及相同的对应域,但属性在域上的取值不一定相同。属性用来进一步描述实体与联系在某些方面的特征与性质。比如“职员”这种实体,可以有工作证号,姓名,性别,出生年月,政治面貌,职称…等属性。“零件”这种实体可以有零件号,零件名,单价,型号,生产厂家等属性。在E-R图中,属性用圆圈表示,画在它所描述的实体或联系的旁边,并用短线与之相连。实体是一定具有属性的。在若干个属性中,至少有一个可以标识这个实体的“标识码”。(3)实体之间的联系:实体之间关系的抽象一种实体与其他实体之间,在其自身内部是存在着这样的或那样的联系的。数据库比传统的文件的优越之一就是能够表示实体之间的联系。在E-R图中,“联系”用菱形框来表示。对每一种“联系”都要命名。实体之间的联系,可以分为以下几种不同的情况:1)1:1(一对一联系)A中任意实体至多对应B中的一个实体,反之B中的任意实体至多对应A中的一个实体。观众与座位、乘客与车票、病人与病床、学校与校长、灯泡与灯座。2)1:n(一对多联系)A中至少有一个实体对应B中的多个实体,反之B中的任意实体至多对应A中的一个实体。“部门”(A)是一种实体,“职员”(B)也是一种实体。这两种实体之间存在着一种联系,设这种联系命名为“属于”,即表示某个职员是属于某个部门的。“属于”这个联系是1:N的,具体地说就是:一个部门可以有多个职员,而一个职员只能属于一个部门。在E-R图中,这两种实体间的联系可以表示成如下图。3)M:N的联系,即多对多的联系A中任意实体至少有一个实体对应B中的多个实体,反之B中的任意实体至少有一个实体对应A中的多个实体。“学生”(A)是一种实体,“课程”(B)也是一种实体。这两种实体之间存在一种联系,设这种联系命名为“选课”,表示的是哪一个学生修了哪些门课程。这个联系是M:N的,也就是说,一个学生可以修多门课程,一门课程可以有多个学生来修,但一个学生不一定修所有的课程,一门课程也不一定被全部学生所选修。E-R图的几种基本形式:两个实体之间的联系系主任成绩领导系学生属于系学生选修课程111nnm两个以上实体间的联系数量供应商供应零件nm项目n领导职工1n同一实体集内部各实体之间的联系一般原则即属性必须是不可分的数据项,不能再由另一些属性组成。属性不能与其他实体具有联系。联系只发生在实体之间。符合上述两条特性的事物一般作为属性对待。现实世界中事物能做属性对待的,尽量作属性对待。如何区分实体和属性例2:职称通常作为教师实体的属性,但在涉及工资标准时,由于工资标准与职称有关,也就是说职称与工资标准之间有联系,根据准则2,这时把职称作为实体来处理会更合适些。例1:“学生”由学号、姓名等属性进一步描述,根据准则1,“学生”只能作为实体,不能作为属性。例学生选课管理E-R图选课课程学生教材选用教材编号出版社教材名主编单价课程编号课程名学时数学分课程性质课程成绩出生年月入学时间班级姓名性别学号11nm学生选课管理E-R图思考设计一个图书馆数据库对每个借阅者保存记录:读者号,姓名,地址,性别,年龄,单位对每本书保存记录:书名,作者,出版社对每一本被借出的书保存:读者号、借出日期、应还日期、归还日期用E-R图表示某个工厂物资管理的概念模型实体仓库:仓库号、面积、电话号码零件:零件号、名称、规格、单价、描述供应商:供应商号、姓名、地址、电话号码、帐号项目:项目号、预算、开工日期职工:职工号、姓名、年龄、职称实体之间的联系如下:一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。仓库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量。一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,仓库和职工之间是一对多的联系。职工实体型中具有一对多的联系职工之间具有领导-被领导关系。即仓库主任领导若干保管员。供应商、项目和零件三者之间具有多对多的联系