《数据模型与概念模型.ppt》由会员分享,可在线阅读,更多相关《数据模型与概念模型.ppt(67页珍藏版)》请在三一办公上搜索。
1、第2章 数据模型与概念模型,2.1 信息的三种世界及描述 2.2 概念模型及表示 2.3 常见的数据模型,2.1 信息的三种世界及描述,2.1.1 信息的三种世界及描述 信息的三种世界是指现实世界、信息世界和计算机世界。,95班张三、李四,学生(学号、姓名、性别、成绩),信息的现实世界 信息的现实世界是指我们要管理的客观存在的各种事物、事物之间的相互联系及事物的发生、变化过程。,信息世界 在信息世界中:实体的特征在头脑中形成的知识称为属性;实体通过其属性表示称为实例;同类实例的集合称为对象,对象即实体集中的实体用属性表示得出的信息集合;实体集之间的联系用对象联系表示。,1)实体(Entity)
2、现实世界中存在的可以相互区分的事物或概念称为实体。实体有个体和总体之分。个体如“张三”、李四等。总体泛指个体组成的集合。,2)属性(Attribute)每个实体都有自己的特征,利用实体的特征可以区别不同的实体。,3)码(Key)唯一标识实体的属性集称为码。,4)域(Domain)域是一组具有相同数据类型的数值的集合。,5)实体型(Entity Type)具有相同属性的实体必然具有共同的特征和性质。,6)实体集(Entity Set)同一类型实体的集合称为实体集。,7)实体集及实体集间的联系(Relation)实体(型)内部的联系和实体(型)之间的联系。实体内部的联系是指组成实体的各属性之间的联
3、系;实体之间的联系是指不同实体集之间的联系。,信息的计算机世界,1)数据项(Item):对象属性的数据表示。,学生登记表,2)记录(Record):实例的数据表示。3)文件(File):对象的数据表示,同类记录的集合。4)数据模型(Data Model):现实世界中的事物和相互联系数据化的结果就是数据模型。,信息的三种世界术语的对应关系表,信息的三种世界的转换关系,现实世界事物及联系,信息世界概念(信息)模型,计算机世界数据模型,系统分析,信息化,数据库分析,数据化,2.2 概念模型及表示,2.2.1 概念模型的基本概念概念模型涉及的基本概念实体联系的类型1)两个实体集之间的联系 一对一联系(
4、1:1):设有两个实体集A和B,对于A中的每一个实体,B中至多有一个实体与之联系;反之亦然。,经理,企业,(a)经理与企业一对一关系,一对多联系(1:N):设有两个实体集A和B,对于A的每一个实体,B中有一个或多个实体与之联系;而对于B的每一个实体,A中至多有一个实体与之联系。,(b)仓库与产品一对多关系,仓库,产品,多对多联系(M:N):设有两个实体集A和B,对于A的每一个实体,B中有一个或多个实体与之联系;反之亦然。,(c)学生与课程多对多关系,M,N,2)多实体集之间的多对多联系 多实体集之间的一对多联系 多实体集之间的多对多联系 实体集内部的联系,入库,订货,验收,购进,付款,1,N,
5、N,L,1,N,M,N,M,N,实体 属性 联系 联系方式供方单位 单位号 单位名 地址 联系人 邮编 入库 1:N物资 物资代码 名称 规格 备注 验收 1:N库存 入库号 日期 货位 数量 购进 多对多合同 合同号 数量 金额 备注 付款 多对多结算 结算编号 用途 金额 经手人 订货 M:N:L,图2.5 某企业物资入库管理E-R图,包含实体集“图书”和“作者”的ER图,实例1,如何建立E-R模型呢?,第一步,建立局部的E-R模型图先分析模型中涉及到的实体再分析实体与实体间的联系,并标注出联系的类型分析实体及其联系的属性第二步,综合局部的E-R模型图,建立总的E-R模型图先将具有相同实体
6、的两个E-R图,以该相同实体为基准进行集成;若还有相同实体的E-R图,则再次集成;若还有相同实体的E-R图,则再次集成;这样一直继续下去,直到所有相同实体的局部E-R图都被集成,便可得到全局E-R图,举例1:分析学生和课程之间的E-R模型第一步,先找到模型中的实体,学生,课程,第二步,实体与实体之间的联系,第三步,分析实体以及联系的属性学生(学号、姓名、系别、年级)课程(课程号、课程名、先修课、主讲教师)选修(成绩),第四步,完整的E-R模型如下:,学生,n,m,课程,年级,课程名,先修课,主讲老师,课程号,学生-课程的E-R模型图,举例2:工厂管理系统的E-R模型设计 这是一个工厂管理系统:
7、考虑一个机械制造厂的工厂技术部门和工厂供应部门。技术部门关心的是产品性能参数、产品由哪些零件组成、零件的材料和耗用量等;工厂供应部门关心的是产品的价格、使用材料的价格和库存量等。首先画出技术部门和供应部门的E-R模型图,再画出系统总的E-R模型图。,技术部门的分E-R图,m,n,m,n,材料,产品,供应部门的分E-R图,M,N,M,N,材料,产品,课后思考题:,某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有
8、产品编号、产品名、规格,职工的属性有职工号、姓名。根据上述语义画出E-R图,在E-R图中需注明实体的属性、联系的类型。,如何将E-R模型转换成数据模型呢?,关系模式的转换规则 如果两实体间是1:N联系,就将“1”方的关键字纳入“N”方实体对应的关系中作为外部关键字,同时把联系的属性也一并纳入“N”方的关系中。如下图所示,E-R图对应的关系数据模型为:仓库(仓库号,地点,面积)产品(货号,品名,规格,单价,仓库号,库存量),仓库,产品,库存,仓库号,地点,面积,货号,名称,规格,库存量,单价,1,N,如果两实体间是M:N联系,需对联系单独建立一个关系,用来联系双方实体,该关系的属性中至少要包括被
9、它所联系的双方实体的关键字,如果联系有属性,也要归入这个关系中。下图表示“学生”与“课程”两实体间是M:N联系,根据上述转变原则,对应的关系数据模型如下:学生(学号,姓名,性别,助学金)课程(课程号,课程名,学时数)选修(学号,课程号,成绩),学生,课程,选修,学号,姓名,性别,课程号,课程名,学时数,成绩,M,N,助学金,课后思考题1:,某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格
10、,职工的属性有职工号、姓名。根据上述语义画出ER图,在ER图中需注明实体的属性、联系的类型。,课后思考题2:,2.3 常见的数据模型,数据库系统中最常使用的数据模型是层次模型、网状模型和关系模型。,2.3.1 数据模型概述数据模型的三要素1)数据结构:所研究的对象类型的集合。包括与数据类型、内容、性质有关的对象;与数据之间联系有关的对象。2)数据操作:对数据库中各种数据对象允许执行的操作集合。包括操作对象和有关的操作规则两部分。3)数据约束条件:一组数据完整性规则的集合,2.3.2 层次数据模型层次模型的数据结构 1)层次模型的定义 满足下面两个条件的基本层次联系的集合为层次模型。有且只有一个
11、结点没有双亲结点,这个结点称为根结点根以外的其它结点有且只有一个双亲结点,1,根结点,2,兄弟结点,3,叶结点,4,兄弟结点,5,叶结点,叶结点,2)层次模型的表示方法实体型:用记录类型描述。每个结点表示一个记录类型。属性:用字段描述。每个记录类型可包含若干个字段。联系:用结点之间的连线表示记录(类)型之间的一对多的联系,3)层次数据模型的特点结点的双亲是唯一的只能直接处理一对多的实体联系每个记录类型定义一个排序字段,也称为码字段任何记录值只有按其路径查看时,才能显出它的全部意义没有一个子女记录值能够脱离双亲记录值而独立存在,例如:29页图2-9所示,层次数据模型中多对多联系的表示方法将多对多
12、联系分解成一对多联系分解方法冗余结点法虚拟结点法,例如:,学号,姓名,年龄,课程号,课程名,学分,选课,M,N,用冗余结点法表示多对多联系,学号,姓名,年龄,课程号,课程名,学分,学号,姓名,年龄,课程号,课程名,学分,用虚拟结点法表示多对多联系,学号,姓名,年龄,课程号,课程名,学分,V.课程,V.学生,层次数据模型的数据操作和完整性约束条件 层次数据模型的数据操作主要是数据的查询、插入、删除和修改。层次数据模型的完整性约束条件如下:无相应的双亲结点值就不能插入子女结点值如果删除双亲结点值,则相应的子女结点值也被同时删除更新操作时,应更新所有相应记录,以保证数据的一致性,层次数据模型的存储结
13、构 1)邻接法 按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序 2)链接法 用指引元来反映数据之间的层次联系,优点层次数据模型简单,对具有一对多的层次关系的部门描述自然、直观,容易理解性能优于关系模型,不低于网状模型层次数据模型提供了良好的完整性支持缺点多对多联系表示不自然对插入和删除操作的限制多查询子女结点必须通过双亲结点层次命令趋于程序化,2.3.3 网状数据模型网状模型的数据结构1)网状模型结构的基本特征 有一个以上的结点没有双亲;结点可以有多于一个的双亲。2)网状模型的数据表示方法使用记录和记录值表示实体集和实体;每个结点表示一个记录,每个记录
14、包含若干个字段。联系(系)用结点间的有向线段表示。每个有向线段表示一个记录间的一对多的联系。,L1 L2 L1 L2 L1 L2 L3,有两个根结点有一个结点有两个双亲,结点之间的联系有两种,2.3.4 关系数据模型关系模型的数据结构(1)关系模型中的主要术语 1)关系。一个关系对应通常所说的一张二维表。2)元组。表中的一行称为一个元组。3)属性。表中的一列称为一个属性。4)主码。表中的某个属性或属性组,可以惟一地确定一个元组,且属性组中不含多余的属性。5)域。属性的取值范围称为域。6)分量。元组中的一个属性值称为分量。7)关系模式。关系的型称为关系模式,是对关系的描述。(2)关系模型中的数据
15、全部用关系表示,2.3.5 对象关系数据模型 对象关系数据模型使用二维表表示数据,它包括关系表和对象表两种。关系表属于关系模型,关系的属性对应于表的列,关系的元组对应于表的行,关系模型装不支持方法。对象表属于面向对象数据模型,支持面向对象的基本功能,对象的类抽象对应二维表,类的实例(对象)对应于表中的行,类的属性对应于表的列,通过对象可调用方法。,对象表的数据类型和表结构特点(1)对象表的属性支持复合数据类型 关系表强调属性数据只能是不可分割的简单数据项,复合数据是不允许出现的。对象表的数据可以是基本项,也可以是组合数据项。,学生信息的对象表结构,(2)对象表的属性支持可变长数组类型 关系表的
16、属性不支持数组类型,更不支持可变长的数组类型。对于一些数据个数不确定的信息,关系表只能独立新建表的方法解决。对象表增加了数组类型,用户可以使用可变长的数组类型保存记录中数据个数不一样的属性数据。,学生-选课的对象表,(3)对象表的属性支持嵌入表数据类型 对象表中的属性,不仅可以是复合数据、数组数据等带结构的数据,还可以是嵌套表,信息结构更复杂、更丰富。嵌套表有行和列,表的长短与具体元组有关。,课程号课程名 成绩C20数据库 72C11C语言 87C32软件工程 76,课程号课程名 成绩C20数据库 86C32软件工程 75,课程号课程名成绩C20数据库 67,习题:,在学生运动会管理系统中,假定一个班级有多名运动员,每个运动员可参加多项比赛,每个项目可有多名运动员参加。要求公布比赛成绩和名次。假定各实体属性为:班级:班号,班级名,专业,人数 运动员:运动员号,姓名,性别,年龄 项目:项目号,项目名称,比赛地点 要求:设计E-R模型,