数据库原理(二)- 数据模型

数据模型是什么?

数据模型(Data Model)是一种模型,它是对现实世界数据特征的抽象。可以说数据模型是用来描述数据、组织数据和对数据进行操作的,是数据库系统的核心和基础

数据模型的分类

数据模型应满足三方面要求,一是能比较真实地模拟现实世界,二是容易为人所理解,三是便于在计算机上实现,分别对应概念模型逻辑模型物理模型。通常分为两类数据模型,第一类是概念模型,第二类是逻辑模型和物理模型。
在这里插入图片描述

物理模型

物理模型是对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方法,或在磁盘或磁带上的存储方式和存储方法,是面向计算机系统的

概念模型

由上图可以概念模型实际上是现实世界到机器世界的一个中间层次,用于信息世界的建模,是现实世界到信息世界的第一层抽象,在概念模型中有一些基本概念,如图所示:
在这里插入图片描述

逻辑模型

逻辑模型是按计算机系统的观点对数据建模,主要用于数据库管理系统的实现。常用的逻辑模型主要有层次模型网状模型关系模型面向对象数据模型对象关系数据模型半结构化数据模型,这里详细说一下前三种。

层次模型

层次模型是用树形结构来表示各类实体以及实体间的联系,如公司的行政系统、家族族谱等

在这里插入图片描述
层次模型的数据结构

  1. 有且只有一个结点没有双亲结点,这个结点称为根节点
  2. 根以外的其他结点有且只有一个双亲结点

层次模型的数据操纵与完整性约束

  1. 插入时,如果没有相应的双亲结点值就不能插入它的子女节点值
  2. 删除时,如果删除双亲结点值,则相应的子女结点值也将同时被删除

层次模型的优缺点

优点:

  1. 层次模型的数据结构比较简单清晰
  2. 层次模型库的查询效率高
  3. 层次数据模型提供了良好的完整性支持

缺点:

  1. 现实世界中很多联系是非层次性的,如节点之间具有多对多联系
  2. 查询子女结点必须通过双亲结点
  3. 层次模型中对插入、删除操作的限制比较多,因此应用程序的编写比较复杂
  4. 由于结构严密,层次命令趋于程序化
网状模型

层次模型是用图来表示各类实体以及实体间的联系,如公司的拓扑网络
在这里插入图片描述
网状模型的数据结构

  1. 允许一个以上的结点无双亲
  2. 一个结点可以有多于一个的双亲

网状模型的数据操纵与完整性约束

  1. 支持记录码的概念,码即唯一标识记录的数据项的集合
  2. 保证一个联系中双亲记录和子女记录之间是一对多的联系
  3. 可以支持双亲记录和子女记录之间的某些约束条件,例如层次模型中的约束

网状模型的优缺点

优点:

  1. 能够更为直接地描述现实世界,如多对多关系
  2. 具有良好的性能,存取效率较高

缺点:

  1. 结构比较复杂,不利于最终用户掌握
  2. 网状模型的DDL、DML复杂,并且要嵌入某一种高级语言(如COBOL、C)中
  3. 由于记录之间的联系是通过存取路径实现,增加了编写应用程序的负担
关系模型

关系模型是基于谓词逻辑和集合论的一种数据模型,可以如一张二维表一样

no name sex Birthdate site Admission Date
1 李明 199505 江苏省南京市 2013

关系模型的数据结构

  1. 关系,一个关系对应通常说的一张表,如上
  2. 元组,表中的一行即为一个元组
(1,李明,男,199505,江苏省南京市,2013)
  1. 属性,表中的一列即为一个属性
如no、name、sex、Birthdate、site、Admissiondate皆是属性
  1. 码,也称码键,是表的唯一标识符
如表中学号(no)即使唯一标识符
  1. 域,一组具有相同数据类型的值的集合
如性别字段的占用字符为1
  1. 分量,元组中的一个属性值
每一个分量都是一个不可再分的数据项
  1. 关系模式,对关系的描述
学生(学号,学生姓名,性别,出生年月,地址,入学年份)

关系模型的数据操纵和完整性约束

关系模型中的数据操纵有增删改查等操作,完整性约束包括实体完整性、参照完整性和用户自定义的完整性

关系模型的优缺点

优点:

  1. 关系模型与格式化模型不同,它是建立在严格的数据概念的基础上的
  2. 关系模型的概念单一,无论实体还是实体之间的联系都用关系来表示,操作对象和操作结构都是关系
  3. 关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作

缺点:

  1. 由于存取路径对用户是透明的,查询效率往往不如格式化数据模型
  2. 为了提高性能,数据库管理系统必须对用户的查询请求进行优化,因此增加了开发数据库管理系统的难度

数据模型的组成要素

数据模型的组成要素主要包括数据结构、数据操作和数据的完整性约束条件

数据结构
数据结构描述数据库的组成对象以及对象之间的联系,是所描述的对象类型的集合,是对系统静态特性的描述

数据操作
数据操作是指数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述

数据的完整性约束条件
数据的完整性约束条件是一组完整性规则,包括实体完整性、参照完整性和用户自定义完整性

借鉴

王珊,萨师煊.数据库系统概论(第五版)[M].北京:高等教育出版社,2014:14-27.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章