




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据模型与概念模型,1,第2章 数据模型与概念模型,2.1 概念模型及其表示 2.1.1 信息的三种世界及其描述 2.1.2 概念模型的基本概念 2.1.3 概念模型的表示方法 2.2 常见的数据模型 2.2.1 数据模型概述 2.2.2 层次模型 2.2.3 网状模型 2.2.4 关系模型 2.2.5 面向对象数据模型 2.2.6 对象关系数据模型,数据模型与概念模型,2,2.1 概念模型,数据库系统最基本任务: 收集现实世界中存在的信息 组织存储到计算机 提供给用户使用。,数据模型与概念模型,3,2.1.1 信息的三种世界及其描述,信息的三种世界: 指将客观世界中存在的信息转换为计算机所能
2、接受的数据形式所经历的三个阶段,分别是: 现实世界 信息世界 计算机世界 不同阶段信息的存在形态或描述形式不同,数据模型与概念模型,4,1. 信息的现实世界 概念: 现实世界是指客观世界,信息的现实世界是指客观存在的各种事物、事物之间的相互联系及事物的发生、变化过程。 现实世界中我们的主要工作: 认识、了解信息的客观世界,最主要是:客观存在的各种事物、概念 、事物或概念之间的相互联系,数据模型与概念模型,5,一般从下面几个方面来认识: (1)实体(Entity) 现实世界中存在的可以相互区分的事物或概念称为实体。 如某个学生(张三)、某门课程(数据库原理)等,分为事物实体和概念实体。,数据模型
3、与概念模型,6,(2) 实体的特征 每个实体都有自己的诸多特征。 学生的特征:学号、姓名、性别、年龄、所在院系、身高、体重等。 课程的特征:课程号、课程名、学分、先导课等。 每个实体都是通过这些特征来描述的,利用实体的特征可以区别不同的实体。 张三:1001,张三,男,18,计算机,1.7,62, 数据库原理:KC05,数据库原理,3.5,KC02, 但一般只选取我们所关心的特征。,数据模型与概念模型,7,(3) 实体集及实体集间的联系 具有相同类型特征或能用同样特征描述的实体的集合称为实体集。 如学生、教师、课程等。 不同的实体集,它们的特征类型是不完全相同的。 实体集间一般有一定的联系,如
4、:学生与课程门有“选课”联系,教师与课程门有“讲授”联系,认识信息的现实世界,不仅要认识现实世界中的实体,特征、实体集,同样要认识实体集门的联系。,数据模型与概念模型,8,2. 信息世界 通过对现实世界中事物及联系的认识,经过选择、命名、分类等分析后形成印象和概念,并用一定形式加以抽象描述,就进入信息世界。 如: 张三、李四是学生,分为一类,构成学生实体集,选择部分特征并命名,描述为: 学生(学号、姓名、性别、年龄、所在院系) 数据库原理、数据结构是课程,分为一类,构成课程实体集,选择部分特征并命名,描述为: 课程(课程号、课程名、学分),数据模型与概念模型,9,在信息世界中: 实体的特征在头
5、脑中形成知识称为属性 如:(1001,张三,男, 18, 计算机)分别对应属性为: (学号、姓名、性别、年龄、所在院系) 实体通过其属性表示称为实例 如: (1001,张三,男, 18, 计算机)和 (KC05,数据库原理,3.5)都是实例 实例只含实体的部分特征; 实体与实例不同,如“张三”是实体, (1001,张三,男, 18, 计算机)是实例 同类实例的集合称为对象; 实体集之间的联系用对象联系表示,上例对象联系表示为,学生与课程对象间“选课“联系。,数据模型与概念模型,10,信息世界通过概念模型、过程模型和状态模型反映现实世界,它要求对现实世界中的事物、事物间的联系和事物的变化情况准确
6、、如实、全面地表示。 概念模型:是通过对象、属性和联系对现实世界和事物及联系给出静态的描述,而概念模型一般用ER图(Entity-Relationship Approach)来表示。 数据库是根据概念模型经过进一步转换来设计的。 过程模型和状态模型:着重描述对事物的变化,是软件设计的基础,反应了软件的基本功能,但对数据库的设计有重要参考作用。,数据模型与概念模型,11,学生课程的概念模型(ER图),数据模型与概念模型,12,3. 信息的计算机世界 计算机中对信息的表示和处理与计算机软硬件有关,概念模型是对现实世界信息的一种抽象描述,这种形式描述的数据不便于直接在计算机上实现,必须经过数字化处理
7、,转换成适合特定计算机系统(主要是DBMS)的形式描述,形成计算机能够表示和处理的数据,这时就进入了信息的计算机世界,或机器世界、数据世界。,数据模型与概念模型,13,学生(学号,姓名,性别,年龄,所在院系) 课程(课程号,课程名,学分) 选课(学号,课程号,成绩),下面就是一个学生课程系统:,概念模型,数据模型(逻辑模式),数据模型与概念模型,14,学生,选课,课程,数据模型与概念模型,15,在计算机世界中,信息世界的属性、实例、对象描述为: 数据项(Item):是对象属性的数据表示。数据项有型和值之分,型是通过名称、数据类型、宽度和值域等来描述。 如数据项学分: 型:名称学分,数据类型实型
8、,宽度3,值域0,10 值:三门课程学分数据项的值分别是:3.5 、3.5 、 3.0,数据模型与概念模型,16,(2) 记录(Record):是实例的数据表示。记录有型和值之分: 记录的型是结构,由数据项的型构成; 如学生信息中记录的型是学号,姓名,性别,年龄,所在院系5个数据项组成 记录的值表示对象中的一个实例,它的分量是数据项值。 如: (1001,张三,男, 18, 计算机) 是一条记录的具体值,由学号,姓名,性别,年龄,所在院系等各数据项的值组成。,数据模型与概念模型,17,(3) 文件(File):对象的数据表示,是同类记录的集合。同类对象的记录放在同一文件中。 如学生对象中的所有
9、记录组成一个数据文件,这个文件中各条记录的类型一样。,在现在的多数数据库管理系统,一个物理文件往往可包含多记录集合。,数据模型与概念模型,18,4、数据模型: 现实世界的事物反映到计算机世界中就形成了文件的记录结构和记录,事物间的联系形成不同文件间的记录联系,记录结构及其记录联系的数据化结果就是数据模型(主要内容)。 在计算机世界里,信息是通过数据模型来描述的 数据模型是不仅要描述现实世界中事物和事物间联系,还要反映数据在计算机中组织的形式。 数据库是基于某种数据模型而建立的,它是数据库系统的核心: 数据模型选择依赖于具体的计算机系统,特别DBMS,数据模型与概念模型,19,5. 现实世界、信
10、息世界和计算机世界的关系信息的三种世界术语的对应关系表,数据模型与概念模型,20,现实世界、信息世界和计算机世界的关系 信息的三个世界的联系和转换过程,数据模型与概念模型,21,2.1.2 概念模型及其表示,模型:对现实世界的抽象和模拟(概念模型、数据模型)。 概念模型:是对信息世界管理的对象、属性及联系等信息的描述形式。 概念模型不依赖计算机及DBMS,它是现实世界的真实、全面反映。,数据模型与概念模型,22,2.1.2 概念模型及其表示,一、 概念模型的基本概念1. 概念模型涉及的基本概念(1) 对象(Object)和实例(Instance) 对象: 是实体集的抽象,现实世界中具有相同性质
11、、服从相同规则的一类事物(概念)的抽象称为对象。 实例:是实体的抽象,对象中的每一个具体的事物(实体)为该对象的实例。 有些地方也直接用实体集和实体来表示对象和实例 (2) 属性(Attribute) 属性为实体的某一方面特征的抽象表示。,数据模型与概念模型,23,(3) 码、主码(Primary Key)和次码(Secondary Key) 码能够惟一标识一个实体的属性或属性组,码又称关键字,如: 学生:学号,姓名,性别,年龄,所在院系 课程:课程号,课程名,学分 码可以不唯一。可选取其中一个为主码,其余码称为候选码。 码可以是属性或属性组,若是属性组,则不能含多余(最小性)的属性。 不能惟
12、一标识实体的属性叫次码。如班级、成绩。 (4) 域(Domain) 属性的取值范围称为属性的域。,数据模型与概念模型,24,2. 实体联系的类型 (1)两个实体集之间的联系 一对一联系(1:1):设有两个实体集A和B,对于A中的每一个实体, B中至多有一个实体与之联系;反之亦然。 一对多联系(1:n):设有两个实体集A和B,对于A的每一个实体,B中有一个或多个实体与之联系;而对于B的每一个实体,A中至多有一个实体与之联系。 多对多联系(m:n):设有两个实体集A和B,对于A的每一个实体,B中有一个或多个实体与之联系;反之亦然。 一对一的联系是一对多联系的特例,一对多的联系是多对多联系的特例,数
13、据模型与概念模型,25,(2) 多实体集之间的联系 1) 多实体集之间的一对多联系。 设实体集E1,En,对于实体集Ej(j=1, n)中的一个给定实体, Ej中的一个实体与其它实体集中一个或多个实体联系,而其他实体集Ei(ij)中的一个实体只与Ej中一个实体联系,则称Ej与E1,En之间的联系是一对多的。,数据模型与概念模型,26,2) 多实体集之间的多对多联系。 在两个以上的多个实体集之间,当一个实体集与其他实体集之间均存在多对多联系,而其他实体集之间没有联系时,这种联系称为多实体集间的多对多联系。,多个实体集之间多对多联系不能简单表示为多个两实体集多对多关系,数据模型与概念模型,27,(
14、3) 实体集内部的联系 一个实体集内部实体间存在一对一,一对多,或多对多的联系,如领导者与职工间的联系。,数据模型与概念模型,28,二、 概念模型的表示方法(Entity- Relationship),1) 用长方形表示实体集,长方形内写明实体集名。 2) 用椭圆形表示实体集的属性,并用线段将其与相应的实体集连接起来。 3) 用菱形表示实体集间的联系,菱形内写上联系名,用线段分别与有关实体集连接起来,在线段旁标出联系的类型。如果联系具有属性,则该属性仍用椭圆框表示,仍需要用线段将属性与其联系连接起来。 注:在实际问题中,实体集的属性一般很多,往往不直接标出,而用数据字典方式表示,数据模型与概念
15、模型,29,案例一:学生运动会成绩统计 任务:要求统计班级和运动员的成绩 分析: 一、实体集及属性 (1)实体集:班级、运动员、项目 (2)班级属性:班级号、班级名、专业、人数 (3)运动员属性:运动员号,姓名,性别,年龄 (4) 比赛项目属性:项目号,名称,比赛地点 二、联系 (5)每个班级有若干运动员,运动员只能属于一个班, (6)每名运动员可参加多项比赛,每个项目可有多人参加 (7)要求能够公布每个比赛项目的运动员成绩,数据模型与概念模型,30,概念模型(E-R图):,数据模型与概念模型,31,思考题:某公司的业务活动统计 。 任务:要求统计公司各部门承担的工程项目及职工参与工程项目情况
16、。 分析: 一、实体集及属性: 实体集有:部门、职工、工程项目。 部门有部门号、部门名称两个属性; 职工有职工号、姓名、性别属性; 工程项目有工程号、工程名两个属性; 二、联系 每个部门承担多个工程项目,每个工程项目属于一个部门。 每个部门有多名职工,每一名职工只能属于一个部门。 每个职工可参与多个工程项目,且每个工程项目有多名职工参与。 职工参与项目有参与时间。,数据模型与概念模型,32,问题: 根据上述规则设计E-R模型。,数据模型与概念模型,33,数据模型与概念模型,34,2.2 常见的数据模型 2.2.1 数据模型概述 1. 数据模型的概念: 数据模型是一组严格定义的概念集合,它是从计
17、算机系统的观点出发,对系统的数据结构、数据操作和完整性约束条件等进行精确的描述。,数据模型与概念模型,35,2.2.1 数据模型概述2. 数据模型的三要素 数据模型具有数据结构、数据操作、完整性约束条件这三个要素。认识一种数据模型从三个方面进行: 1) 数据结构:主要包括两个方面内容:一是记录结构、数据项(数据类型、内容、性质等 ,反映实体) ;二是数据之间联系(反映实体间联系)。 数据结构是对系统静态特性的描述 数据结构是基础,是核心 通常按照数据结构的类型来命名数据模型类型,数据模型与概念模型,36,学生(学号,姓名,性别,年龄,所在院系) 课程(课程号,课程名,学分) 选课(学号,课程号
18、,成绩),如:,概念模型,数据模型(数据结构主要内容),数据模型与概念模型,37,学生,选课,课程,数据模型与概念模型,38,2) 数据操作: 对数据库中各种数据对象允许执行的操作集合,主要是检索和更新操作。 数据模型对操作的定义包括:操作的确切含义、操作符号、操作对象、操作规则(如优先级)、实现操作的语言等。 数据操作是对系统动态特性的描述。 操作类型和规则与数据结构有关。,数据模型与概念模型,39,3) 数据约束条件: 一组数据完整性规则的集合。完整性规则是指数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。 任何一
19、种数据模型都有基本的完整性约束条件,例如关系模型中的实体完整性和参照完整性,它是本数据模型必须遵守的基本的通用的完整性约束条件。另外还规定特殊的完整性约束条件,以满足具体应用的要求,如关系模型中的用户自定义完整性。,数据模型与概念模型,40,层次模型、网状模型称为非关系模型,在20世纪70年代至80年代初非常流行,后逐渐被关系模型数据库系统代替。,3. 常见的数据模型数据模型有:层次模型、网状模型和关系模型。,非关系模型中数据结构的单位是基本层次联系。所谓基本层次联系是指两个记录及它们之间的一对多(含一对一)联系。 当前主要使用的关系模型,这里只对非关系简单介绍。,数据模型与概念模型,41,2
20、.2.2 层次模型及特点 最早出现的数据模型,用结构来描述。 1. 层次模型的数据结构,数据模型与概念模型,42,教学院系数据模型,院系,教研室,学生,教师,数据模型与概念模型,43,层次模型的定义 1) 有且仅有一个结点没有双亲结点,这个结点称为根结点。 2) 除根结点之外的其他结点有且只有一个双亲结点。 层次模型的数据表示方法 实体集使用记录(型)表示;记录型包含若干个字段;记录值表示实体;记录之间的联系使用基本层次联系表示 层次模型的特点 层次模型像一棵倒立的树,只有一个根结点,有若干个叶结点,结点的双亲是惟一的。任何记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够
21、脱离双亲记录值而独立存在。,数据模型与概念模型,44,教学院系数据模型,院系,教研室,学生,教师,教学院系数据库的一个实例,数据模型与概念模型,45,2.多对多联系在层次模型中的表示 在层次模型中不能直接表示多对多的联系,需将一个多对多联系分解成多个一对多联系 分解方法: 冗余结点法 虚拟结点法 3. 层次模型的完整性约束条件 层次模型中数据操作主要有查询和更新(插入、删除、修改),它们必须满足下面条件: (1)在进行插入记录值操作时,如果没有指明相应的双亲记录值(首记录值),则不能插入子女记录值(属记录值)。 (2) 进行删除记录操作时,如果删除双亲记录值(首记录值),则相应的子女结点值(属
22、记录值)也同时被删除。 (3) 进行修改记录操作时,应修改所有相应记录,以保证数据的一致性。如有冗余数据时,要同时修改,否则造成数据不一致。,数据模型与概念模型,46,4.层次数据模型的存储结构 邻接法 按照层次树前序遍历的顺序把所有记录值依次邻接存 放,即通过物理空间的位置相邻来实现层次顺序 链接法 用指引元来反映数据之间的层次联系 子女兄弟链接法 层次序列链接法 (前序序列链接) 典型的层次数据库系统是IBM公司的IMS数据库管理系统,数据模型与概念模型,47,5.层次模型的缺点 优点 层次数据模型简单,对具有一对多的层次关系的部门描述自然、直观,容易理解 性能优于关系模型,不低于网状模型
23、 层次数据模型提供了良好的完整性支持 缺点 多对多联系表示不自然 对插入和删除操作的限制多 查询子女结点必须通过双亲结点 层次命令趋于程序化,数据模型与概念模型,48,2.2.3 网状模型及特点 1.网状模型的数据结构 (1) 网状模型结构的基本特征1) 有一个以上的结点没有双亲。2) 结点可以有多于一个的双亲。 (2) 网状模型的数据表示方法 1) 使用记录(型)和记录值表示实体集和实体;每个结点表示一个记录型,每个记录型包含若干个字段。 2) 联系(系)用结点间的有向线段表示。每个有向线段表示一个记录间的一对多的联系。,数据模型与概念模型,49,2. 网状模型的完整性约束条件 网状模型记录
24、间的联系比较复杂,完整性约束没有层次模型那样严格,DBTG提出的基本要求: 1)支持记录码的概念。码即惟一标识记录的数据项的集合。 2) 保证一个联系中双亲记录和子女记录之间是一对多的联系。 3) 可以支持双亲记录和子女记录之间某些约束条件。如插入和删除时有类似于层次模型的约束条件。,数据模型与概念模型,50,3.网状模型的优缺点 优点 能够更为直接地描述现实世界,如一个结点可以有多个双亲 具有良好的性能,存取效率较高(与关系模型比较) 缺点 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握 DDL、DML语言复杂,用户不容易使用,数据模型与概念模型,51
25、,2.2.4 关系模型概述 1. 关系模型的数据结构 关系模型是三种模式中最重要的一种,当前几乎所有的数据库管理系统都支持关系模型,是当前数据库领域研究的重点。 (1) 关系模型中的主要术语 1) 关系:一个关系对应通常所说的一张二维表,它由若干行和若干列组成。一个关系型数据模型是由若干个关系组成的,一个关系表示一个实体集或实体集间的联系。 2) 元组:表中的一行称为一个元组,或称为记录,一般表示一个实体或两个实体间的联系。 3) 属性:表中的一列称为一个属性,每个属性都应取一个名字,且同一个关系中属性名不能相同,或许多系统中将属性称为字段。,数据模型与概念模型,52,学生选课关系模型,学生,
26、课程,选课,学生(学号,姓名,班级) 课程(课程号,课程名) 选课(学号,课程号,成绩),数据模型与概念模型,53,4) 关系模式:关系的型称为关系模式,是对关系的描述。 关系模式一般简单的表示是: 关系名(属性1,属性2,属性n). 如上例中,其三个关系的关系模式为: 学生(学号,姓名,班级) 课程(课程号,课程名) 选课(学号,课程号,成绩),数据模型与概念模型,54,(2)说明: 1)实体集一般直接用关系表示 学生(学号,姓名,年龄,性别,年级) 课程(课程号,课程名,学分) 系 (系号,系名,办公地点) 系主任(系主任号,系主任名,电话) 2)实体集间的联系的也是用关系表示 一对一联系
27、:隐含在实体集对应的关系中。 例:系、系主任、系与系主任间的一对一联系 系 (系号,系名,系主任号,办公地点) 或 系主任(系主任号,系统主任名,电话,系号) 联系是通过数据冗余来实现的,在一方加上另一方的主码属性,数据模型与概念模型,55,一对多联系:隐含在实体对应的关系中。 例:学生、系、系与学生之间的一对多联系: 学生(学号,姓名,年龄,性别,系号,年级) 系 (系号,系名,系主任号,办公地点) 在多方加数据冗余项(另一方主码) 多对多联系:直接用关系表示联系。 例:学生、课程、学生与课程之间的多对多联系 学生(学号,姓名,年龄,性别,系号,年级) 课程(课程号,课程名,学分) 选修(学
28、号,课程号,成绩) 取双方的主码,再上联系的属性构成新的关系来表示多对多联系,当然一对一的联系和一对多的联系也可以通过这种方法来表示,一般很少这样做。,数据模型与概念模型,56,学生(学号,姓名,年龄,性别,系号,年级) 系 (系号,系名,系主任号,办公地点) 系主任(系主任号,系统主任名,电话) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩),概念模型关系数据模型,数据模型与概念模型,57,2. 关系操作和完整性约束条件 关系操作主要包括数据查询和插入、删除、修改数据。 关系中的数据操作是集合操作。 关系操作语言都是高度非过程的语言 关系的完整性约束条件包括三类:实体完整性、参照完
29、整性和用户定义的完整性。 3.关系数据模型的存储结构 关系以文件形式存储 有的RDBMS一个表对应一个操作系统文件(如VFP) 有的RDBMS自己设计文件结构、文件格式和存取机制(如SQLSERVER2008),数据模型与概念模型,58,4. 关系模型与非关系模型比较1) 关系数据模型建立在严格的数学基础之上。2) 关系数据模型的概念单一,容易理解。3) 关系数据模型的存取路径对用户隐蔽。4) 关系模型中的数据联系是靠数据冗余实现的。,数据模型与概念模型,59,面向对象数据模型的基本概念 (1) 对象(Object)与对象标识OID(Object Identifier) 现实世界的任一实体都被
30、统一地模型化为一个对象,每一个对象有一个惟一的标识,称为对象标识。对象是现实世界中实体的模型化,它与记录、元组相似。 (2) 封装(Encapsulation) 每一个对象是其状态与行为的封装,其中状态是该对象一系列属性值的集合,而行为是在对象状态上操作方法的集合。 (3) 类(Class) 共享同一属性集合和方法集合的所有对象组合在一起构成了一个对象类(简称类),一个对象是某一类的一个实例(instance)。,2.2.5 面向对象的数据模型,数据模型与概念模型,60,(4) 类层次(Class hierarchy) 反映了类间的继承关系。 (5) 消息(Message) 消息从外部将信息传递给对象,存取和调用对象中的属性和方法,在内部执行要求的操作,操作的结果仍以消息的形式返回。 2. 对象结构与对象标识 (1) 对象结构 1) 属性集合。所有属性构成了对象数据的数据结构。属性描述对象的状态、组成和特性。对象的某一属性可以是单值或多值的,也可以是一个对象。 2) 方法集合。方法用于描述对象的行为特性。 3) 消息集合。消息是对象向外提供的界面,消息由对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年艺术设计专业考试试卷及答案
- 2025年摄影艺术专业考试题及答案
- 2025年特许金融分析师考试试卷及答案
- 2025年安全工程师考试试题及答案
- 阿克苏商铺租赁合同范本
- 铁路局车辆段团委XX年上半年工作总结
- 2025年进排气歧管项目发展计划
- 提升服务品质培训
- 在校医学生未来职业规划
- 红茶品牌全国范围内代理及市场开发合同
- 2024年安徽省初中地理会考卷真题含参考答案
- 车辆超载超限培训
- 燃气行业数字化转型与智能化升级
- 计算机程序设计员国家职业技能标准
- 《人民调解法》讲解
- 新加坡员工合同范本
- 《无人机测绘技能训练模块》课件-模块9:无人机解析空中三角测量
- JT-T-1116-2017公路铁路并行路段设计技术规范
- 2024年四川省乐山市中考地理试卷 附答案
- DB3210T 1175-2024 农民田间学校运行管理规范
- 安徽省合肥168中学2024届八下物理期末考试试题及答案解析
评论
0/150
提交评论