第 2章 概念模型与数据模型
? 利用模型对事物进行描述是人们在认识改造世
界过程中广泛采用的一种方法, 如汽车, 飞机
模型等 。
? 模型可更形象直观揭示事物的本质特征, 使人
们对事物有一个更全面深入的认识, 从而帮助
人们更好地解决问题 。
? 是否在进行数据库系统设计时也可以利用模型
来帮助我们完成工作呢? 如果可以, 我们利用
何种模型呢?
第 2章 目录
? 2.1 概念模型和 ER图
? 2.2 数据模型概述
? 2.3 层次数据模型
? 2.4 网状数据模型
? 2.5 关系数据模型
? 2.6 面向对象数据模型
? 2.7 数据库工程
? 2.8 小结
? 2.9 习题
2.1 概念模型
? 为了能把现实世界的具体事物抽象组织为某
一个 DBMS支持的数据模型,首先需要对这一
管理活动所涉及到的各种资料数据及其关系
有一个全面的清晰的认识,并通过采用概念
模型来描述。
? 概念模型是现实世界到机器世界的中间层次。
? 概念模型用 ER图来描述。
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.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.1.3 联系
? 联系( relationship) 是现实世界中普遍存在
的。在信息世界中,它反映为实体内部和实体
之间的联系。实体内部联系通常是指组成实体
的各属性之间的联系,如出生年份和年龄,总
成绩和各科成绩。
? 两实体型之间的联系可分为三类,1:1 联系,
例如,班级和班长; 1:n 联系,例如,班级
和学生; m:n 联系,例如,课程和学生。
2.1.4 三种联系比较
1,1联系 1,n联系 m:n联系
定
义
如果对于实体集 A
中的每一个实体,
实体集 B中至多有
一个实体与之联系,
反之亦然,则称实
体集 A和实体集 B具
有一对一联系,记
为 1,1。
如果对于实体集 A中的
每一个实体,实体集 B
中有 n个实体( n>=0)
与之联系,反之,实
体集 B中的每一个实体,
实体集 A中至多只有一
个实体与之联系,则
称实体集 A和实体集 B
具有一对多联系,记
为 1,n。
如果对于实体集 A中的每
一个实体,实体集 B中有 n
个实体( n>=0)与之联系,
反之,对于实体集 B中的
每一个实体,实体集 A中
也有 m( m>=0)个实体与
之联系。则称实体集 A和
实体集 B具有多对多联系,
记为 m,n。
例 班级和班长 班级和学生 课程和学生
2.1.5 三种联系的关系
? 一对一联系是一对多联系的特例,一对多联系
是多对多联系的特例。
? 两个以上的实体型之间同样存在一对一、一对
多和多对多联系。如教师、课程、参考书。
? 同一实体集内各实体之间也存在一对一、一对
多和多对多联系。如职工实体集中存在领导与
被领导关系 1,n。
2.1.6 ER图表示方法
实体名 联系
名
学生
组成
班级
学生
1
n
属性名
出生日期性别姓名学号
人数
2.1.7 不同联系的表示
? 两个不同型实体间的联系 ?两个不同型实体间的多种联系
职工与工程间,一个职工可以参加
多个工程,一个工程可以有多个职
工参加,同时一个工程由一个职工
负责,一个职工可以负责多个工程。
?两个以上实体间的多元联系
施行社和景点及游客三个实体间
存在三元联系
?同一实体内部个体间的二元联系
2.1.8 ER图的设计方法
? 大体应遵两条原则,
? ① 针对每一用户作出该用户信息的局部 ER图,
确定该用户的实体、属性、联系。注意,能作
为属性的就不作为实体,利于简化 ER图。
? ②综合局部 ER图,生成总体 ER图。在综合过程
中,同名实体只能出现一次,还要去掉不必要
的联系,以消除冗余。
? 一个系统的 ER图不是惟一的,强调不同的侧面
作出的 E-R图可能有很大不同。
2.1.9 ER图综合实例一
? 1,学校有若干系,每个系有若干班级和教职室,
每个教职室有若干教员,其中有的教授和副教授
各带若干研究生,每个班级有若干学生,每个学
生选修若干课程,每门课程可由若干学生选修,
用 E-R图画出该校的概念模型,(参考答案)
? 2,在物资管理中,一个供应商为多个项目供应
多种零件,一种零件只能保存在一个仓库中,一
个仓库中可保存多种零件,一个仓库有多名员工
值班,由一个员工负责管理,画出该物资管理系
统的 E-R图,(参考答案)
2.1.10 ER图综合实例二
? 3,在活期存款业务中,设 一个储户可在多个
储蓄所存取款,画出该 E-R图,(参考答案)
? 4,在课程管理系统中,涉及到班级,学生,课
程,教师,参考书等实体,假设,一个教师只可
上一门课程,一门课程可由多个教师讲授,
可使用多本参考书,画出该系统的概念模型。
(参考答案)
2.1.11 学校 ER图
系部
学生
教研室
教员
班级
课程
选修
组成
组成
组成
组成
讲授
1
m
1 11 1
m m m
m
m
m
n
指导
m
n
成绩
2.1.12 物资管理 ER图
( 1)实体及属性图略 ( 2)实体及联系图如下
2.1.13 课程管理 ER图
( 1)实体属性图(画二个,其余略)
( 2)实体及联系图如下 组成成绩
班级
选修课程
班级
学生
讲授
m n
1
1
1 n
n
m n
学生
出生日期性别姓名学号 所属系班级号
讲授
参考书教师
2.2 数据模型
? 模型分两个不同的层次。第一种是概念模型,也
称信息模型,是按用户的观点对数据和信息建模。
另一种是数据模型。
? 数据模型应满足三方面的要求:一是能比较真
实地模拟现实世界;二是容易为人所理解;三是
便于在计算机上实现。
? 数据模型是数据库系统的核心和基础。
? 各种 DBMS软件都是基于某种数据模型。
2.2 数据模型的内容
? 2.2.1 数据模型构成三要素
? 2.2.2 数据结构
? 2.2.3 数据操作
? 2.2.4 完整性约束
? 2.2.5 数据模型的种类
2.2.1 数据模型构成三要素
? 任何一种数据模型一般都是严格定义的概念的
集合。这些概念必须能准确是描述系统的 静态
特征、动态特征和完整性约束条件 。
? 数据模型由数据结构、数据操作和完整性约束
三个要素组成。
2.2.2 数据结构
? 数据结构用于描述数据的静态特征。
? 数据结构是所研究的对象类型的集合,是刻画一
个数据模型最重要的方面。
? 通常可以按数据结构的类型来命名数据模型,可
分为:网状模型、层次模型、关系模型、面向对
象模型。
2.2.3 数据操作
? 数据操作用于描述数据的动态特征。
? 数据操作是指对数据库中各种对象(型)的实
例(值)允许执行的操作的集合,包括操作及
有关的操作规则,主要有检索和更新(包括插
入、删除、修改)两大类操作。
? 数据模型必须准确地定义这些操作的确切含义、
操作符号、操作规则(优先级)以及实现操作
的语言。
2.2.4 数据的约束条件
? 数据的约束条件 是一组完整性规则的集合。 完整性规则 是给定的
数据模型中数据及其联系所具有的制约和储存规则,用以限定符
合数据模型的数据库状态以及状态的变化,以保证数据的正确、
有效和相容。如:年龄小于 38,学生不及格课程少于 3门。
? 数据模型应该反映和规定本数据模型必须遵守的基本的通用的完
整性约束条件。例如,在关系模型中,任何关系都必须满足实体
完整性和参照完整性两个条件。此外,数据模型还应该提供定义
完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守
的特定的语义约束条件。
? 实体完整性 即指每一实体必须是可分的,它的主码是唯一的,如
学号不能重复。
? 参照完整性 是指外码的值要么为空,要么为另一个数据库中已有
的值。如一个学生的专业不能是专业库中没有的记录
2.2.5 数据模型种类
? 按数据结构分,目前可分为:
? 1,层次模型
? 2,网状模型
? 3,关系模型
? 4,面向对象模型
2.3 层次模型
? 现实中很多实体呈现层次关系,如行政机构,
因此,层次模型是数据库系统最早采用的数据
模型。
? 层次模型用树状结构表示实体及实体间的联系。
? 层次模型最具代表性的系统是 IBM的 IMS 。
? 本节介绍层次模型的概念、构成和优缺点。
2.3 层次模型
? 2.3.1 基本层次关系
? 2.3.2 层次模型的概念和结构
? 2.3.3 层次数据模型例
? 2.3.4 层次模型的完整性约束
? 2.3.5 层次模型的优点
? 2.3.6 层次模型的缺点
2.3.1 基本层次关系
? 非关系模型中,实体用记录表示,实体之间的联系转
换为记录间的两两联系,非关系型数据结构的基本单
位是基本层次联系。
? 基本层次联系是指两记录以及它们之间的一对多(包
括一对一)的联系。
Rj
Ri
一对多联系名
子女结点
双亲结点
Lij
2.3.2 层次模型的概念
R0
R1
R21 R22R12R11
R2
根结点为,R0。 R0的子结点有,R1,R2。
R1,R2为兄弟结点。 R11,R12的父结点是,R1。
特征:
( 1)只有一个无双
亲的根结点;
( 2)其他结点有且
只有一个双亲。
2.3.3 层次数据模型例
2.3.4 层次模型的完整性约束
? 在插入时, 不能插入无双亲的子结点, 如新来
的教师未分配教研室则无法插入到数据库中 。
? 在删除时,如删除双亲结点,则其子女结点也
会被一起删除。如删除某个教研室则它的所有
教师也会被删除。
? 在更新时,应更新所有相应的记录,以保证数
据的一致性。
2.3.5 层次模型的优点
? 数据模型简单, 只需几条命令就能操纵数据,
易使用;
? 若实体间的关系固定, 性能优于关系模型;
? 具有良好的完整性支持 。
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.4 网状模型
? 2.4.1 概念与结构
? 2.4.2 网状模型其它结构
? 2.4.3 网状模型示例
? 2.4.4 完整性约束
? 2.4.5 网状模型的优点
? 2.4.6 网状模型的缺点
2.4.1 网状模型的概念与结构
网状结构特点:
? 1.允许多个结点无双亲,
即根结点可以有多个;
? 2.一个子结点可以有两
个或多个父结点 。
R1 R2
R3 R5
R8
R4
R6 R7
? 3.两个结点间可有两种或多种联系 ( 复合联系 ) 。
? 4.可能有回路存在 。
树
父母
子女
种
植
砍
伐
养
育
赡
养
学生宿舍
学生 教研室
专业系
教师(a)
(e)
(d)
2.4.2 网状模型其它结构
学生
课程
父亲
子女
(c)(b)
人
2.4.3 网状数据模型示例
2.4.4 网状模型的完整性约束
? 操纵特点是:
? 1.允许插入无双亲的子结点。
? 2.允许只删除双亲结点,其子结点仍在。
? 3.更新操作较简单,只需更新指定记录即可。
? 4.查询操作可以有多种方法实现。
? 网状模型没有层次模型那样严格的完整性约束
条件,但具体的某一个网状数据库系统提供了
一定的完整性约束,对数据操纵加以一些限制。
2.4.3 网状模型优点
网状模型的优点包括:
? 1.能够直接描述现实世界;
? 2.查询方便, 对称结构, 查询格式相同;
? 3.操作功能强, 速度快, 存取效率较高 。
2.4.3 网状模型缺点
? 网状模型的缺点包括:
? 1.数据结构及其对应的数据操作语言极为复杂 。
? 2.数据独立性差, 由于实体间的联系是通过存
取路径来指示的, 因此程序访问时要指定存取
路径, 程序设计困难 。
2.5 关系模型
? 关系模型由 IBM公司的 E.F.Codd于 1970年在论
文, 大型共享系统的关系数据库的关系模型,
中首次提出。
? 20世纪 80年代以来,关系数据库系统 (RDBMS)
的代表有 system R(IBM),Ingres,QBE。
? 关系型数据库系统当前已成为数据库系统的主
流。现在广泛使用的 RDBMS有,Oracle、
Sybase,Informix,DB2,SQL Server,Acess、
Fox系列数据库等。
2.5 关系模型
? 2.5.1 关系模型的结构
? 2.5.2 关系模型的概念
? 2.5.3 数据库中的表 /关系
? 2.5.4 关系模型的完整性约束
? 2.5.5 关系模型的优点
? 2.5.6 关系模型的缺点
2.5.1 关系模型的结构
学号 姓名 性别 年龄 籍贯
9801 张明 男 20 江苏
9802 刘红 女 19 山东
9803 王明 女 20 北京
9839 张立 男 18 陕西
学生人事记录表
关系名
关
系 元组 (行 )
属性 (列 )
主码
男
女
域
分量
关系模式,学生( 学号,姓名、性别、年龄、籍贯)
属性名
2.5.2 关系模型的概念
? 主码:表中可唯一确定一个元组的属性组
? 域:属性的取值范转围
? 分量:元组中的一个值
? 关系:表
? 元组:表中一行
? 属性:表的一列
学号 姓名 性别 系别 年龄 籍贯
98001 张飞 男 信息管理 20 长沙
98002 李丽 女 信息管理 19 岳阳
? 关系模式:对关系的描述
? 关系模式表示:关系名(属性 1,属性 2,属性 3…… )
2.5.3 数据库中的表 /关系
学 号 姓 名 专 业 选修课程 任课教师
9003105 张 鹏 计算机应用 计算机系统结构 唐 飞
9003212 吴俊武 计算机软件 数据结构 王小栋
9003223 廖 凯 计算机软件 程序设计语言 陆 非
9003214 李 娜 计算机软件 形式语言 蒋 涛
… … … … …
学生选课登记表
表、关系:由关系模式和元组构成
值域:
列数据的取值范围
如,十个汉字以内的文字串
关系模式:由表名和属性名构成
如,学生选课登记表 (学号,姓名,专业,选修课
程,任课教师 )
列、字段、属性、数据项:
列有名称 (属性名 ),有值 /数据 (数据项 )
如,属性名为“专业”,数据项为“计算机应用”,“计算机软件”
行、元组、记录:由数据构成
表名:学生选课登记表
如,(9003212,吴俊武,计算机软件,数据结构,王小栋 )
(9003223,廖凯,计算机软件,程序设计语言,陆非 )
2.5.4 关系模型的完整性约束
? 1.域完整性规则 。 属性取值必须取自于值域;属性是
否能取空值由其语义决定 。 域完整性是最基本的约束 。
? 2.实体完整性规则 。 主关键字值必须是唯一的且任何
组成成份都不能是空值 。
? 3.引用完整性规则 ( 参照完整性规则 ) 。 设 D是一个主
域, R1是一个关系, 它有一个在这个域 D上定义的属性
A。 那么在任何时刻, R1中 A的每个值或者为空值, 或
者为以 A为主关键字的某个关系 R2中的一个主关键字值
( R1和 R2可以相同 ) 。
? 4.用户自定义完整性 。 是 RDBMS提供给用户的一种灵活
的完整性保护措施 。 当需要对数据库增, 删, 改时,
用户可通过触发器等措施保证数据的完整性和一致性 。
2.5.5 关系模型的优点
? 建立在严格数学概念基础上,有严格的设计理论。
? 概念单一、结构简单直观、易理解、语言表达简练。
? 描述一致,实体和联系都用关系描述,查询操作结
果也是一个关系,保证了数据操作语言的一致性。
? 利用公共属性连接,实体间的联系容易实现。
? 由于存取路经对用户透明,隐蔽存取路径,数据独
立性更高,安全保密性更好。
2.5.6 关系模型的缺点
? 由于存取路经对用户透明,查询效率不高,速
度慢,需要进行查询优化。
? 采用静态数据模型。
2.6 面向对象数据模型
? 20世纪 90年代来,随着应用需求的不断变化,
关系型数据库不断向前发展。
? 在关系型基础上,引入面向对象技术,从而使
关系型数据库发展成为一种新型的面向对象关
系型数据库。
? 面向对象关系型数据库在信息系统中已广泛应
用。
2.6 面向对象数据模型
? 2.6.1 开发信息系统的新要求
? 2.6.2 传统数据库技术的缺陷
? 2.6.3 面向对象关系模型
? 2.6.4 面向对象关系模型优缺点
? 2.6.5 四种数据模型比较
2.6.1 开发信息系统的新要求
? 新应用需求对数据库技术提出了新的要求:
? 缩小信息系统的开发周期;
? 降低开发成本;
? 增强易维护性和开放性;
? 应用发展要求实现 数据模拟 和 行为模拟 。
2.6.2 传统数据库技术的缺陷
? 传统数据库技术开始表现出明显不足:
? 1.数据对象简单 。 只能检索一组数值或短符号域, 属性
组成的记录和由同质记录组成的集合, 无复杂的嵌套数
据和复杂数据 。
? 2.对象之间的关系简单, 不能实现实体间聚合, 继承等
复杂联系 。
? 3.一致约束不完全, 只能预定时机检查 。
? 4.事务短寿, 并发控制机制简单 。
? 如何克服传统数据库技术的不足, 解决方法是引入一种
新的数据处理技术, 将数据技术与面向对象技术相结合 。
2.6.3 面向对象关系模型
? 1,对象。 是现实世界的实体和概念。由属性和操作
(方法)构成。属性表示对象的状态、组成和特征。操
作表示对象的行为。每一个对象在系统种都有一个唯一
不变的标识( OID)。
? 2.类与实例。 由类可生成多个实例。实例继承了类的所
有属性及方法,例如所有的学生是一个类,包括学生所
有属性及操作方法,如学号、姓名、查询成绩等。具体
某个学生是一个实例,如张三,他继承了学生类所有属
性和方法。
? 3.继承与类结构。 继承可提高代码可重用性。对于父
类或基类的类结构,在其子类或派生类中都可得到有效
的继承。
2.6.4 面向对象关系模型优缺点
1.优点:
? 不仅能存储数据,而且存储了定义在数据上的操作;
? 能处理对象之间复杂的引用和约束关系,并能通过复
合对象定义嵌套结构的数据类型;
? 提供很强的模型扩展能力,数据模型改变时应用程序
仍能正常工作。
? 将对象作为一个整体来存储和检索节省开销。
2.缺点:
? 技术尚不成熟,无完全支持的 DBMS产品。
2.6.5 数据模型比较 (1)
层次模型 网状模型 关系模型 面向对象模型
定
义
满足:( 1)只
有一个结点没有
双亲结点,称为
根结点;( 2)
根以外的其它结
点有且只有一个
双亲结点
允许有一个以上
的结点没有双亲
结点;允许结点
有多个双亲结点,
此外,还允许两
个结点之间有多
种联系。
一个列不可
再分的二维
表。
支持类、对象、
继承等概念的数
据模型。
实
例
行政机构、家族
关系
广泛存在 学生、课程 学生类
2.6.5 数据模型比较 (2)
层次模型 网状模型 关系模型 面向对象
优
点
1.简单,命令少,易操
纵。 2.实体间联系固定
的应用系统,层次模型
性能优于关系模型,不
次于网状模型。 3.良好
完整性支持
1.能更直接
地描述现实
世界。 2.具
有良好性能,
存取效率高。
1.建立在严格
数学概念基础
上。 2.概念单
一数据结构简
单清晰。 3.存
取路径透明,
数据独立性更
高。
存储数据和操
作。能定义嵌
套结构。很强
的模型扩展能
力。节省开销。
缺
点
表示非层次性不利。插
入删除限制较多。查询
子女结点须通过双亲结
点。命令趋于程序化。
其 DDL语言极
其复杂。
数据独立性
差。
查询效率不如
非关系型,需
要对查询优化。
技术尚不成熟,
无完全支持的
DBMS产品。
2.7 数据库工程
? 过去信息系统开发的失败率很高,效果不理想。
? 开发数据库应用系统必须按照工程化方法完成。
? 应用软件工程的思想。
? 先规划再按照严格的步骤完成。
? 加强项目管理。
? 本节介绍数据库工程的基础知识。
2.7 数据库工程
? 2.7.1 数据库设计的目标与特点
? 2.7.2 数据库设计方法
? 2.7.3 规划阶段
? 2.7.3 数据库设计步骤
? 2.7.4 数据库应用
? 2.7.5 数据库管理员( data base
administrator,DBA)的职责
2.7.1 数据库设计的目标与特点
数据库
设计
信息需求
DBMS特点
数据模式
应用系统
处理需求
软硬件环境
数据库
结构 (数据 )
设计
行为 (处理 )
设计
? 1,设计任务:在 DBMS的支持下,按照应用系统的要求,
为某一部门或组织设计一个结构合理、使用方便、效
率较高的数据库及其应用系统。
? 2,设计内容:数据结构设计和行为处理设计
? 3,设计特点:重视数据结构设计和行为处理设计
2.7.2 数据库设计方法,规范设计法
? 规范设计法即运用软件工程的思想与方法,根据数据库
设计的特点,按照相应的设计准则和设计规程进行设计。
? 1.设计核心与关键:逻辑数据库设计和物理数据库设计。
? 2.新奥尔良方法:将数据库设计分为四个阶段需求分析、
概念设计、逻辑设计、物理设计
? 3.S.B.Yao的六个步骤:需求分析、模式构成、模式汇
总、模式重构、模式分析和物理数据库设计。
? 4.手工设计和计算机辅助设计
2.7.3 规划阶段
? 确定系统范围
? 系统开发的目标功能和性能
? 系统所需资源
? 估计开发成本
? 确定实施计划和进度
? 分析可能的效益;
? 确定系统设计的原则和技术路线;
? 选择用户环境及网络结构。
2.7.4 数据库设计步骤
? 应注意问题:
( 1)注意调动用户积极性。用户积极参与是库设计成功的关键因素之一。
( 2)充分考虑系统的可扩充性,使设计易于变动。
( 3)系统的可扩充性最终是有一定限度的。当应用环境和应用需求发生
巨大变化时,原设计方案可能最终无法再扩充,必须推倒重来。
概念
结构
设计
逻辑
结构
设计
数据
库物
理设
计
数据
库实
施
数据
库运
行维
护
需求
说明 概念
结
构
逻
辑
结
构
物
理
结
构
数
据
库
系
统
数据
说明
需求
分析
2.7.5 数据库应用层次
(图) 数据库系统中不同用户的数据视图
外模式 i
模式
内模式
应用系统
DB
外模式 I/模式
模式 /内模式
DBMS
OS
最终用户
应用程序员
DBA系统分析员
使用对象
数据抽象级别 软件层次
2.7.6 数据库管理员( data base
administrator,DBA)的职责
? ( 1)设计与定义数据库系统。
? ( 2)帮助最终用户使用数据库系统。
? ( 3)监督与控制数据库系统的使用和运行。
? ( 4)改进和重组数据库系统,调优数据库系
统的性能。
? ( 5)转储和恢复数据库。
? ( 6)重构数据库。
2.8 小结
? 概念模型是现实世界在人头脑中的反映。人们用 ER图
来描述概念模型。
? ER图 叫实体联系图,分局部 ER图 和整体 ER图。
? 按数据结构,数据模型分四种:层次模型、网状模型、
关系模型和面向对象模型。
? 层次和网状是非关系型。
? 关系模型当前最常用。
? 面向对象模型是关系模型中引入面向对象技术。
? 要按数据工程的思想进行数据库设计。
? 开发数据库系统先要进行规划,再进行数据库设计。
? 数据库设计分六步进行,需求分析、概念结构设计、
逻辑结构设计、物理结构设计、实施、运行维护。
2.9 习题
? 2.1 一种产品由多种零件组成,画出产品零件的概念
模型。(答案)
? 2.2 在活期存款业务中,设一个储户可在多个储蓄所
存取款,画出该 E-R图。
? 2.3 在物资管理中,一个供应商为多个项目供应多种
零件,一种零件只能保存在一个仓库中,一个仓库中
可保存多种零件,一个仓库有多名员工值班,由一个
员工负责管理,画出该物资管理系统的 E-R图。
? 2.4 简述数据模型的构成。(答案)
? 2.5 简述四种数据模型的特点。
? 利用模型对事物进行描述是人们在认识改造世
界过程中广泛采用的一种方法, 如汽车, 飞机
模型等 。
? 模型可更形象直观揭示事物的本质特征, 使人
们对事物有一个更全面深入的认识, 从而帮助
人们更好地解决问题 。
? 是否在进行数据库系统设计时也可以利用模型
来帮助我们完成工作呢? 如果可以, 我们利用
何种模型呢?
第 2章 目录
? 2.1 概念模型和 ER图
? 2.2 数据模型概述
? 2.3 层次数据模型
? 2.4 网状数据模型
? 2.5 关系数据模型
? 2.6 面向对象数据模型
? 2.7 数据库工程
? 2.8 小结
? 2.9 习题
2.1 概念模型
? 为了能把现实世界的具体事物抽象组织为某
一个 DBMS支持的数据模型,首先需要对这一
管理活动所涉及到的各种资料数据及其关系
有一个全面的清晰的认识,并通过采用概念
模型来描述。
? 概念模型是现实世界到机器世界的中间层次。
? 概念模型用 ER图来描述。
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.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.1.3 联系
? 联系( relationship) 是现实世界中普遍存在
的。在信息世界中,它反映为实体内部和实体
之间的联系。实体内部联系通常是指组成实体
的各属性之间的联系,如出生年份和年龄,总
成绩和各科成绩。
? 两实体型之间的联系可分为三类,1:1 联系,
例如,班级和班长; 1:n 联系,例如,班级
和学生; m:n 联系,例如,课程和学生。
2.1.4 三种联系比较
1,1联系 1,n联系 m:n联系
定
义
如果对于实体集 A
中的每一个实体,
实体集 B中至多有
一个实体与之联系,
反之亦然,则称实
体集 A和实体集 B具
有一对一联系,记
为 1,1。
如果对于实体集 A中的
每一个实体,实体集 B
中有 n个实体( n>=0)
与之联系,反之,实
体集 B中的每一个实体,
实体集 A中至多只有一
个实体与之联系,则
称实体集 A和实体集 B
具有一对多联系,记
为 1,n。
如果对于实体集 A中的每
一个实体,实体集 B中有 n
个实体( n>=0)与之联系,
反之,对于实体集 B中的
每一个实体,实体集 A中
也有 m( m>=0)个实体与
之联系。则称实体集 A和
实体集 B具有多对多联系,
记为 m,n。
例 班级和班长 班级和学生 课程和学生
2.1.5 三种联系的关系
? 一对一联系是一对多联系的特例,一对多联系
是多对多联系的特例。
? 两个以上的实体型之间同样存在一对一、一对
多和多对多联系。如教师、课程、参考书。
? 同一实体集内各实体之间也存在一对一、一对
多和多对多联系。如职工实体集中存在领导与
被领导关系 1,n。
2.1.6 ER图表示方法
实体名 联系
名
学生
组成
班级
学生
1
n
属性名
出生日期性别姓名学号
人数
2.1.7 不同联系的表示
? 两个不同型实体间的联系 ?两个不同型实体间的多种联系
职工与工程间,一个职工可以参加
多个工程,一个工程可以有多个职
工参加,同时一个工程由一个职工
负责,一个职工可以负责多个工程。
?两个以上实体间的多元联系
施行社和景点及游客三个实体间
存在三元联系
?同一实体内部个体间的二元联系
2.1.8 ER图的设计方法
? 大体应遵两条原则,
? ① 针对每一用户作出该用户信息的局部 ER图,
确定该用户的实体、属性、联系。注意,能作
为属性的就不作为实体,利于简化 ER图。
? ②综合局部 ER图,生成总体 ER图。在综合过程
中,同名实体只能出现一次,还要去掉不必要
的联系,以消除冗余。
? 一个系统的 ER图不是惟一的,强调不同的侧面
作出的 E-R图可能有很大不同。
2.1.9 ER图综合实例一
? 1,学校有若干系,每个系有若干班级和教职室,
每个教职室有若干教员,其中有的教授和副教授
各带若干研究生,每个班级有若干学生,每个学
生选修若干课程,每门课程可由若干学生选修,
用 E-R图画出该校的概念模型,(参考答案)
? 2,在物资管理中,一个供应商为多个项目供应
多种零件,一种零件只能保存在一个仓库中,一
个仓库中可保存多种零件,一个仓库有多名员工
值班,由一个员工负责管理,画出该物资管理系
统的 E-R图,(参考答案)
2.1.10 ER图综合实例二
? 3,在活期存款业务中,设 一个储户可在多个
储蓄所存取款,画出该 E-R图,(参考答案)
? 4,在课程管理系统中,涉及到班级,学生,课
程,教师,参考书等实体,假设,一个教师只可
上一门课程,一门课程可由多个教师讲授,
可使用多本参考书,画出该系统的概念模型。
(参考答案)
2.1.11 学校 ER图
系部
学生
教研室
教员
班级
课程
选修
组成
组成
组成
组成
讲授
1
m
1 11 1
m m m
m
m
m
n
指导
m
n
成绩
2.1.12 物资管理 ER图
( 1)实体及属性图略 ( 2)实体及联系图如下
2.1.13 课程管理 ER图
( 1)实体属性图(画二个,其余略)
( 2)实体及联系图如下 组成成绩
班级
选修课程
班级
学生
讲授
m n
1
1
1 n
n
m n
学生
出生日期性别姓名学号 所属系班级号
讲授
参考书教师
2.2 数据模型
? 模型分两个不同的层次。第一种是概念模型,也
称信息模型,是按用户的观点对数据和信息建模。
另一种是数据模型。
? 数据模型应满足三方面的要求:一是能比较真
实地模拟现实世界;二是容易为人所理解;三是
便于在计算机上实现。
? 数据模型是数据库系统的核心和基础。
? 各种 DBMS软件都是基于某种数据模型。
2.2 数据模型的内容
? 2.2.1 数据模型构成三要素
? 2.2.2 数据结构
? 2.2.3 数据操作
? 2.2.4 完整性约束
? 2.2.5 数据模型的种类
2.2.1 数据模型构成三要素
? 任何一种数据模型一般都是严格定义的概念的
集合。这些概念必须能准确是描述系统的 静态
特征、动态特征和完整性约束条件 。
? 数据模型由数据结构、数据操作和完整性约束
三个要素组成。
2.2.2 数据结构
? 数据结构用于描述数据的静态特征。
? 数据结构是所研究的对象类型的集合,是刻画一
个数据模型最重要的方面。
? 通常可以按数据结构的类型来命名数据模型,可
分为:网状模型、层次模型、关系模型、面向对
象模型。
2.2.3 数据操作
? 数据操作用于描述数据的动态特征。
? 数据操作是指对数据库中各种对象(型)的实
例(值)允许执行的操作的集合,包括操作及
有关的操作规则,主要有检索和更新(包括插
入、删除、修改)两大类操作。
? 数据模型必须准确地定义这些操作的确切含义、
操作符号、操作规则(优先级)以及实现操作
的语言。
2.2.4 数据的约束条件
? 数据的约束条件 是一组完整性规则的集合。 完整性规则 是给定的
数据模型中数据及其联系所具有的制约和储存规则,用以限定符
合数据模型的数据库状态以及状态的变化,以保证数据的正确、
有效和相容。如:年龄小于 38,学生不及格课程少于 3门。
? 数据模型应该反映和规定本数据模型必须遵守的基本的通用的完
整性约束条件。例如,在关系模型中,任何关系都必须满足实体
完整性和参照完整性两个条件。此外,数据模型还应该提供定义
完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守
的特定的语义约束条件。
? 实体完整性 即指每一实体必须是可分的,它的主码是唯一的,如
学号不能重复。
? 参照完整性 是指外码的值要么为空,要么为另一个数据库中已有
的值。如一个学生的专业不能是专业库中没有的记录
2.2.5 数据模型种类
? 按数据结构分,目前可分为:
? 1,层次模型
? 2,网状模型
? 3,关系模型
? 4,面向对象模型
2.3 层次模型
? 现实中很多实体呈现层次关系,如行政机构,
因此,层次模型是数据库系统最早采用的数据
模型。
? 层次模型用树状结构表示实体及实体间的联系。
? 层次模型最具代表性的系统是 IBM的 IMS 。
? 本节介绍层次模型的概念、构成和优缺点。
2.3 层次模型
? 2.3.1 基本层次关系
? 2.3.2 层次模型的概念和结构
? 2.3.3 层次数据模型例
? 2.3.4 层次模型的完整性约束
? 2.3.5 层次模型的优点
? 2.3.6 层次模型的缺点
2.3.1 基本层次关系
? 非关系模型中,实体用记录表示,实体之间的联系转
换为记录间的两两联系,非关系型数据结构的基本单
位是基本层次联系。
? 基本层次联系是指两记录以及它们之间的一对多(包
括一对一)的联系。
Rj
Ri
一对多联系名
子女结点
双亲结点
Lij
2.3.2 层次模型的概念
R0
R1
R21 R22R12R11
R2
根结点为,R0。 R0的子结点有,R1,R2。
R1,R2为兄弟结点。 R11,R12的父结点是,R1。
特征:
( 1)只有一个无双
亲的根结点;
( 2)其他结点有且
只有一个双亲。
2.3.3 层次数据模型例
2.3.4 层次模型的完整性约束
? 在插入时, 不能插入无双亲的子结点, 如新来
的教师未分配教研室则无法插入到数据库中 。
? 在删除时,如删除双亲结点,则其子女结点也
会被一起删除。如删除某个教研室则它的所有
教师也会被删除。
? 在更新时,应更新所有相应的记录,以保证数
据的一致性。
2.3.5 层次模型的优点
? 数据模型简单, 只需几条命令就能操纵数据,
易使用;
? 若实体间的关系固定, 性能优于关系模型;
? 具有良好的完整性支持 。
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.4 网状模型
? 2.4.1 概念与结构
? 2.4.2 网状模型其它结构
? 2.4.3 网状模型示例
? 2.4.4 完整性约束
? 2.4.5 网状模型的优点
? 2.4.6 网状模型的缺点
2.4.1 网状模型的概念与结构
网状结构特点:
? 1.允许多个结点无双亲,
即根结点可以有多个;
? 2.一个子结点可以有两
个或多个父结点 。
R1 R2
R3 R5
R8
R4
R6 R7
? 3.两个结点间可有两种或多种联系 ( 复合联系 ) 。
? 4.可能有回路存在 。
树
父母
子女
种
植
砍
伐
养
育
赡
养
学生宿舍
学生 教研室
专业系
教师(a)
(e)
(d)
2.4.2 网状模型其它结构
学生
课程
父亲
子女
(c)(b)
人
2.4.3 网状数据模型示例
2.4.4 网状模型的完整性约束
? 操纵特点是:
? 1.允许插入无双亲的子结点。
? 2.允许只删除双亲结点,其子结点仍在。
? 3.更新操作较简单,只需更新指定记录即可。
? 4.查询操作可以有多种方法实现。
? 网状模型没有层次模型那样严格的完整性约束
条件,但具体的某一个网状数据库系统提供了
一定的完整性约束,对数据操纵加以一些限制。
2.4.3 网状模型优点
网状模型的优点包括:
? 1.能够直接描述现实世界;
? 2.查询方便, 对称结构, 查询格式相同;
? 3.操作功能强, 速度快, 存取效率较高 。
2.4.3 网状模型缺点
? 网状模型的缺点包括:
? 1.数据结构及其对应的数据操作语言极为复杂 。
? 2.数据独立性差, 由于实体间的联系是通过存
取路径来指示的, 因此程序访问时要指定存取
路径, 程序设计困难 。
2.5 关系模型
? 关系模型由 IBM公司的 E.F.Codd于 1970年在论
文, 大型共享系统的关系数据库的关系模型,
中首次提出。
? 20世纪 80年代以来,关系数据库系统 (RDBMS)
的代表有 system R(IBM),Ingres,QBE。
? 关系型数据库系统当前已成为数据库系统的主
流。现在广泛使用的 RDBMS有,Oracle、
Sybase,Informix,DB2,SQL Server,Acess、
Fox系列数据库等。
2.5 关系模型
? 2.5.1 关系模型的结构
? 2.5.2 关系模型的概念
? 2.5.3 数据库中的表 /关系
? 2.5.4 关系模型的完整性约束
? 2.5.5 关系模型的优点
? 2.5.6 关系模型的缺点
2.5.1 关系模型的结构
学号 姓名 性别 年龄 籍贯
9801 张明 男 20 江苏
9802 刘红 女 19 山东
9803 王明 女 20 北京
9839 张立 男 18 陕西
学生人事记录表
关系名
关
系 元组 (行 )
属性 (列 )
主码
男
女
域
分量
关系模式,学生( 学号,姓名、性别、年龄、籍贯)
属性名
2.5.2 关系模型的概念
? 主码:表中可唯一确定一个元组的属性组
? 域:属性的取值范转围
? 分量:元组中的一个值
? 关系:表
? 元组:表中一行
? 属性:表的一列
学号 姓名 性别 系别 年龄 籍贯
98001 张飞 男 信息管理 20 长沙
98002 李丽 女 信息管理 19 岳阳
? 关系模式:对关系的描述
? 关系模式表示:关系名(属性 1,属性 2,属性 3…… )
2.5.3 数据库中的表 /关系
学 号 姓 名 专 业 选修课程 任课教师
9003105 张 鹏 计算机应用 计算机系统结构 唐 飞
9003212 吴俊武 计算机软件 数据结构 王小栋
9003223 廖 凯 计算机软件 程序设计语言 陆 非
9003214 李 娜 计算机软件 形式语言 蒋 涛
… … … … …
学生选课登记表
表、关系:由关系模式和元组构成
值域:
列数据的取值范围
如,十个汉字以内的文字串
关系模式:由表名和属性名构成
如,学生选课登记表 (学号,姓名,专业,选修课
程,任课教师 )
列、字段、属性、数据项:
列有名称 (属性名 ),有值 /数据 (数据项 )
如,属性名为“专业”,数据项为“计算机应用”,“计算机软件”
行、元组、记录:由数据构成
表名:学生选课登记表
如,(9003212,吴俊武,计算机软件,数据结构,王小栋 )
(9003223,廖凯,计算机软件,程序设计语言,陆非 )
2.5.4 关系模型的完整性约束
? 1.域完整性规则 。 属性取值必须取自于值域;属性是
否能取空值由其语义决定 。 域完整性是最基本的约束 。
? 2.实体完整性规则 。 主关键字值必须是唯一的且任何
组成成份都不能是空值 。
? 3.引用完整性规则 ( 参照完整性规则 ) 。 设 D是一个主
域, R1是一个关系, 它有一个在这个域 D上定义的属性
A。 那么在任何时刻, R1中 A的每个值或者为空值, 或
者为以 A为主关键字的某个关系 R2中的一个主关键字值
( R1和 R2可以相同 ) 。
? 4.用户自定义完整性 。 是 RDBMS提供给用户的一种灵活
的完整性保护措施 。 当需要对数据库增, 删, 改时,
用户可通过触发器等措施保证数据的完整性和一致性 。
2.5.5 关系模型的优点
? 建立在严格数学概念基础上,有严格的设计理论。
? 概念单一、结构简单直观、易理解、语言表达简练。
? 描述一致,实体和联系都用关系描述,查询操作结
果也是一个关系,保证了数据操作语言的一致性。
? 利用公共属性连接,实体间的联系容易实现。
? 由于存取路经对用户透明,隐蔽存取路径,数据独
立性更高,安全保密性更好。
2.5.6 关系模型的缺点
? 由于存取路经对用户透明,查询效率不高,速
度慢,需要进行查询优化。
? 采用静态数据模型。
2.6 面向对象数据模型
? 20世纪 90年代来,随着应用需求的不断变化,
关系型数据库不断向前发展。
? 在关系型基础上,引入面向对象技术,从而使
关系型数据库发展成为一种新型的面向对象关
系型数据库。
? 面向对象关系型数据库在信息系统中已广泛应
用。
2.6 面向对象数据模型
? 2.6.1 开发信息系统的新要求
? 2.6.2 传统数据库技术的缺陷
? 2.6.3 面向对象关系模型
? 2.6.4 面向对象关系模型优缺点
? 2.6.5 四种数据模型比较
2.6.1 开发信息系统的新要求
? 新应用需求对数据库技术提出了新的要求:
? 缩小信息系统的开发周期;
? 降低开发成本;
? 增强易维护性和开放性;
? 应用发展要求实现 数据模拟 和 行为模拟 。
2.6.2 传统数据库技术的缺陷
? 传统数据库技术开始表现出明显不足:
? 1.数据对象简单 。 只能检索一组数值或短符号域, 属性
组成的记录和由同质记录组成的集合, 无复杂的嵌套数
据和复杂数据 。
? 2.对象之间的关系简单, 不能实现实体间聚合, 继承等
复杂联系 。
? 3.一致约束不完全, 只能预定时机检查 。
? 4.事务短寿, 并发控制机制简单 。
? 如何克服传统数据库技术的不足, 解决方法是引入一种
新的数据处理技术, 将数据技术与面向对象技术相结合 。
2.6.3 面向对象关系模型
? 1,对象。 是现实世界的实体和概念。由属性和操作
(方法)构成。属性表示对象的状态、组成和特征。操
作表示对象的行为。每一个对象在系统种都有一个唯一
不变的标识( OID)。
? 2.类与实例。 由类可生成多个实例。实例继承了类的所
有属性及方法,例如所有的学生是一个类,包括学生所
有属性及操作方法,如学号、姓名、查询成绩等。具体
某个学生是一个实例,如张三,他继承了学生类所有属
性和方法。
? 3.继承与类结构。 继承可提高代码可重用性。对于父
类或基类的类结构,在其子类或派生类中都可得到有效
的继承。
2.6.4 面向对象关系模型优缺点
1.优点:
? 不仅能存储数据,而且存储了定义在数据上的操作;
? 能处理对象之间复杂的引用和约束关系,并能通过复
合对象定义嵌套结构的数据类型;
? 提供很强的模型扩展能力,数据模型改变时应用程序
仍能正常工作。
? 将对象作为一个整体来存储和检索节省开销。
2.缺点:
? 技术尚不成熟,无完全支持的 DBMS产品。
2.6.5 数据模型比较 (1)
层次模型 网状模型 关系模型 面向对象模型
定
义
满足:( 1)只
有一个结点没有
双亲结点,称为
根结点;( 2)
根以外的其它结
点有且只有一个
双亲结点
允许有一个以上
的结点没有双亲
结点;允许结点
有多个双亲结点,
此外,还允许两
个结点之间有多
种联系。
一个列不可
再分的二维
表。
支持类、对象、
继承等概念的数
据模型。
实
例
行政机构、家族
关系
广泛存在 学生、课程 学生类
2.6.5 数据模型比较 (2)
层次模型 网状模型 关系模型 面向对象
优
点
1.简单,命令少,易操
纵。 2.实体间联系固定
的应用系统,层次模型
性能优于关系模型,不
次于网状模型。 3.良好
完整性支持
1.能更直接
地描述现实
世界。 2.具
有良好性能,
存取效率高。
1.建立在严格
数学概念基础
上。 2.概念单
一数据结构简
单清晰。 3.存
取路径透明,
数据独立性更
高。
存储数据和操
作。能定义嵌
套结构。很强
的模型扩展能
力。节省开销。
缺
点
表示非层次性不利。插
入删除限制较多。查询
子女结点须通过双亲结
点。命令趋于程序化。
其 DDL语言极
其复杂。
数据独立性
差。
查询效率不如
非关系型,需
要对查询优化。
技术尚不成熟,
无完全支持的
DBMS产品。
2.7 数据库工程
? 过去信息系统开发的失败率很高,效果不理想。
? 开发数据库应用系统必须按照工程化方法完成。
? 应用软件工程的思想。
? 先规划再按照严格的步骤完成。
? 加强项目管理。
? 本节介绍数据库工程的基础知识。
2.7 数据库工程
? 2.7.1 数据库设计的目标与特点
? 2.7.2 数据库设计方法
? 2.7.3 规划阶段
? 2.7.3 数据库设计步骤
? 2.7.4 数据库应用
? 2.7.5 数据库管理员( data base
administrator,DBA)的职责
2.7.1 数据库设计的目标与特点
数据库
设计
信息需求
DBMS特点
数据模式
应用系统
处理需求
软硬件环境
数据库
结构 (数据 )
设计
行为 (处理 )
设计
? 1,设计任务:在 DBMS的支持下,按照应用系统的要求,
为某一部门或组织设计一个结构合理、使用方便、效
率较高的数据库及其应用系统。
? 2,设计内容:数据结构设计和行为处理设计
? 3,设计特点:重视数据结构设计和行为处理设计
2.7.2 数据库设计方法,规范设计法
? 规范设计法即运用软件工程的思想与方法,根据数据库
设计的特点,按照相应的设计准则和设计规程进行设计。
? 1.设计核心与关键:逻辑数据库设计和物理数据库设计。
? 2.新奥尔良方法:将数据库设计分为四个阶段需求分析、
概念设计、逻辑设计、物理设计
? 3.S.B.Yao的六个步骤:需求分析、模式构成、模式汇
总、模式重构、模式分析和物理数据库设计。
? 4.手工设计和计算机辅助设计
2.7.3 规划阶段
? 确定系统范围
? 系统开发的目标功能和性能
? 系统所需资源
? 估计开发成本
? 确定实施计划和进度
? 分析可能的效益;
? 确定系统设计的原则和技术路线;
? 选择用户环境及网络结构。
2.7.4 数据库设计步骤
? 应注意问题:
( 1)注意调动用户积极性。用户积极参与是库设计成功的关键因素之一。
( 2)充分考虑系统的可扩充性,使设计易于变动。
( 3)系统的可扩充性最终是有一定限度的。当应用环境和应用需求发生
巨大变化时,原设计方案可能最终无法再扩充,必须推倒重来。
概念
结构
设计
逻辑
结构
设计
数据
库物
理设
计
数据
库实
施
数据
库运
行维
护
需求
说明 概念
结
构
逻
辑
结
构
物
理
结
构
数
据
库
系
统
数据
说明
需求
分析
2.7.5 数据库应用层次
(图) 数据库系统中不同用户的数据视图
外模式 i
模式
内模式
应用系统
DB
外模式 I/模式
模式 /内模式
DBMS
OS
最终用户
应用程序员
DBA系统分析员
使用对象
数据抽象级别 软件层次
2.7.6 数据库管理员( data base
administrator,DBA)的职责
? ( 1)设计与定义数据库系统。
? ( 2)帮助最终用户使用数据库系统。
? ( 3)监督与控制数据库系统的使用和运行。
? ( 4)改进和重组数据库系统,调优数据库系
统的性能。
? ( 5)转储和恢复数据库。
? ( 6)重构数据库。
2.8 小结
? 概念模型是现实世界在人头脑中的反映。人们用 ER图
来描述概念模型。
? ER图 叫实体联系图,分局部 ER图 和整体 ER图。
? 按数据结构,数据模型分四种:层次模型、网状模型、
关系模型和面向对象模型。
? 层次和网状是非关系型。
? 关系模型当前最常用。
? 面向对象模型是关系模型中引入面向对象技术。
? 要按数据工程的思想进行数据库设计。
? 开发数据库系统先要进行规划,再进行数据库设计。
? 数据库设计分六步进行,需求分析、概念结构设计、
逻辑结构设计、物理结构设计、实施、运行维护。
2.9 习题
? 2.1 一种产品由多种零件组成,画出产品零件的概念
模型。(答案)
? 2.2 在活期存款业务中,设一个储户可在多个储蓄所
存取款,画出该 E-R图。
? 2.3 在物资管理中,一个供应商为多个项目供应多种
零件,一种零件只能保存在一个仓库中,一个仓库中
可保存多种零件,一个仓库有多名员工值班,由一个
员工负责管理,画出该物资管理系统的 E-R图。
? 2.4 简述数据模型的构成。(答案)
? 2.5 简述四种数据模型的特点。