定义:是对实现世界数据特征的抽象
地位:数据模型是数据库系统的核心和基础
要求:① 能比较真实地模拟现实世界 ② 容易为人所理解 ③ 便于在计算机上实现
层次模型和网状模型统称为格式化模型
现实世界——>信息世界(概念级模型)——>机器世界(数据库管理系统支持的数据模型)
现实世界——>概念模型 数据库设计人员完成
概念模型——>逻辑模型 数据库设计人员/数据库设计工具协助设计人员完成
逻辑模型——>物理模型 数据库管理系统完成
组成要素:数据结构、数据操作和数据的完整性约束条件
数据结构:描述数据库的组成对象以及对象之间的联系,数据结构描述的内容有:① 与对象的类型、内容、性质有关 ② 与数据之间的联系有关的对象 数据结构是刻画一个数据模型性质最重要的方面 数据结构是所描述的对象类型的集合,是对系统静态特性的描述
数据操作:指对数据库中各种对象(型)的实例(值)运行执行的操作的集合,包括操作及其有关的操作规则 数据操作是对系统动态特性的描述
数据的完整性约束条件:一组完整性规则
概念模型
定义:
-
用于信息世界的建模
-
是现实世界到机器世界的一个中间层次
-
是数据库设计人员进行数据库设计的有力工具
-
是数据库设计人员和用户进行交流的语言
表示方法:实体—联系方法(E-R 方法)
信息世界中的基本概念
实体:客观存在并可相互区别的事物,可以是具体的,也可以是抽象的概念或联系
属性:实体所具有的某一特性,一个实体可以由若干个属性刻画
码:唯一标识实体的属性集 码不一定是单一的属性,也可以是属性集;码一定是属性,属性不一定是码
实体型:用实体名及其属性名集合来抽象和刻画同类实体
实体集:同一类型实体的集合
联系:联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体集之间的联系。实体之间的联系有一对一、一对多和多对多等多种类型
层次模型
地位:层次模型是数据库系统中最早出现的数据模型
条件
-
有且仅有一个结点没有双亲结点,这个结点称为根结点
-
根以外的其他结点有且仅有一个双亲结点
层次数据库系统只能处理一对多的实体联系
表示方法
-
实体型:用记录类型描述,每一个结点表示一个记录类型
-
属性:用字段描述,每个记录类型可包含若干个字段(各个记录类型、同一记录类型中各个字段不能同名)
-
联系:用结点之间的连线表示记录类型之间的一对多的联系
特点
-
结点的双亲是唯一的
-
只能直接处理一对多的实体联系
-
每个记录类型可以定义一个排序字段,也称为码字段
-
任何记录值只能按其路径查看时,才能现实出它的全部含义
-
没有一个子女记录值能够脱离双亲记录值而独立存在、
优点
-
层次模型的数据结构比较简单清晰
-
层次数据库的查询效率高,层次数据库的性能优于关系数据库,不低于网状数据库
-
层次数据库模型提供了良好的完整性支持
缺点
-
现实世界中很多联系是非层次性的
-
只能直接表示一对多的实体联系
-
查询子女结点必须通过双亲结点
-
由于结构严密,层次命令趋于程序化
数据操纵
-
查询
-
插入
-
删除
-
更新
完整性约束
-
如果没有相应的双亲结点值就不能插入它的子女结点值
-
如果删除双亲结点值,则相应的子女结点值也将被同时删除
网状模型
层次模型中子女结点与双亲结点的联系是唯一的,而在网状模型中可以不唯一【故每个联系需命名,并指出与该联系有关的双亲记录和子女记录】
代表
DBTG 系统(CODASYL 系统)
条件
-
允许一个以上的结点无双亲
-
一个结点可以有多于一个的双亲
完整性约束
-
支持记录码的概念,码即唯一标识记录的数据项的集合
-
保证一个联系中双亲记录和子女记录之间是一对多的联系
-
可以支持双亲记录和子女记录之间的某些约束条件,例如,有些子女记录要求双亲记录存在才能插入,双亲记录删除时也连同删除
优点
-
能够更为直接地描述现实世界,如一个结点可以有多个双亲,结点之间可以有多种联系
-
具有良好的性能,存取效率较高
缺点
-
结构比较复杂,而且随着应用环境的扩大,数据库的结构变得越来越复杂,不利于最终用户掌握
-
网状模型的 DDL、DML 复杂,并且要嵌入某一种高级语言中,用户不容易掌握,不容易使用
-
由于记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此用户必须了解系统结构的细节,加重了编写应用程序的负担
关系模型
地位:关系模型是最重要的一种数据结构
基本概念
关系:一个关系对应通常说的一张表
元组:表中的一行即为一个元组
属性:表中的一列即为一个属性,给每一个属性起一个名称即属性名
码(码键):表中的某个属性组,可以唯一确定一个元组
域:一组具有相同数据类型的值的集合,属性的取值范围来自某个域
分量:元组中的一个属性值
关系模式:对关系的描述,一般表示为
关系名(属性 1, 属性 2, ..., 属性 n)
规范化
关系模型要求关系必须是规范化的,即要求关系必须满足一定的规范条件,其中最基本的一条就是,关系的每一个分量必须是一个不可分的数据项,即不允许表中还有表
数据操纵
查询、插入、删除和更新数据
关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合
关系模型把存取路径向用户隐蔽起来,用户只要指出"干什么"或"找什么",不必详细说明"怎么干"或"怎么找",从而大大地提高了数据的独立性,提高了用户生产率
完整性约束
-
实体完整性
-
参照完整性
-
用户定义的完整性
优点
-
关系模型与格式化模型不同,是建立在严格的数学概念的基础上的(其建立在二维表的基础上)
-
关系模型的概念单一。无论实体还是实体之间的联系都用关系表示。对数据的检索和更新结果也是关系。所以其数据结构简单、清晰,用户易懂易用
-
关系模型的存取路径对用户透明(指看不见,隐蔽),从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的