资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,数据库系统原理及应用,机械工业出版社,第2章 数据模型与概念模型,2.1 信息的三种世界及其描述,2.2 概念模型及其表示,2.2.1,概念模型的基本概念,2.2.2 概念模型的表示方法,2.3 常见的数据模型,2.3.1 数据模型概述,2.3.2 层次数据模型,2.3.3 网状数据模型,2.3.4 关系数据模型,2.3.6 对象关系数据模型,2.1 信息的三种世界及描述,信息的三种世界:,现实世界,信息世界(概念模型),计算机世界(数据世界),(数据模型),现实世界,信息世界(概念模型),计算机世界(数据模型),认识抽象,转换,数据模型概述,数据模型的种类很多,目前被广泛使用的数据模型分为两类:,一类是独立于计算机系统的数据模型,完全不涉及信息在计算机中的表示,这类模型称为,概念数据模型,,简称,概念模型,。概念模型是一种面向客观世界,面向用户的模型,主要用于数据库设计。例如E-R模型属于概念模型;,另一类是直接面向数据库的逻辑结构,称为,逻辑数据模型,,又称为结构数据模型。它是一种与数据库管理系统相关的模型,主要用于DBMS的实现,如层次模型、网状模型、关系模型、面向对象模型均属这类数据模型。,数据模型概述,逻辑数据模型我们常常简称数据模型,它有严格的定义。,数据库专家E.F.Codd认为:一个基本数据模型是一组向用户提供的规则,这些规则规定数据结构如何组织以及允许进行何种操作。通常,一个数据库的数据模型应包含,数据结构,、,数据操作,和,数据完整性约束,三个部分。,2.1 信息的三种世界及其描述,1.信息的现实世界,要管理的客观存在的各种事物、事务之间的相互联系及事物的发生、变化过程。,(1)实体(Entity),现实世界中存在的可以相互区分的事物或概念。,(2)实体的特征(Entity Characteristic),每个实体都有自己的特征,利用实体的特征可以区别不同的实体。,(3)实体集及实体集间的联系(Relation),具有相同特征或能用同样特征描述的实体的集合。,2.信息世界,现实世界中的实体,通过人们的感觉器官反映到头脑中,形成信息,组成信息世界。简单的说就是现实世界在人们头脑中的反映。,在信息世界中:实体的特征在头脑中形成的知识称为,属性,;实体通过其属性表示称为,实例,;同类实例的集合称为,对象,,对象即实体集中的实体用属性表示得出的信息集合;实体集之间的联系用对象联系表示。,信息世界通过概念模型、过程模型和状态模型反映现实世界,它要求对现实世界中的事物、事物间的联系和事物的变化情况准确、如实、全面地表示。,3.信息的计算机世界,1)数据项(Item):,对象属性的数据表示。,2)记录(Record):,实例的数据表示。记录有型和值之分:记录的型是结构,由数据项的型构成;记录的值表示对象中的一个实例,它的分量是数据项值。,3)文件(File):,对象的数据表示,同类记录的集合。,4)数据模型(Data Model):,现实世界中的事物和相互联系数据化的结果就是数据模型。,4.现实世界、信息世界和计算机世界的关系,信息的三种世界术语的对应关系表,现实世界,信息世界,计算机世界,实体集,对象或实体型,数据或文件,(表),实体,实例,记录,特征,属性,数据项(字段),实体标识符,标识属性,关键码,实体间的联系,对象间的联系,数据间的联系,概念模型,数据模型,现实世界、信息世界和计算机世界的关系,信息的三个世界的联系和转换过程,现实世界,系统分析,信息世界,数据库设计,计算机世界,事物及联系,信息化,信息模型,数据化,数据模型,2.2,概念模型及其表示,2.2.1 概念模型的基本概念,1.概念模型涉及的基本概念,(1)对象(Object)和实例(Instance),现实世界中具有相同性质、服从相同规则的一类事物(概念)的抽象称为对象。对象中的每一个具体的事物(实体)为该对象的实例。,(2)属性(Attribute),属性为实体的某一方面特征的抽象表示。,(3)主码(,Primary,Key)和次码(Secondary Key),码能够惟一标识一个实体;不能惟一标识实体的属性叫次码。,(4)域(Domain),属性的取值范围称为属性的域。,概念模型是对信息世界的管理对象、属性及联系等信息的描述形式。概念模型不依赖计算机及DBMS,它是现实世界的真实全面反映。,2.实体联系的类型,(1)两个实体集之间的联系,1)一对一联系(1:1),:设有两个实体集A和B,对于A中的每一个实体,B中至多有一个实体与之联系;反之亦然。,2)一对多联系(1:n),:设有两个实体集A和B,对于A的每一个实体,B中有一个或多个实体与之联系;而对于B的每一个实体,A中至多有一个实体与之联系。,3)多对多联系(m:n),:设有两个实体集A和B,对于A的每一个实体,B中有一个或多个实体与之联系;反之亦然。,两个实体集之间的联系,工厂,负责,厂长,1,1,学校,工作,教师,1,n,职工,参加,体育团体,m,n,两个实体集联系的例子,实体(集)间的联系,学校,校长,学校,学生,教师,学生,(2)多实体集之间的联系,1)多实体集之间的一对多联系。,设实体集E,1,E,n,,对于实体集E,j,(j=1,n)中的一个给定实体,最多只和其他实体集E,i,(i,j)中的一个实体相联系,则称E,j,与E,1,E,n,之间的联系是一对多的。,2)多实体集之间的多对多联系。,在两个以上的多个实体集之间,当一个实体集与其他实体集之间均存在多对多联系,而其他实体集之间没有联系时,这种联系称为多实体集间的多对多联系。,课程,讲授,教师,参考书,1,n,m,供应商,供应,项目,零件,m,p,n,3E-R 图,3E-R 图(Entity-Relationship Approach),关于概念模型的表示方法有很多,最著名的是实体-联系方法,简称E-R图。E-R图具有以下优点:能非常自然的描述现实世界;图形结构简单;设计者和用户易理解,并且可以互相交流;它是数据库设计的中间步骤,易于向数据模型转换。,(1)E-R图的图形符号,方 框:表示一实体集,在框内写上实体集的名字。,3E-R 图,菱形框:表示联系,菱形框内标明联系名,与其相关的实体集之间用线段连接,且在连线边上标明联系类型。,椭圆框:表示属性,在框内写上属性的名字,并用无向边连向与其相关的实体集或联系。,在E-R图中,有时为了突出各实体集之间的联系,可以先画出实体集及其属性,然后再重点画出实体之间的联系。如图下图所示:,3E-R 图,学校,负责,校长,教师,聘任,院系,学生,教学,教师,3E-R 图,(2)绘制E-R图的步骤,第一步:通过对现实世界的分析、抽象,找出实体集及其属性;,第二步:找出实体集之间的联系;,第三步:找出实体集联系的属性,第四步:绘制E-R图。绘制E-R图一般先绘制局部E-R图,然后绘制全局E-R图,详细见数据库设计。,3E-R 图,例如:我们以教学情况为例,进行E-R图设计。,第一步:首先找出相关实体集,:,学生(S)教师(T)课程(C)院系(D),每个实体的属性分别为:,S:学号,学生姓名,出生日期,专业,班级,T:编号,教师姓名,职称,所在教研室,C:课程号,课程名称,学时,考核方式,D:院系代号,院系名称,3E-R 图,第二步:找出实体集之间的联系,S与C之间有联系,且为m:n,因为一个学生可以学习多门课程,反过来一门课程可以被多个学生学习。,T与C之间有联系,且为m:n,因为一个教师可以讲授多门课程,反过来一门课程可以被多个教师讲授。,D与S之间有联系,且为1:n,因为一个院系可以有多个学生,但是一个学生只属于一个院系。,D与T之间有联系,且为1:n,因为一个院系可以有多个教师,但是一个教师只属于一个院系。,3E-R 图,第三步:找出实体集之间联系的属性,S与C之间联系的结果用成绩表示。,T与C之间联系以讲授哪一个班级来表示。,第四步:绘制E-R图,当E-R图比较复杂时,为了使E-R图简洁,可以使属性不在E-R图中出现,即单独画出每一个实体及实体属性,在E-R图中仅画出实体集和它们之间的联系,在E-R图中每一个实体只允许出现一次,如图所示。,3E-R 图,3E-R 图,教师,编制,院系,授课,课程,学习,学生,成绩,SD,授课班级,m:,1,m:,n,m:,n,1:,m,课堂作业,设物质管理数据库中有两个实体集,一是“仓库”实体集,具有仓库号、地址、电话等属性;另一个“零件”实体集,具有零件号、零件名称、规格、单价等。如果规定:一种零件可以存放在多个仓库中;一个仓库可以存放多种零件,存放在仓库中的零件有日期、库存量等属性。,试画出E-R图。,2.3,常见的数据模型,2.3.1 数据模型概述,1.数据模型的三要素,1)数据结构:所研究的对象类型的集合。包括与数据类型、内容、性质有关的对象;与数据之间联系有关的对象。,2)数据操作:对数据库中各种数据对象允许执行的操作集合。包括操作对象和有关的操作规则两部分。,3)数据约束条件:一组数据完整性规则的集合。,2.常见的数据模型,层次模型、网状模型和关系模型。,在非关系模型中,实体集用记录表示,实体的属性对应记录的数据项(或字段)。实体集之间的联系转换成两两记录之间的联系。非关系模型中数据结构的单位是基本层次联系。,R,i,R,j,L,ij,2.3.2 层次数据模型,1.,层次模型的数据结构,(1),层次模型的定义,1)有且仅有一个结点没有双亲结点,这个结点称为根结点。2)除根结点之外的其他结点有且只有一个双亲结点。,(2)层次模型的数据表示方法,实体集使用记录表示;记录型包含若干个字段;记录值表示实体;记录之间的联系使用基本层次联系表示,。,(3)层次模型的特点,层次模型像一棵倒立的树,只有一个根结点,有若干个叶结点,结点的双亲是惟一的。,院系编号,院系名称,办公地点,教研室编号,教研室,学号,姓名,年龄,专业方向,职工号,姓名,教学院系数据模型,院系,教研室,学生,教师,D10,计算机系,9号楼,C01,硬件教研室,C02,软件教研室,00001,王平,20,00002,李丽,20,电器,92001,王海,自动化,92002,张铮,数据库,92003,许明,人工智能,92004,陈真,教学院系数据库的一个实例,2.层次模型的完整性约束条件,在进行插入记录值操作时,如果没有指明相应的双亲记录值(首记录值),则不能插入子女记录值(属记录值)。,(2),进行删除记录操作时,如果删除双亲记录值(首记录值),则相应的子女结点值(属记录值)也同时被删除。,(3),进行修改记录操作时,应修改所有相应记录,以保证数据的一致性。,2.3.3 网状数据模型,1.,网状模型的数据结构,(1),网状模型结构的基本特征,1)有一个以上的结点没有双亲。2)结点可以有多于一个的双亲。,(2)网状模型的数据表示方法,1)使用记录和记录值表示实体集和实体;每个结点表示一个记录,每个记录包含若干个字段。,2)联系(系)用结点间的有向线段表示。每个有向线段表示一个记录间的一对多的联系。,R1,R2,R1,R2,R3,R4,R1,R3,R2,L1 L2 L1 L2 L1 L2 L3,2.网状模型的完整性约束条件,支持记录码的概念。码即惟一标识记录的数据项的集合。,2),保证一个联系中双亲记录和子女记录之间是一对多的联系。,3),可以支持双亲记录和子女记录之间某些约束条件。,2.3.4 关系数据模型,1.,关系模型的数据结构,(1)关系模型中的主要术语,1),关系。一个关系对应通常所说的一张二维表。,2),元组。表中的一行称为一个元组。,3),属性。表中的一列称为一个属性。,4),主码。表中的某个属性或属性组,值可以惟一地确定一个元组,且属性组中不含多余的属性。,5),域。属性的取值范围称为域。,6),分量。元组中的一个属性值称为分量。,7),关系模式。关系的型称为关系模式,是对关
展开阅读全文