第2章数据模型与概念模型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1.3 联系
联系(relationship)是现实世界中普遍存在 的。在信息世界中,它反映为实体内部和实体 之间的联系。实体内部联系通常是指组成实体 的各属性之间的联系,如出生年份和年龄,总 成绩和各科成绩。 两实体型之间的联系可分为三类:1:1 联系, 例如,班级和班长; 1:n 联系,例如,班级 和学生;m:n 联系,例如,课程和学生。
2.1.4 三种联系比较
1:1联系 1:n联系 m:n联系
如果对于实体集A 如果对于实体集A中的 如果对于实体集A中的每 定 中的每一个实体, 每一个实体,实体集B 一个实体,实体集B中有n 实体集B中至多有 中有n个实体(n>=0) 个实体(n>=0)与之联系, 一个实体与之联系, 与之联系,反之, 实 反之, 对于实体集B中的 反之亦然,则称实 体集B中的每一个实体,每一个实体,实体集A中 体集A和实体集B具 实体集A中至多只有一 也有m(m>=0)个实体与 有一对一联系,记 个实体与之联系,则 之联系。则称实体集A和 称实体集A和实体集B 实体集B具有多对多联系, 义 为1:1。 具有一对多联系,记 记为m:n。 为1:n。
例 班级和班长 班级和学生 课程和学生
2.1.5 三种联系的关系
一对一联系是一对多联系的特例,一对多联系 是多对多联系的特例。 两个以上的实体型之间同样存在一对一、一对 多和多对多联系。如教师、课程、参考书。 同一实体集内各实体之间也存在一对一、一对 多和多对多联系。如职工实体集中存在领导与 被领导关系1:n。
在插入时,不能插入无双亲的子结点,如新来 的教师未分配教研室则无法插入到数据库中。 在删除时,如删除双亲结点,则其子女结点也 会被一起删除。如删除某个教研室则它的所有 教师也会被删除。 在更新时,应更新所有相应的记录,以保证数 据的一致性。
2.3.5 层次模型的优点
数据模型简单,只需几条命令就能操纵数据, 易使用; 若实体间的关系固定,性能优于关系模型; 具有良好的完整性支持。
第2章 概念模型与Fra Baidu bibliotek据模型
利用模型对事物进行描述是人们在认识改造世 界过程中广泛采用的一种方法,如汽车、飞机 模型等。 模型可更形象直观揭示事物的本质特征,使人 们对事物有一个更全面深入的认识,从而帮助 人们更好地解决问题。 是否在进行数据库系统设计时也可以利用模型 来帮助我们完成工作呢?如果可以,我们利用 何种模型呢?
2.1.7 不同联系的表示 2.1.8 ER图的设计方法 2.1.9 ER图综合实例一 2.1.10 ER图综合实例二 2.1.11 学校ER图 2.1.12 物资管理ER图 2.1.13 课程管理ER图
2.1.1 客观世界的抽象过程
2.1.2 概念模型的几个概念
实体(entity)是客观存在并可相互区别的事物。实 体可以是具体的人事物,也可以是抽象的概念和联系。 属性(attribute)是实体所具有的某一特性。一个实 体由若干个属性的描述。 码(key)是唯一标识实体的属性或属性集。如学号。 域(domain)是属性的取值范围。 实体型(entity type)用实体名及其属性名集合来抽 象和描述同类实体,称为实体型。如学生(学号,姓 名,性别,出生年份)。 实体集(entity set)是同型实体的集合称为实体集。 如全体学生,全体职工。
2.2.5 数据模型种类
按数据结构分,目前可分为: 1. 层次模型 2. 网状模型 3. 关系模型 4. 面向对象模型
2.3 层次模型
现实中很多实体呈现层次关系,如行政机构, 因此,层次模型是数据库系统最早采用的数据 模型。 层次模型用树状结构表示实体及实体间的联系。 层次模型最具代表性的系统是IBM的IMS 。 本节介绍层次模型的概念、构成和优缺点。
2.1.6 ER图表示方法
实体名 属性名 联 系 名
班级
学生
1
组成
n
人数
学号
姓名
性别
出生日期
学生
2.1.7 不同联系的表示
两个不同型实体间的联系
•两个不同型实体间的多种联系 职工与工程间,一个职工可以参加 多个工程,一个工程可以有多个职 工参加,同时一个工程由一个职工 负责,一个职工可以负责多个工程。
2.2 数据模型的内容
2.2.1 2.2.2 2.2.3 2.2.4 2.2.5
数据模型构成三要素 数据结构 数据操作 完整性约束 数据模型的种类
2.2.1 数据模型构成三要素
任何一种数据模型一般都是严格定义的概念的 集合。这些概念必须能准确是描述系统的静态 特征、动态特征和完整性约束条件。 数据模型由数据结构、数据操作和完整性约束 三个要素组成。
第2章 目录
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9
概念模型和ER图 数据模型概述 层次数据模型 网状数据模型 关系数据模型 面向对象数据模型 数据库工程 小结 习题
2.1 概念模型
为了能把现实世界的具体事物抽象组织为某 一个DBMS支持的数据模型,首先需要对这一 管理活动所涉及到的各种资料数据及其关系 有一个全面的清晰的认识,并通过采用概念 模型来描述。 概念模型是现实世界到机器世界的中间层次。 概念模型用ER图来描述。
2.4 网状模型
2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6
概念与结构 网状模型其它结构 网状模型示例 完整性约束 网状模型的优点 网状模型的缺点
2.4.1 网状模型的概念与结构
R1 R2
R3
R6
R4
R7
R5
R8
网状结构特点: 1.允许多个结点无双亲, 即根结点可以有多个; 2.一个子结点可以有两 个或多个父结点。
2.1.9 ER图综合实例一
1. 学校有若干系,每个系有若干班级和教职室, 每个教职室有若干教员,其中有的教授和副教授 各带若干研究生.每个班级有若干学生,每个学 生选修若干课程,每门课程可由若干学生选修. 用E-R图画出该校的概念模型.(参考答案) 2. 在物资管理中,一个供应商为多个项目供应 多种零件,一种零件只能保存在一个仓库中,一 个仓库中可保存多种零件,一个仓库有多名员工 值班,由一个员工负责管理.画出该物资管理系 统的E-R图.(参考答案)
2.1 概念模型的相关内容
2.1.1 客观世界的抽象过程 2.1.2 概念模型的几个概念 2.1.3 联系(relationship) 2.1.4 三种联系比较 2.1.5 三种联系的关系 2.1.6 实体联系图 (Entity-Relationship Approach ER图)表示方法
2.1.11 学校ER图
m
班级
1
m
组成
1
系部
1
组成
教研室
m 1
组成
m
组成
m m
学生
m
指导 成绩
n
1
教员
m
选修
n
课程
讲授
2.1.12 物资管理ER图
(1)实体及属性图略 (2)实体及联系图如下
2.1.13 课程管理ER图
(1)实体属性图(画二个,其余略)
学生 班级
学号
姓名
性别
出生日期
成绩 选修
•两个以上实体间的多元联系 施行社和景点及游客三个实体间 存在三元联系 •同一实体内部个体间的二元联系
2.1.8 ER图的设计方法
大体应遵两条原则: ①针对每一用户作出该用户信息的局部ER图, 确定该用户的实体、属性、联系。注意,能作 为属性的就不作为实体,利于简化ER图。 ②综合局部ER图,生成总体ER图。在综合过程 中,同名实体只能出现一次,还要去掉不必要 的联系,以消除冗余。 一个系统的ER图不是惟一的,强调不同的侧面 作出的E-R图可能有很大不同。
2.3.6 层次模型的缺点
1.有一定存取路径,仅允许自顶向下单向查询,查询 非对称性。 2.适合表示记录间一对多联系,而描述非层次性很笨 拙,多对多和多对一联系的表示法会出现数据冗余。 3.语义完整性差,数据依赖性强,须通过双亲才能找 到子结点。 4.同一实体联系模型可以构造出许多层次模型,而对 不同的模型同一查询的表达方式就不同,因此用户必 须了解模型的结构。 5.插入和删除操作限制较多。 6.由于结构严密,层次命令趋于程序化。
2.4 网状模型
现实世界中实体间的联系更多的是非层次关系。 最具代表性的网状DBMS: CODASYL系统或DBTG 系统。1971年4月CODASYL(Conference On Data System Language)组织通过 DBTG(DataBase Task Group)报告(和其后的 修改文件)规范的系统, 大部分网状数据库系统在不同程度上实现了 DBTG报告。
2.2.4 数据的约束条件
数据的约束条件是一组完整性规则的集合。完整性规则是给定的 数据模型中数据及其联系所具有的制约和储存规则,用以限定符 合数据模型的数据库状态以及状态的变化,以保证数据的正确、 有效和相容。如:年龄小于38,学生不及格课程少于3门。 数据模型应该反映和规定本数据模型必须遵守的基本的通用的完 整性约束条件。例如,在关系模型中,任何关系都必须满足实体 完整性和参照完整性两个条件。此外,数据模型还应该提供定义 完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守 的特定的语义约束条件。 实体完整性即指每一实体必须是可分的,它的主码是唯一的,如 学号不能重复。 参照完整性是指外码的值要么为空,要么为另一个数据库中已有 的值。如一个学生的专业不能是专业库中没有的记录
2.2.2 数据结构
数据结构用于描述数据的静态特征。 数据结构是所研究的对象类型的集合,是刻画一 个数据模型最重要的方面。 通常可以按数据结构的类型来命名数据模型,可 分为:网状模型、层次模型、关系模型、面向对 象模型。
2.2.3 数据操作
数据操作用于描述数据的动态特征。 数据操作是指对数据库中各种对象(型)的实 例(值)允许执行的操作的集合,包括操作及 有关的操作规则,主要有检索和更新(包括插 入、删除、修改)两大类操作。 数据模型必须准确地定义这些操作的确切含义、 操作符号、操作规则(优先级)以及实现操作 的语言。
2.3.2 层次模型的概念
R0 特征: (1)只有一个无双 亲的根结点; R1 R2
(2)其他结点有且 只有一个双亲。
R11
R12
R21
R22
根结点为:R0。R0的子结点有:R1,R2。 R1,R2为兄弟结点。R11、 R12的父结点是:R1。
2.3.3 层次数据模型例
2.3.4 层次模型的完整性约束
3.两个结点间可有两种或多种联系(复合联系)。 4.可能有回路存在。
2.4.2 网状模型其它结构
学生宿舍
学生
2.3 层次模型
2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6
基本层次关系 层次模型的概念和结构 层次数据模型例 层次模型的完整性约束 层次模型的优点 层次模型的缺点
2.3.1 基本层次关系
Ri
双亲结点
Lij 一对多联系名
Rj
子女结点
非关系模型中,实体用记录表示,实体之间的联系转 换为记录间的两两联系,非关系型数据结构的基本单 位是基本层次联系。 基本层次联系是指两记录以及它们之间的一对多(包 括一对一)的联系。
2.1.10 ER图综合实例二
3. 在活期存款业务中,设 一个储户可在多个 储蓄所存取款,画出该E-R图.(参考答案) 4. 在课程管理系统中,涉及到班级,学生,课 程,教师,参考书等实体,假设,一个教师只可 上一门课程,一门课程可由多个教师讲授, 可使用多本参考书,画出该系统的概念模型。 (参考答案)
n
班级号 组成
n 1
所属系 班级
(2)实体及联系图如下
课程
m
m
学生
1 n
讲授
1 n
教师
参考书
讲授
2.2 数据模型
模型分两个不同的层次。第一种是概念模型,也 称信息模型,是按用户的观点对数据和信息建模。 另一种是数据模型。 数据模型应满足三方面的要求:一是能比较真 实地模拟现实世界;二是容易为人所理解;三是 便于在计算机上实现。 数据模型是数据库系统的核心和基础。 各种DBMS软件都是基于某种数据模型。