文章目录
一、两类数据模型
- 模型:实现世界特征的模拟和抽象。
- 数据模型(Data Model):是现实世界数据特征的抽象。(数据的表现形式)
- 数据模型的作用:提供给我们模型化数据和信息的工具。表示事物本身以及事物与事物之间的关系。(数据以什么样的形式存入数据库)
- 数据模型应满足三方面要求:
- 能比较真实地模拟现实世界;
- 容易为人所理解;
- 便于在计算机上实现。
- 数据模型地分类:根据模型应用地不同目的,可以将模型分为两类(两个不同层次)。
1. 概念模型(信息模型)
·按照用户地观点对数据和信息建模;
·独立于计算机系统;
·主要用于数据库基本结构(框架)的设计,是数据库设计人员进行数据库设计的依据。
2.逻辑模型和物理模型(数据模型)
-
逻辑(结构)模型
- 按计算机系统的观点对数据建模;
- 决定了DBMS的类型。
-
物理模型
- 对数据最低层的抽象;
- 描述数据在系统内部的表示方式和存取方法。
逻辑模型决定物理模型
二、概念模型
1.概念模型中的基本概念
- 实体(Entity):客观存在并可相互区别的事物。
- 属性(Attribute):实体所具备的某一特性称为属性。一个实体可以由若干个属性来刻画。
- 域(Domain):属性的取值范围称为该属性的域。
- 实体集(Entity Set):所用属性名完全相同的实体的集合。
- 实体型(Entity Type):实体集的名及所用属性名的集合。
- 联系(Relationship)
(1)实体内部的联系:组成实体的各属性之间的联系。
(2)实体之间的联系:不同实体集之间的联系。※
①一对一联系(1:1)
②一对多联系(1:n)
③多对多联系(m:n)
2.概念模型的表示方法
P.P.S.Chen 1976
实体—联系方法(Entity-Relationship Approach)E-R方法
或称为实体-联系模型,简称为E-R模型或E-R图
E-R图它在描述客观世界中实体、实体属性及实体间的联系时采用不同的图形记号:
实体型:用矩形表示,矩形中写明实体名;
属性:用椭圆表示,用无向边链接实体;
联系:用菱形表示,用无向边连接相应的实体,并在无向边上标明联系的类型。
注意:
- E-R图可以表示两个以上实体间的联系
- 某些联系也具有属性;
- 一个实体内部的一部分成员可以和另一部分成员有联系(is part of),称为自回路(自回路不是实体)。
3.概念模型的设计
分析E-R图的方法:找实体和联系
设计E-R图的方法:自底向上设计
- 需求分析
(1)任务:收集数据库所有用户的信息内容和处理需求,加以规格化和分析。
需求分析是整个设计过程的基础,是最困难、最费时的一步。
(2)成果:数据字典(DD)
(3)建立数据字典
(4)建立数据流图
- 设计分E-R图(某几个实体之间的E-R图)
- 由分E-R图合并成总E-R图
说明:ER图的结果不一定唯一:
- 本身就有多种实现解决方案
- 因为需求描述不够精确,不同的理解方式会产生不同的正确结果。
三、数据模型
数据模型通常由数据结构、数据造作和完整性约束三部分组成
1.数据结构
是所研究的对象类型的集合
作用:
- 数据结构是对系统静态特性的描述;
- 数据结构是刻画模型性质最基本的描述(数据模型的核心)。通常按照数据结构的类型来命名数据模型。
2.数据操作
指对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则。
- 数据库的两大类操作:
- 检索
- 更新(包括插入、删除和修改)
数据操作是对系统动态特性的描述。
3.数据的完整性约束条件
是一组完整性规则的集合
- 完整性规则:是指数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态及状态的变化,以保证数据的正确、有效、相容。
*
四、最常用的数据模型
数据模型根据采用的数据结构的类型,可划分为一下几种类型:
1.层次模型——树
- 数据结构:树型
- 限制条件:
- 只有一个结点没有双亲结点——根结点、
- 根以外的其他结点有且只有一个双亲结点
- 层次模型的数据操纵与完善性约束
层次模型的数据操纵主要有查询、插入删除和更新。进行插入、删除、更新操作时要满足层次模型的完整性约束条件。 - 层次模型的优缺点:
优点:
(1)其数据结构比较简单清晰;
(2)查询效率高;
(3)层次模型提供了良好的完整性支持。
缺点:
(1)现实世界中跟多联系时非层次性的,如结点之间具有多对多联系,不适合用层次模型表示;
(2)如果一个结点育有多个双亲结点等,用层次模型表示这类联系就根笨拙,只能通过引入冗余数据(易产生不一致性)或创建非自然的数据结构(引入虚拟结点)来解决。
(3)查询子女结点必须通过双亲结点;
(4)由于结构严密,层次命令趋于程序化。
2.网状模型
典型代表:DBTG系统
- 网状数据模型的数据结构
限制条件:
(1)允许一个以上的结点无双亲;
(2)一个结点可以有多余一个的双亲。
- 网状模型的数据操纵与完善性约束
网状模型一般来说没有层次模型那样严格的完整性约束条件,但具体的网状数据库系统对数据操纵都加了一些限制,提供了一定的完整性约束。 - 网状模型的优缺点:
优点:
(1)能够更为直接地描述现实世界,如一个结点可以有多个双亲,结点之间可以有多种联系。
(2)具有良好的性能,存取效率较高;
缺点:
(1)结构比较复杂,而且随着应用环境地扩大,数据库的结构就变得越来越复杂,不利于用户的掌握;
(2)网状模型的DDL、DML复杂,并且要嵌入某一种高级语言。用户不容易掌握,不容易使用
(3)由于记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须算则适当的存取路径,因此用户必须了解系统结构的细节,加重了编写应用程序的负担。
3. 关系模型——二维表
关系数据库系统采用关系模型作为数据的组织方式由1970年IBM公司E.F.Codd首先提出。
- 关系数据模型的数据结构——二维表
- 相关概念:
- 关系(Relation):二维表;
- 元组(Tuple):表中的一行即为一个元组(记录);
- 属性(Attribute):表中的一列即为一个属性(字段);
- 属性名:一个属性的名字(字段名);
- 域(Domain):属性的取值范围;
- 分量:元组中的一个属性值(关系的每一个分分量须是一个不可分割的数据项,既不能存在表表结构)(单元格);
- 关系模式:对关系的描述,一般表示为:关系名(属性1,属性2,…,属性n)
- 码(或关键字,简称键,Key)
(1)键:在一个关系中,能唯一标识一元组的属性集
①候选键:不含多余属性的键。
②主键:关系模式中正在使用的候选键。
(2)外键:关系模式R中的某属性集A(A不是R的主键)是另一关系模式S的主键,则A是R的外键。
-
关系模型的数据操纵与完善性约束
关系模型的数据操纵主要包括查询、插入、删除和更新数据。这些操作必须满足关系的完整性约束条件。关系的完整性约束条件包括三大类:实体完整性、参照完整性和用户定义的完整性。 -
关系模型的优缺点:
优点:
(1)关系模型与格式化模型不同,它是建立在严格的数学概念的基础上的。
(2)关系模型的概念单一。无论实体还是实体之间的联系都用关系来表示。对数据的检索和更新结果也是关系(即表)。所以其数据结构简单、清晰,用户易懂易用。
(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序元的工作和数据库开发建立的工作。
缺点:由于存取路径对用户是隐蔽的,查询效率往往不如格式化数据模型。为了提高性能,数据库管理系统必须对用户的查询请求进行优化,因此增加了开发数据库管理系统的难度。