数据库系统原理之数据库系统概述

数据库系统概述

一、数据库基本概念

1 数据

数据(Data)是描述事物的符号记录,是指用物理符号记录下来的、可以鉴别的信息。

数据以及关于该数据的解释是密切相关的。

数据的解释是对数据含义的说明,也称为数据的语义,即数据所蕴含的信息。

数据与其语义密不可分,没有语义的数据是没有意义和不完整的。

数据是信息存在的一种形式,只有通过解释或处理的数据才能成为有用的信息。

2 数据库

数据库(Database,DB)通俗地被称为存储数据的仓库,只是这个仓库是存储在计算机存储设备上的,并且其所存储的数据是按一定的格式进行存储的。

若从严格意义上讲,所谓数据库是指长期储存在计算机中的有组织的、可共享的数据集合,且数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性,系统易于扩展,并可以被多个用户共享。

数据库中存储的数据具有永久存储、有组织和可共享三个基本特点。

3 数据库管理系统

数据库管理系统(Database Management System,DBMS)是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。它负责科学有效地组织和存储数据,并帮助数据库的使用者能够从大量的数据中快速地获取所需数据,以及提供必要的安全性和完整性等统一控制机制,实现对数据有效的管理和维护。

数据库管理系统主要功能:

  • 数据定义功能:数据定义语言(Data Definition Language,DDL)
  • 数据操纵功能:数据操纵语言(Data Manipulation Language,DML)
  • 数据库的远行管理功能
  • 数据库的建立和维护功能
  • 数据组织、存储和管理功能
  • 其他功能

4 数据库系统

数据库系统(Database System,DBS)是指在计算机中引入数据库技术之后的系统。

一个完整的数据库系统包括数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员和用户。

数据库管理员(Database Administrator,DBA)不同于普通数据库用户,他们是专门负责对数据库进行维护,并保证数据库正常、高效运行的人员。

用户是数据库系统的服务对象,通常包括程序员和数据库终端用户两类用户。

程序员通过高级程序设计语言(如SQL)编写数据库应用程序,应用程序会根据需要向数据库管理系统发出适当的请求,再由数据库管理系统对数据库执行相应的操作。

终端用户是从客户机或联机终端上以交互方式向数据库系统提出各种操作请求,并由数据库管理系统响应执行,而后访问数据库中的数据。

一般在不引起混淆的情况下,常常将数据库系统简称为数据库。

二、数据管理技术的发展

数据管理

  1. 针对组织业务的需要,负责制定并执行整个组织中关于数据的定义、组织、保护与有效使用的策略、过程和计划
  2. 依靠技术,负责实现数据作为一种资源的集中控制管理

数据组织

  1. 逻辑组织:数据的逻辑组织是用户或应用程序所使用的数据结构形式
  2. 物理组织:数据在物理存储设备上的结构形式

检索:为了向用户提供信息,存储的数据要能够方便地被选择提取

数据管理的任务:进行数据的收集、组织、控制、存储、选取、维护,实现在适当的时刻、以适当的形式、给适当的人、提供适当的数据,是数据处理的中心问题

数据处理:对各种数据进行收集、存储、加工和传播的一系列活动的总和

数据管理技术的三个阶段:

  • 人工管理阶段: 20世纪50年代中期以前 批处理
    • 数据不保存
    • 应用程序管理数据
    • 数据面向应用:不能共享、存在大量冗余、数据的独立性差
  • 文件系统阶段:20世纪50年代后期到60年代中期 文件系统 记录内有结构 整体无
    • 数据的物理独立性
    • 数据可长期保存和专门管理
    • 数据共享成为可能 文件级共享
    • 存在大量的数据冗余
  • 数据库系统阶段 20世纪60年代后期以来 数据库管理系统
    • 数据集成 最大程度共享 冗余最小
    • 数据共享性高 用户视图 并发共享
    • 数据冗余小 冗余是受控的
    • 数据一致性
    • 数据独立性高
    • 实施统一管理与控制
      • 数据的安全性(Security)
      • 数据的完整性(Intergrity)
      • 并发控制(Concurrency)
      • 故障恢复(Recovery)
    • 减少应用程序开发与维护的工作量

数据独立:数据定义与使用数据的应用程序分离(逻辑独立、物理独立)

三、数据库系统的结构

数据系统(数据库管理员(DBA视角)):

  • 内部系统结构
    • 三级模式结构
  • 外部系统结构
    • 集中式结构
    • 分布式结构
    • 并行结构

数据系统(数据库应用的用户(如应用程序的编写人员视角)):

  • 客户/服务器结构
  • 浏览器/服务器结构

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

  • 模式(Schema)
  • 外模式(External Schema)
  • 内模式(Internal Schema)

1 模式

模式:也称为概念模式或逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

DBMS提供模式描述语言(Schema DDL)来严格地定义模式,不仅要定义数据的逻辑结构,还要定义数据之间的联系,定义与数据相关的安全性、完整性等要求。

2 外模式

外模式:也称为子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示。

外模式实际上是用于满足不同数据库用户需求的数据视图,即用户视图,其通常是模式的子集,是对数据库整体数据结构的局部重构。

DBMS提供来子模式描述语言(Subschema DDL)来严格地定义子模式。

3 内模式

内模式:也称为存储模式(Storage Schema),是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示形式。

内部视图 存储视图

DBMS提供内模式描述语言(内模式DDL,或者存储模式DDL)来严格地定义内模式,即定义所有内部记录类型、索引和文件的组织方式,以及所有数据控制方面的细节。

4 三级模式结构的两层映像与数据独立性

  1. 一个数据库的整体逻辑结构和特征的描述(概念模式)是独立于数据库其他层次结构(内/外模式)的描述,其是数据库的核心,也是数据库设计的关键。
  2. 一个数据库的内部存储模式依赖于概念模式,但存储模式独立于外部模式,也独立于具体的存储设备。
  3. 用户逻辑结构(外模式)是在全局逻辑结构描述的基础上定义的,它是面向具体的应用程序,独立于内部模式和存储设备。
  4. 特定的应用程序是在外模式的逻辑结构上编写的,它依赖于特定的外模式,与数据库的模式和存储结构独立。
(1)外模式/模式映像

映像:一种对应规则,指出映像双方是如何进行转换的。

数据与程序的逻辑独立性

(2)模式/内模式映像

唯一的

数据与程序的物理独立性

数据库系统的运行与应用结构

1 客户/服务器结构

客户/服务器(Client/Server,C/S)模式

单机方式 网络方式

2 浏览器/服务器结构

三层客户/服务器结构

表示层

处理层 中间层

浏览器/服务器(Browser/Server,B/S)模式

四 数据模型

模型(Model)是现实世界特征的模拟和抽象表达,其有助于人们更好地认识和理解客观世界中的事物、对象、过程等感兴趣的内容,例如汽车车模、飞机航模、建筑图纸、军事沙盘等。

我们常使用数据模型(Data Model)这个工具来模拟和抽象现实世界中的数据特征。

数据模型也是一种模型,它是对现实世界数据特征的抽象,描述的是数据的共性内容。

1 数据特征与数据模型组成要素

数据具有静态和动态两种特征:

  • 静态特征:数据的基本结构、数据间的联系以及对数据取值范围的约束
  • 动态特征:对数据可以进行符合一定规则的操作

对现实世界数据特征进行抽象的数据模型,需要描述数据的静态特征与动态行为,并为数据的表示和操作提供框架。

数据模型是用来描述数据的结构、定义在结构上的操纵以及数据间的约束的一组概念和定义。

数据模型通常由数据结构、数据操作和数据约束三个要素组成。

(1)数据结构

数据结构描述的是系统的静态特性,即数据对象的数据类型、内容、属性以及数据对象之间的联系。

层次结构、网状结构、关系结构

层次模型、网状模型、关系模型、面向对象模型

(2)数据操作

数据操纵描述的是系统的动态特性,是对各种对象的实例允许执行的操作的集合,包括操作及有关的操作规则。

数据操作:

  • 更新
    • 插入
    • 删除
    • 修改
  • 检索

(3)数据约束

数据约束描述数据结构中数据间的语法和语义关联,包括相互制约与依存关系以及数据动态变化规则,以保证数据的正确性、有效性与相容性。

数据约束:

  • 数据完整性约束
  • 数据安全性约束
  • 并发控制约束

2 数据模型的分类

数据模型应满足三个方面的要求:

  • 能比较真实地模拟现实世界
  • 容易为人们所理解
  • 便于在计算机上实现

逐步抽象

现实世界客观对象 —抽象—> 信息世界某一种信息结构(概念级的模型) —转换、组织—> 机器世界某一数据库管理系统支持的数据模型

数据模型是模型化数据和信息的工具,也是数据库系统的核心和基础。

概念层数据模型

概念层是数据抽象级别的最高层,其目的是按用户的观点来对世界建模。

概念层数据模型,也称为数据的概念模型(Conceptual Model)或信息模型,它用来描述现实世界的事物,与具体的计算机系统无关,且独立于任何DBMS,但容易向DBMS所支持的逻辑数据模型转换。

这类模型主要用于数据库的设计阶段,即在设计数据库时,通常用概念模型类抽象、表示现实世界的各种事物及其联系。

(1)信息世界中的基本概念
  • 实体(Entity):客观存在并可相互区别的事物称为实体。
  • 属性(Attribute):实体所具有的某种特性称为实体的属性。一个实体可以由多个属性来描述。
  • 码或键(Key):可唯一标识实体的属性集称为码或键。
  • 域(Domain):属性的取值范围称为该属性的域。
  • 实体型(Entity Type):具有相同属性的实体必然具有共同的特征和性质。用实体名域属性名集合来抽象和刻画同类实体,称为实体型。
  • 实体集(Entity Set):同型实体的集合称为实体集。
  • 联系(Relationship):在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。

实体内部的联系通常是指实体各属性之间的联系。

实体之间的联系是指不同实体之间的联系。

在数据模型中有“型”(type)和“值”(value)两个不同的概念。

“型”指的是对某一类数据的结构和属性的说明。

“值”是型的一个具体的赋值。

(2)概念模型的表示方法

概念模型的表示方法中最为常用的是P.P.S.Chen于1976年提出的实体-联系方法(Entity-Relationship approach)。

该方法用E-R图(E-R diagram)来描述现实世界的概念模型,E-R方法也称为E-R模型(E-R Model)。

E-R图提供了表示信息世界中实体、属性和联系的方法。

逻辑层数据模型

逻辑层是数据抽象的中间层,描述数据整体的逻辑结构。

逻辑层数据模型:也称为数据的逻辑模型(Logical Model),是用户通过数据库管理系统看到的现实世界,是基于计算机系统的观点来对数据进行建模和表示。

  • 层次模型(Hierarchical Model)

    • 数据库系统最早使用的一种数据模型
    • 数据结构是一颗“有向树”
    • 树的每个结点对应一个记录集,也就是现实世界的实体集
    • 特点:有且仅有一个结点没有父结点,它称作根结点;其他结点有且仅有一个父结点
    • 难以表达实体之间比较复杂的关系
  • 网状模型(Network Model)

    • 以网状结构表示实体与实体之间的联系
    • 层次模型的扩展,允许结点有多于一个父结点,并可以有一个以上的结点没有父结点
    • 可以方便地表示实体间各种类型的联系,即可以表示从属的关系,也可以表示数据间的交叉关系,但结构复杂,实现的算法难以规范化
  • 关系模型(Relational Model)

    • 关系模型是用二维表结构来表示实体及实体间联系的模型,并以二维表格的形式组织数据库中的数据
    • 关系模型是建立在严格的数学概念的基础上的
    • 关系模型的概念单一,统一用关系来表示实体以及实体之间的关系,对数据的检索和更新结果同样也是用关系(即表)来表示。
    • 关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作
  • 面向对象模型(Object Oriented Model)

    • 面向对象方法与数据库相结合所构成的数据模型
    • 面向对象模型既是概念模型又是逻辑模型
    • 面向对象数据模型用面向对象观点来描述现实世界实体的逻辑组织、对象间的联系,其表达能力丰富,具有对象可复用、维护方便等优点,是正在发展的数据模型,也是数据库的发展方向之一

物理层数据模型

物理层数据模型,也称为数据的物理模型(Physical Model),其描述数据在存储介质上的组织结构,是逻辑模型的物理实现,即每一种逻辑模型在实现时都有与其相对应的物理模型。

物理模型是数据库最底层的抽象,它确定数据的物理存储结构、数据存取路径以及调整、优化数据库的性能。

物理模型的设计目标是提高数据库性能和有效利用存储空间。

数据库设计人员:现实世界 ——> 概念模型的转换

数据库设计人员/数据库设计工具协助设计人员:概念模型 ——> 逻辑模型的转换

数据库管理系统:逻辑模型 ——> 物理模型的转换

热门相关:无量真仙   寂静王冠   天启预报   仗剑高歌   豪门闪婚:帝少的神秘冷妻