Skip to main content

数据库系统概述(一)

Archived University Note

This content is from my university archives and may not be reliable or up-to-date.

数据库系统概述(一)

1.1 信息、数据、数据处理与数据管理

1.1.1 数据与信息

1. 信息的定义

信息是人脑对现实世界事物存在的方式、运动状态以及事物之间联系的抽象反映。

2. 信息的特征

  • 信息源于物质和能量
  • 信息是可以感知的
  • 信息是可储存、加工、传递和再生的

3. 数据的定义

数据是由用来记录信息的可识别的符号组成的,是信息的具体表现形式。

4. 数据的表现形式

可用多种不同的数据形式表示同一种信息,而信息不随数据形式的不同而改变。

5. 数据与信息的联系

信息 = 数据 + 语义

1.1.2 数据处理与数据管理

数据处理是将数据转化成信息的过程,包括对数据的收集、管理、加工利用乃至信息输出等一系列活动。

目的:

  • 从大量的原始数据中抽取和推导出有价值的信息,作为决策的依据
  • 借助计算机科学地保存和管理大量复杂的数据,以便人们能够方便地充分利用这些信息资源

在数据处理中,主要包括:

  • 分类
  • 组织
  • 编码
  • 存储
  • 维护
  • 检索

1.2 数据库技术产生、发展

1. 人工管理阶段

  1. 数据没有专门存储设备
  2. 数据没有专门管理软件
  3. 数据不共享
  4. 数据不具有独立性

2. 文件系统阶段

  1. 数据以文件形式长期保存
  2. 由文件系统管理数据
  3. 程序与数据间有一定独立性
  4. 文件形式已经多样化
  5. 数据具有一定的共享性

与人工管理阶段相比,文件系统阶段对数据的管理有了很大的进步,但一些根本性问题仍没有彻底解决:

  • 数据共享性差、冗余度大
  • 数据不一致性
  • 数据独立性差
  • 数据间联系弱

3. 数据库系统阶段

结构化的数据及其联系的集合

  • 数据库系统中的数据不再仅仅针对某个应用,而是面向全组织,不仅数据内部是结构化的,整体也是结构化的
  • 不仅描述了数据的本身,也描述了数据间的有机联系
  • 较好地反映了现实世界事物之间的自然联系

数据共享性高、冗余度低

  • 不同用户、不同应用可同时存取数据库中的数据
  • 每个用户或应用只使用数据库中的一部分数据
  • 用户和程序不像在文件系统中那样各自建立自己对应的数据文件,而是从数据库中存取其中的数据子集
  • 同一个数据可能在物理存储上只存一次,但可以把它映射到不同的逻辑文件里

数据独立性高

  1. 数据逻辑结构、存储结构以及存取方式的改变不影响应用程序
  2. 在数据库系统中,整个数据库的结构可分成三级:
    • 用户逻辑结构
    • 数据库逻辑结构
    • 物理结构
  3. 数据独立性分为两级:
    • 物理独立性
    • 逻辑独立性:当数据库逻辑结构发生改变时,通过修改映射,用户的逻辑结构以及应用程序不用改变

有统一的数据管理和控制功能

数据库管理系统提供四个方面的数据控制功能:

  • 数据安全性
  • 数据完整性
  • 并发控制
  • 数据恢复

1.3 数据库系统的组成

1. 数据库

数据库是储存在计算机内、有组织的、可共享的数据和数据对象(如表、视图、存储过程和触发器等)的集合,这种集合按一定的数据模型(或结构)组织、描述并长期存储,同时能以安全和可靠的方法进行数据的检索和存储。

数据库有如下两个特点:

  1. 集成性
  2. 共享性

2. 用户

用户是指使用数据库的人,他们可以对数据库进行存储、维护和检索等操作,分为如下三类:

  1. 第一类用户:最终用户
  2. 第二类用户:应用程序员
  3. 第三类用户:数据库管理员(DBA)

DBA主要职责如下:

  1. 参与数据库设计的全过程,决定整个数据库的结构和信息内容
  2. 决定数据库的存储结构和存取策略,已获得较高的存取效率和存储空间利用率
  3. 帮助应用程序员使用数据库
  4. 定义数据的安全性和完整性约束条件,负责分配各个应用程序对数据库的存取权限,确保数据的安全性和完整性
  5. 监控数据库的使用和运行,DBA负责定义和实施适当的数据库备份和恢复策略
  6. 改进和重构数据库,DBA负责监视数据库运行期间的空间利用率、处理效率等性能指标

3. 软件系统

  1. 操作系统 OS
  2. 数据库管理系统 DBMS
  3. 应用开发工具
  4. 应用系统

数据库管理系统(DBMS)在整个计算机系统中关系如下:

硬件 → 操作系统 → DBMS、编译系统 → 应用开发工具 → 应用系统

4. 硬件系统

CPU、内存、大容量存储设备、输入/输出设备、外部设备。

1.4 数据库系统的内部体系结构

1.4.1 数据库的三级模式结构

数据库系统模式的概念

数据是按一定的数据模型组织起来的,而在数据模型中有"型"、"值"的概念。

  • :对某一类数据的结构和属性的说明
  • :是"型"的一个具体赋值
  • 模式:是数据库中全体的逻辑结构和特征的描述,仅涉及型的描述,而不涉及具体的值。模式的一个具体值称为模式的一个实例。同一个模式可以有很多实例。

数据库系统的三级模式结构

1. 模式(概念模式)

数据库中全体数据的逻辑结构和特征描述,处于三级模式结构的中间层,不涉及数据的物理存储细节和硬件环境,与具体应用程序、所使用的应用开发工具及高级程序设计语言无关。

  • 一个数据库只有一个模式
  • 是数据库的整体逻辑,对现实世界的抽象
  • 所有信息按照用户需求而形成的一个整体

2. 外模式(子模式、用户模式)

是三级结构最外层,是数据库用户能看到并允许使用的那部分数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示,也是数据库用户的数据视图(用户视图)。

  • 一个数据库可以有多个外模式
  • 不同用户对应的外模式的描述也可能不同
  • 同一个外模式也可以为多个应用系统所使用

3. 内模式(存储模式、物理模式)

是三级系统最内层,也是最靠近物理存储的一层,与实际存储数据有关的一层,是对数据库存储结构的描述,是数据在数据库内部的表示方式。

总结:

  1. 一个数据库系统,实际存在的只是物理级数据库,即内模式,它是数据访问的基础
  2. 概念数据库只不过是物理级数据库的一种抽象描述,用户级数据库是用户与数据库的接口
  3. DBMS的中心工作之一就是完成三级数据库模式间的转换,把用户对数据库的操作转化到物理级去执行

在数据库系统中,外模式可以有多个,而模式、内模式只能各有一个。

1.4.2 数据库系统的二级映像与数据独立性

  1. 外模式/模式映像
  2. 模式/内模式映像

1.4.3 数据库系统的三级模式与二级映像优点

  1. 保证数据的独立性

    • 模式与内模式分开,保证了数据的物理独立性
    • 外模式与模式分开,保证了数据的逻辑独立性
  2. 简化了用户接口

    • 按照外模式编写应用程序或输入命令,而不需了解数据库内部的存储结构,方便用户使用系统
  3. 有利于数据共享

    • 在不同的外模式下可由多个用户共享系统中数据,减少了数据冗余
  4. 有利于数据的安全保密

    • 在外模式下根据要求进行操作,只能对限定的数据操作,保证了其他数据安全

1.5 数据库系统的外部体系结构

单用户结构的数据库系统(桌面型数据库系统)

特点:应用程序、DBMS、数据库都装在一台计算机上,由一个用户独立占用,不同计算机不能共享数据。

适用:未联网用户、个人用户。

主从式结构的数据库系统

特点:应用程序、DBMS、数据库都集中存放在一个大型主机上,所有处理任务由这个大型主机来完成,而连于主机上的终端,只是作为主机的输入/输出设备,每个用户都感觉自己独占主机的全部配置。

优点:结构简单、易于管理与维护。

缺点:所有处理任务由主机完成,对主机的性能要求较高。当终端数量太多时,主机的处理任务和数据吞吐任务过重,容易形成瓶颈,使系统性能下降;当主机遭受攻击而出现故障时,整个系统无法使用。

分布式结构的数据库系统

描述:数据库中的数据在逻辑上是一个整体,但在物理上却分布在计算机网络的不同结点上。

特点:

  1. 数据在物理上是分布的

    • 数据库中的数据不集中存放在一台服务器上,而是分布在不同地域的服务器上,每台服务器被称为结点
  2. 所有数据在逻辑上是一个整体

    • 数据库中的数据在物理上是分布的,但在逻辑上却互相关联,是相互联系的整体
  3. 结点上分布存储的数据相对独立

    • 在普通用户看来,整个数据库系统仍然是集中的整体
    • 用户不关注数据的分片存储,也不关心物理数据的具体分布
    • 完全由网络数据库在分布式文件系统的支持下完成

优点:可以利用多台服务器并发地处理数据,从而提高计算型数据处理任务的效率。

缺点:数据的分布式存储给数据处理任务的协调与维护带来困难,当用户需要经常访问跨节点数据时,系统效率明显地受到网络流量的制约。

总结:分布式数据库系统是分布式网络技术与数据库技术相结合的产物,是分布在计算机网络上的多个逻辑相关的数据库的集合。

客户机/服务器结构的数据库系统

描述:在主从式和分布式结构的基础上,把DBMS的功能与应用程序分开,网络上某个(些)结点专门用于执行DBMS功能,完成数据的管理功能,称为数据库服务器,其他结点上的计算机安装DBMS的应用开发工具和相关数据库应用程序,称为客户机。

优点:

  1. 网络运行效率大大提高
  2. 应用程序的运行和计算处理工作由客户机完成,既减少了与服务器不必要的通信开销,也减轻了服务器的处理工作,从而减轻了服务器的负载

缺点:维护升级很不方便,需要在每个客户机上安装客户机程序,而且当应用程序修改后,就必须在所有安装程序的客户机上升级此应用程序。

浏览器/服务器结构的数据库系统

描述:客户机端仅安装通用浏览器软件,实现用户的输入/输出,而应用程序不安装在客户机端,而是安装在介于客户机和数据库服务器之间的另外一个称为应用服务器的服务器端,即将客户端运行的应用程序转移到应用服务器上。

特点:三层结构

客户机 → 应用服务器 → 数据库服务器

优点:有效地克服了客户机/服务器的结构的不足,客户机只要能运行浏览器即可,其配置与维护也相对很容易。浏览器/服务器结构在Internet中得到了最广泛的应用。Web服务器即为应用服务器。