数据库系统概述

发布时间 2023-10-24 22:11:42作者: ohvy

数据库系统的基本概念

数据

数据是数据库中存储的基本对象。

定义

数据可以定义为: 描述事物的符号记录。

描述事物的符号很多,如数字、文字、图形、声音等,它们都可以经过数字化后存入计算机。

语义

数据的语义也称数据的含义,就是指对数据的解释。数据和关于数据的解释是不可分的。

数据库(DB)

数据库是指长期存储在计算机内的、有组织的、可共享的大量数据集合。

数据库管理系统(DBMS)

数据库管理管理系统是位于用户与操作系统之间的一层数据管理软件。如下图所示:
DBMS

四个主要功能

  • 数据定义功能: 用户可以通过它方便地对数据库中的数据对象进行定义。
  • 数据操纵功能:用户可以通过它实现对数据库查询、插入、删除、修改等基本操作。
  • 数据库的运行管理:用户可以通过它实现对数据库安全性、完整性、一致性的保障。
  • 数据库的建立和维护功能:用户可以实现数据库的初始化、运行维护等。

数据库系统(DBS)

数据库系统是指在计算机系统中引入数据库后的系统,是由软件和硬件组成的完整系统。一般由DB、DBMS、计算机硬件和软件支撑环境、应用系统、数据库管理员和用户构成。如下图所示:
DBS

数据模型

现实世界的信息化过程

现实世界的信息化过程一般两个步骤:

“现实世界的客观对象” 抽象成 “信息世界的概念模型” 再转换成 “机器世界的数据模型

要注意相应“世界”的术语,如下图所示:
img

现实世界

现实世界是客观存在的对象,它设定了用户需求及边界条件,这为整个信息化过程提供了客观基础与初始启动环境

信息世界

信息世界是现实世界在人脑中的反映,是对客观事物及其联系的一种抽象描述。

概念模型是按用户的观点对数据建模,是对现实世界的抽象表示,是现实世界到机器世界的一个中间层次。

概念模型的四个术语:

  • 实体:客观存在的可以相互区别的事物或概念。
  • 属性:实体所具有的某一特性。
  • 码:能够唯一标识实体的属性集。
  • 域:属性的取值范围。
  • 实体型:具有相同属性的实体称为同型实体,用实体名及其属性名的集合来抽象和刻画同型实体,称为实体型。
  • 实体集:同一个实体型的实体集合。
  • 联系:包括实体内部的联系与实体之间的联系。实体内部的联系指实体的各属性之间的联系,实体之间的联系指不同实体集之间的联系。

一个“商品”实体型的例子:商品(商品编号,商品名称,商品种类,价格,数量)。而所有类型的商品即是一个实体集。

机器世界(计算机世界)

机器世界是在信息世界上致力于在计算机物理结构上的描述,将信息世界的概念模型数字化转化为数据模型,实现信息的数据化,便于机器处理。

数据模型的组成要素

数据模型是数据库系统的核心与基础。其描述了数据的结构,以及定义在其上的操作和约束条件

数据结构

主要描述数据类型、内容、性质的有关情况以及描述数据间的联系。

是对系统静态特征的描述。

数据操作

数据操作主要描述在相应数据结构上的操作类型与操作方式

是对系统动态行为的描述。

主要有检索更新(包括插入、删除、修改)两大操作。

完整性约束条件

主要描述数据结构内数据间的语法、语义联系,它们间的制约与依存关系,以及数据动态变化的规则以此来保证数据的正确、有效与相容。

常用的数据模型

层次模型

层次模型是用树型结构表示记录类型及其联系的。

  • 优点: 结构简单,性能出色(对于实体间联系固定且预先定义好的应用系统),完整性好
  • 缺点: 适用面不广(不适合非层次性的联系),操作限制多,命令程序化

网状模型

网状模型的数据结构是用有向图结构表示实体类型及实体间联系的数据模型。

  • 优点: 直观(能够更为直接地描述现实世界),效率高(良好的性能,存取效率高)
  • 缺点: 语言复杂(数据定义语言极其复杂),数据独立性差

关系模型

关系模型是一种以二维表的形式表示实体数据和实体之间关系的数据模型,它由行和列组成。

基本元素

基本元素包括关系、元组、属性、主码、域、分量以及关系模式等。

  • 关系(Relation): 一个关系就是一张表
  • 元组(Tuple): 表的一行
  • 属性(Attribute): 表的一列
  • 候选码(Key): 能够唯一确定一个元组的属性组
  • 主码(Primary Key): 关系中可能有多个候选码,选定其中一个作为主码
  • 域(Domain): 属性的取值范围
  • 分量: 元组中的一个属性值
  • 关系模式: 对关系的描述。一般表示为:关系名(属性1,属性2,...,属性n)

码是能够唯一标识一条记录的属性或属性集,候选码是能够唯一标识一条记录的最小属性集(缺一个属性都不可),主码是某个能够唯一标识一条记录的最小属性集(是从候选码里人为挑选的一条)。

特点

先简单描述一下,后面关系数据库章节会有具体解释。

  • 关系模型中,实体及实体间的联系都是用关系来表示
  • 关系最基本的条件: 关系的每一个分量都必须是一个不可分的数据项,即不允许表中还有表
  • 数据操作: 主要有查询、插入、删除、修改
  • 完整性约束: 主要包括三大类——实体完整性、参照完整性(这两个是关系模型必须支持的,是通用的完整性),和用户定义的完整性(是专用完整性)。

优点:

  • 具有数学基础
  • 概念单一(各种联系和检索结果都用关系来表示,概念单一,数据结构清晰简单)
  • 存取路径透明

缺点:

  • 查询效率受限

面向对象模型

数据结构: 基本结构是对象而不是记录,一切事物、概念都可以看做对象。一个对象不仅包括描述它的数据,而且还包括对其进行操作的方法的定义。

数据操作: 由对象与类中方法建构对象数据模式上的数据操作,这种操作语义强于传统数据模型。

完整性约束: 完整性约束也是一种方法,即是一种逻辑表示式,可以用类中方法表示模式约束。

数据库系统的体系结构

DBS的内部体系结构

从数据库系统内部来看,数据库系统通常采用三级结构模式: 外模式、模式和内模式。其组成如下图所示:

img

数据库的三级结构模式

三级结构具体示例如下图所示:

img

模式

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

一个数据库只有一个模式,定义模式时不仅要定义数据的逻辑结构,而且要定义数据之间的联系,定义与数据有关的安全性、完整性要求。

外模式

外模式又称子模式或用户模式,是模式的子集,是数据的局部逻辑结构,也是数据库用户看到的数据视图。

一个数据库可以有多个外模式,每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据对他们是不可见的,从而对数据库的安全性起到了有力的保障。

内模式

内模式又称存储模式,它是数据在数据库中的内部表示,即数据的物理结构和存储方式的描述

一个数据库只有一个内模式。

数据库的二级映像功能

三级模式是对数据的三级抽象,其联系和转换可通过二级映像实现:

  • 外模式/模式映像,模式/内模式映像

外模式/模式映像

对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。外模式/模式映像可以有多个。

当模式改变时,由数据库管理员对各个外模式/模式映像作相应的改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序可以不必修改,保证了数据与程序的逻辑独立性

模式/内模式映像

模式/内模式映像定义了数据库的全局逻辑结构与存储结构之间的对应关系。模式/内模式映像是唯一的。

当数据库的存储结构改变时,由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,使得外模式不变,从而应用程序也不必修改。保证了数据与程序的物理独立性

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

即数据库应用系统中数据存储层、业务处理层、界面表示层之间的布局和分布。

单用户结构

单用户结构的数据库系统是一种比较简单的数据库系统。数据库系统安装在一台机上,由一个用户独占,不同机器间不能共享数据,容易造成数据大量冗余,主要适合于个人计算机用户。

主从式结构

主从式结构采用大型主机和终端结合的系统,这种结构是将操作系统、应用程序和数据库系统等数据和资源放在主机上,事务由主机完成,终端只是作为一种输入输出设备,可以共享主机的数据。

分布式结构

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

网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用。

同时也可以存取和处理多个异地数据库中的数据,执行全局应用。

客户机/服务器结构(C/S)

数据存储层处于服务器上,应用层和用户界面层处于客户机上,客户机提出请求,服务器对客户机的请求做出回应。(相同的应用程序要重复安装在每一台客户机)

浏览器/服务器结构(B/S)

用户工作界面是通过浏览器来实现,浏览器只负责发送接受数据,几乎不进行数据的处理,主要的任务在服务器端处理。

数据库技术的发展历程

数据管理初级阶段

人工管理阶段

  • 计算机系统不提供对用户数据的管理功能。(程序与数据不可分,数据无独立性)
  • 数据是面向具体应用的。(数据不共享,大量冗余)
  • 不单独保存数据。(程序与数据是整体)

文件系统阶段

  • 数据可以长期保存。(以文件形式)
  • 数据具有一定的独立性,但独立性差。
  • 数据共享性差,冗余度大——文件是面向应用的。(每个程序都有对应的文件)

数据库系统阶段

数据库系统特点

  • 数据结构化(DBS与文件系统的本质区别)
  • 数据冗余度低,实现了数据共享
  • 数据独立性高(逻辑独立性与物理独立性,由二级映像提供)
  • 数据由DBMS统一管理和控制:

关于最后一点,DBMS的管理和控制如:

  • 为用户提供存储、检索、更新数据的手段;
  • 实现数据库的并发控制;
  • 实现数据库的恢复;
  • 保证数据完整性;
  • 保障数据安全性。

第一代数据库系统

层次和网状数据库为基础数据库。

第二代数据库系统

关系数据库。其主要特征是支持关系数据模型。

  • 基于关系模型;
  • 简单明了;
  • 具有坚实的数学理论基础;
  • 很快成为数据库市场的主流。

新一代数据库系统

特征

第三代数据库系统应支持数据管理、对象管理和知识管理

第三代数据库系统必须保持或继承第二代数据库系统的技术。

第三代数据库系统必须对其他系统开放

面向对象数据库

面向对象的方法与数据库技术相结合的产物,应满足两个标准:首先它是数据库系统,其次它也是面向对象系统。

主要应用集中于系统级的软件开发,以及数据密集的、复杂的应用软件开发。

多媒体数据库

数据库技术与多媒体技术相结合的产物,处理非结构化数据的新型数据库。

主要应用于多媒体数据,如音频、视频、图像等数据的存储于处理。

主动数据库

在传统数据库基础上,结合人工智能技术和面向对象技术产生的数据库新技术。让数据库系统具有各种主动进行服务的功能,并以一种统一而方便的机制来实现各种主动性需求。

主动数据库要提供对紧急情况及时主动的反应能力,可用于如洪水调度等系统中。

知识数据库

人工智能和数据库技术相结合的产物,是一种智能数据库技术。主要目标是对知识的存储与管理。

可用于专家系统、远程诊疗等系统中。

分布式数据库

数据库技术与网络技术相结合的产物。分布式数据库本质上是一种虚拟的数据库,它的各个组成部分都物理地存储在不同地理位置的不同数据库中。

适合于地理上分散的公司、团体和组织对于数据库应用的需求。

移动数据库

涉及数据库技术、分布式计算技术、移动通信技术等多个学科领域。其作用在于将有用、准确、及时的信息与中央信息系统相互作用,分担中央信息系统的计算压力,使信息能够提供给在任何时间、任何地点需要它的用户。

可应用于物流领域、移动金融领域等。

Web数据库

Web技术与数据库相结合的产物。不仅把Web与数据库的所有优势集合在了一起,而且充分利用了大量已有数据库的信息资源。

Web数据库的应用广泛。