【数据库理论】数据模型

本系列为《数据库系统原理与应用(刘先锋等著)》的读书笔记。

一,数据描述

  1. 数据的三种范畴
    1)现实世界客观世界):现实世界所反映的客观存在的事物及其相互之间的联系,指数处理对象最原始的表现形式。
    2)信息世界观念世界):是现实世界在人们头脑中的反映,经过一定的选择,命名和分类而形成的。以下为相关概念:

    • 实体(Entity):客观存在的事物在人们头脑中的反映,或说,客观存在并可相互区别的客观事物或抽象事件。
    • 属性(Attribute):实体所具有的某一方面的特性。
    • 域(Domain):一个属性可能取的所有属性值的范围称为该属性的域。
    • 码(Key):唯一标识实体的属性集。
    • 实体型(Entity Type):用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
    • 实体集(Entity Set):同一类型实体的集合。

    3)机器世界数据世界存储世界
    数据化后的信息称为数据,所以说数据是信息的符号表示。以下为相关概念:

    • 数据项(字段,Field):对应于信息世界中的属性。
    • 记录(Record):对应于每个实体所对应的数据。
    • 记录型(Record Type):对应于信息世界中的实体型。
    • 文件(File):对应于信息世界中的实体集。
    • 关键字(Key):对应于能够唯一标识一个记录的字段集。
  2. 实体间的联系

    • 一对一联系:如果实体集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具有多对多联系,记作n:m

二,概念模型与E-R方法

  1. 数据模型
    1)数据模型应满足以下要求:

    i)能够比较真实地模拟现实世界;
    ii)容易为人所理解;
    iii)便于在计算机上实现。

    2)数据模型分类:

    i)概念模型:即信息模型,是按用户的观点来对数据和信息建模的,主要用于数据设计;
    ii)基本数据模型:主要包括网状模型层次模型关系模型等,是按计算机系统的观点对数据建模的,主要用于DBMS的实现。

  2. 数据模型的三要素
    1)数据结构:用于描述系统的静态特性。数据结构是所有研究对象类型的集合,这些对象是数据库的组成部分,分为两大类:

    • 与数据类型,内容,性质有关的对象;
    • 与数据之间联系有关的对象。

    2)数据操作:用于描述系统的动态特征。数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。数据库主要有检索修改(插入,删除,更新)两大数据操作。
    3)数据完整性约束:是一组完整性规则的集合。完整性规则是给定的数据模型中的数据及其联系所具有的制约和存储规则,用于限制符合数据模型的数据库状态及状态的变化,用于确保数据的正确有效相容

  3. 概念数据模型
    1)概念模型的定义:按用户的观点对现实世界进行数据建模而形成的,是一种独立于计算机系统的模型,完全不涉及信息在计算机系统中的表示,也不依赖于具体的数据库管理系统,用于描述某个特定组织所关心的信息结构。
    2)概念模型的相关基本概念:实体属性实体型实体集
    3)概念模型的基本关系:在概念模型中主要解决问题是实体间的联系。

  4. E-R图表示法
    1)实体型:用矩形表示,矩形框内写明实体名;
    2)属性:用椭圆表示,椭圆内写明属性名;
    3)联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标注联系的类型(1:11:nn:m)。
    E-R模型优点:

    i)接近人的思想,容易理解;
    ii)与计算机无关,用户容易接受。

三,传统的三大数据模型

  1. 层次模型
    1)层次模型定义:用树形结构表示实体之间的联系的模型称为层次模型
    2)建立数据的层次模型需要满足以下条件:

    i)有且仅有一个结点没有父结点,这个结点即为树根结点;
    ii)其他数据记录有且仅有一个父结点。

    3)层次模型基本特点:任何一个给定的记录值只有按其路径查看,才能体现它的全部含义,没有一个子记录值能够脱离父记录值而独立存在的。
    4)层次模型最明显特点:层次清晰,构造简单,易于实现,可以很方便地表示一对一和一对多这两种实体之间的联系。
    5)层次模型的主要优点:

    i)层次模型本身比较简单;
    ii)实体间联系是固定的,且预先定义好的应用系统采用层次模型来实现,其性能优于关系模型的性能,不低于网状模型的性能;
    iii)层次模型提供了良好的完整性支持。

    6)层次模型的主要缺点:

    i)现实世界中很多联系是非层次性的,层次模型表示这类联系的方法很笨拙,只能通过引入冗余数据或创建非自然组织(引入虚结点)来解决;
    ii)对插入和删除操作的限制比较多;
    iii)查询子结点必须通过父结点;
    iv)由于结构严谨,层次命令趋于程序化。

  2. 网状模型
    1)网状模型的定义: 网状模型是一种有向图,在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型:

    i)允许一个以上的结点无父结点;
    ii)一个结点可以有多于一个的父结点。

    2)为了描述网状模型的记录之间的联系,引进了系(Set)的概念,所谓可以理解为命名了的联系,它由一个父记录型和一个或多个子记录型构成。
    3)网状数据库的定义:用网状模型设计出来的数据库称为网状数据库
    4)网状模型的主要优点:

    i)能够更为直接地描述现实世界,如一个结点可以有多个父结点;
    ii)具有良好的性能,存取效率较高。

    5)网状模型的主要缺点:

    i)结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于用户最终掌握;
    ii)其DDL,DML语言复杂,用户不易使用。

  3. 关系模型
    1)关系模型的主要优点:

    i)数据结构比较简单;
    ii)具有很高的数据独立性;
    iii)可以直接处理多对多联系;
    iv)坚实的理论基础。

    2)值域的定义:在关系模型中,一个n元关系有n个属性,属性的取值范围称为值域。
    3)关系模型主要缺点:存取路径对用户透明,查询效率往往不如非关系数据模型。

四,数据独立与三层结构

  1. 三级模式结构

    • 外模式:又称为用户模式,是数据库用户和数据库系统的接口,是数据库用户的数据视图,是数据库用户可以看得见和使用的局部数据的逻辑结构和特征描述,是与某一个应用有关的数据的逻辑表示。
    • 模式:可分为概念模式逻辑模式,是所有数据库用户的公共数据视图,是数据库中全部数据的逻辑结构和特征的描述。

      一个数据库只有一个模式,其中概念模式可以用实体-联系模型模型来描述,逻辑模式以某种数据模型为基础,综合考虑所有用户的需求,并将其形成全局逻辑结构。

    • 内模式:又称为存储模式,是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。
  2. 数据的独立性

    • 逻辑数据独立性:当模式改变时,只要对外模式/模式映像做相应的改变,就可以使外模式保持不变,以外模式为依据编写的应用程序就不受影响,从而应用程序不必修改,保证了数据与程序之间的逻辑独立性
    • 存储数据独立性:当内模式改变时,只要对模式/内模式映像做相应的改变,使模式保持不变,应用程序就不受影响,从而保证了数据与程序之间的物理独立性,称为存储数据独立性

五,数据库管理系统

  1. DBMS的主要功能
    数据库的主要职责就是有效地实现数据库三级模式之间的转换,即把用户或应用程序对数据库的一次访问,从用户级带到概念级,再导向物理级,转换为对存储数据的操作。

    1)数据库定义
    2)数据库操作及查询优化
    3)数据库控制运行管理
    4)数据组织,存储和管理
    5)数据库的恢复和维护
    6)数据库的多种接口
    7)其他功能

  2. DBMS的组成
    1)DBMS查询处理器存储管理器两大部分组成。其中:

    (1) 查询处理器主要有DDL编译器,DML编译器,嵌入式DML的预编译器及查询运行核心程序;
    (2) 存储管理器有授权和完整性管理器,事务管理器,文件管理器及缓冲区管理器。

    2)查询处理程序:把用较高级的语言所表示的数据库操作(查询、更新等)转换成一系列对数据库的请求。
    3)存储管理程序:包括文件管理程序缓冲区管理程序
    4)事务管理程序:保证数据库中所有事务全部都能正确执行。

  3. 用户访问数据库的过程(略)

坚持原创技术分享,您的支持将鼓励我继续创作!