该内容整理自《数据库系统原理与设计》(第二版)
数据库系统概述
目录
一、数据库系统的作用
(一)数据与数据管理
(二)数据管理技术的产生与发展
(三)数据库应用
二、数据模型
(一)数据模型的分层
(二)数据模型的组成要素
(三)层次模型
(四)网状模型
(五)关系模型
三、数据抽象与数据库三级模式
四、数据库系统
(一)数据库系统组成
(二)数据库管理系统
(三)数据库系统的相关人员
一、数据库系统的作用
(一)数据与数据管理
1、数据:
①数据:描述事物的符号记录称为数据,如数值数据、文本数据等,数据是数据库中存储的对象,也是数据库管理系统处理的对象。
数据的表现形式并不能完全表达其内容,其含义即语义需要经过解释才能被正确理解,因此数据和关于数据的解释是不可分的。
②记录:记录是计算机中表示和存储数据中的一种格式或一种方法,这样的数据是有结构的。因此,表格描述的数据称为结构化数据。
2、数据管理
①数据处理:数据处理是指对各种数据进行采集、存储、检索、加工、传播和应用等一系列活动的总和。
目的:从大量的、可能是杂乱无的、难以理解的数据中抽取并推导出对于某些特定的人们来说有价值、有意义的数据。
数据贯彻于社会生产和社会生活的各个领域。
②数据管理:是对数据进行有效的分类、组织、编码、存储、检索、维护和应用,它是数据处理的中心问题。
(二)数据管理技术的产生与发展
数据管理技术经历了人工管理、文件系统和数据库管理系统3个阶段
1、人工管理阶段
数据是面向应用程序的,一个数据集只能对于一个程序。数据需要由应用程序自己定义和管理。
2、文件系统阶段
文件系统吧数据组织成相互独立的文件,利用“按文件名访问,按记录进行存取”的管理技术,可以对文件进行修改,插入和删除。
主要特点:
①文件系统实现了文件内的结构性,即在一个文件内的数据是按记录进行组织的,这样的数据是有结构的。
②程序和数据之间由文件系统提供存取方法进行转换,由于数据在存储上的改变不一定反映在程序上,因此应用程序于数据之间有了一定的物理独立性。
主要弊端:
①数据共享性差,数据冗余和不一致:
数据冗余是指相同的数据在不同的地方重复存储。
②数据独立性差:
一旦数据的逻辑结构改变,就必须修改应用程序以及文件结构的定义,数据与应用程序之间缺乏逻辑独立性。
③数据孤立、数据获取困难:重点是管理数据之间联系?
④完整性问题:
数据的完整性是指数据的正确性,有效性和相容性,也称为一致性约束。
⑤原子性问题
⑥并发访问异常:加锁
⑦安全性问题
3、数据库管理系统阶段
1)数据库管理系统是由一个相互关联的数据的集合和一组用以访问、管理和控制这些数据的程序组成。数据集合通常称为数据库
设计数据库系统的目的是为了有效地管理大量的数据,并解决文件处理系统中存在的问题。
2)主要特点:
①数据结构化
整体结构化:数据不仅仅是内部结构化,而且将数据以及数据之间的联系同意管理起来,使之结构化。二是指在数据库中的数据不仅仅针对某一个应用,而是面向全组织的所有应用。
存取也十分灵活,可以存取数据库中的某一个数据项、一组数据项、一个记录或者一组记录。
②数据的共享度高、冗余度低,易扩充
③数据独立性高:由数据管理系统的两层映像功能来实现。
a、数据独立是指数据的使用(应用程序)与数据的说明(数据的组织结构与存储方式)分离,使应用程序只考虑如何使用数据,而无需关心他们是如何构造和存储的。
b、数据独立性是用来描述应用程序与数据结构之间的依赖程序、包括数据的物理独立性和数据的逻辑独立性,依赖程度越低则独立性越高。
c、物理独立性指用户的应用程序与数据库中数据的逻辑结构是相互独立的。也就是应用程序只关心数据的逻辑结构,数据库中的数据如何组织和存储由DBMS复杂。
d、逻辑独立性是指用户的应用程序与数据库中的数据的逻辑结构是相互独立的。
④数据由数据管理系统统一管理和控制。
a、数据的安全性保护
b、数据的完整性检查
c、并发控制
d、数据库恢复
(三)数据库应用
略
二、数据模型
数据库结构的基础是数据模型。
数据模型是一个描述数据结构、数据操作以及数据约束的数学形式体系。
其中数据结构用于刻画数据、数据语义以及数据之间的联系;数据约束是对数据结构和数据操作的一致性、完整性约束,也称为数据完整性约束。
(一)数据模型的分层
数据模型应满足3大方面的要求:
1、能比较真实地模拟现实世界
2、容易被人所理解
3、便于在计算机上实现
数据模型划分为3层:概念模型、逻辑模型和物理模型
1、概念模型:
概念层次的数据模型称为概念数据模型,简称为概念模型,也称为信息模型,它按用户的观点或认识对现实世界的数据和信息进行建模,主要用于数据库设计。
概念模型是一种独立于计算机系统的模型。它不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。概念模型强调语义表达功能,它是现实世界的第一层抽象。
特点:
①语义表达能力强
②易于理解
③独立于仍和DBMS
④容易向DBMS所有支持的逻辑数据模型转换
常用的概念模型有ER模型(实体-联系模型)和OO模型(面向对象模型)
2、逻辑模型
逻辑层是数据抽象的中间层,用于数据库数据的整体逻辑结构,是现代世界的第二层抽象。该层的数据抽象称为逻辑数据模型。用户通过数据库管理系统看到的现实世界,是按计算机系统的观点对数据建模,即数据的计算机实现形式(主要用于DBMS的实现)
传统逻辑数据模型有层次模型、网状模型、关系模型等。
3.物理模型
物理层是数据抽象的最低层,用来描述数据的物理存储结构和存取方法。该层抽象称为物理数据模型。
(二)数据模型的组成要素
数据模型是一个描述数据结构、数据操作和数据约束的概念及其符号表示系统。这些概念和符号表示系统可精确地描述数据的静态特征、动态特征和完整性规则。由数据结构、数据操作、数据完整性约束3部分组成。
1、数据结构(静态特征)
描述数据库的组成对象(实体)以及对象之间的联系。
(1)与对象的类型、内容、性质有关的。(如关系模式中的域、关系模式、码等)
(2)与对象之间的联系有关的。(如外码)
数据结构是刻画一个数据模型性质的基础和核心方面。
2、数据操作(动态特征)
数据操作是指对数据库中各种对象的实例允许执行的操作集合,包括操作及其有关的操作规则。主要有查询和更新两大类操作。
3、数据完整性约束
数据完整性约束是一组数据完整性规则。数据完整性规则是数据、数据语义和数据联系所具有的制约和依存规则,包括数据结构完整性规则和数据操作完整性规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。
(三)层次模型
1、层次模型用树形结构来表示各类实体以及实体间的联系。实体用记录来表示,实体间的联系用链接(指针)来表示。
2、在数据库中满足如下两个条件的基本层次联系的集合为层次模型:
①有且只有一个节点没有双亲结点,这个结点称为根结点;
②根以外的其他结点有且只有一个双亲结点。
3、主要优点:
①数据结构比较简单清晰
②查询效率高
③提供了良好的数据完整性支持
4、主要缺点
①现实中许多联系是非层次的,只能用过引入冗余数据来解决,应用程序编写比较复杂。
②查询孩子结点必须通过双亲结点
③由于结构严密,层次命令趋于程序化。
(四)网状模型
1、在数据库中,把满足如下两个条件的基本层次联系的集合称为网状模型:
①允许一个以上的结点无双亲
②一个结点可以有多个双亲。
2、网状模型是一个比层次模型更具普遍性的结构。
3、主要优点:
①能够更为直接的描述现实世界
②具有良好的性能,存取效率较高
4、主要缺点:
①结构较复杂,而且随着应用规模的扩大,数据库结构变得越来越复杂
②操作语言比较复杂
(五)关系模型
1、关系数据模型的数据结构
(1)关系模型由一组关系组成,每个关系的数据结构都是一张规范化的二维表。
(2)表中的常用术语:
①关系:一个关系对应一张二维表,每一个关系由一个名称即关系名。
②元组:表中的一行称为一个元组
③属性:表中的一列称为一个属性,每一个属性都有一个名称即属性名
④码:也称为码键,表中的某个属性或者属性组,它都可以唯一地标识表中的一行。
⑤域:属性的取值范围
⑥分量:元组中的一个属性值
⑦外码:表中的某个属性或者属性组,用来描述本关系中的元组与另一个关系中的元组之间的联系。因此外码的取值范围对应于另一个关系的码的取值范围的子集。
⑧关系模式:通过关系名和属性名列表对关系进行描述,相当于二维表的表头部分:关系名(属性1,属性2……)
如student(学号,姓名,性别,出生日期,所学专业)
下划线为码属性,斜体为外码
(3)基本要求
①关系中的一个元组必须是可分区的,存在码属性
②关系的每一个属性必须是一个不可分的数据项,即不允许表中有表。
2、关系数据模型的操作与完整性约束
关系模型的数据操作是集合操作,操作对象和操作结果都是关系(元组的集合)
3、优点:
①关系模型建立在严格的数学概念上,有关系代数作为语言模型,有关系数据理论作为理论基础
②关系模型概念单一
③关系模型的存取路径对用户透明,从而有更高的数据独立性,更好的安全保密性
4、缺点:查询效率不如非关系数据模型。
三、数据抽象与数据库三级模式
数据库管理系统的一个主要目的是隐藏关于数据存储和维护的某些细节,为用户提供数据在不同层次上的视图,即数据抽象。
1、数据抽象
一个商用的数据库管理系统必须支持高校的数据检索
(1)物理层抽象
最低层次的抽象,描述数据实际上是怎样存储的。物理层详细描述复杂的底层数据的存储结构和存取方法。
(2)逻辑层抽象
比物理层更高层次的抽象,描述数据库中存储什么数据以及这些数据之间存在什么关系。逻辑层抽象是提供给数据库管理员和数据库应用开发人员使用,他们必须明确数据中应该保存哪些信息。
(3)视图层抽象
最高层次的抽象,只描述整个数据库的某个部分。
2、数据库的三级模式
模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述,不涉及具体的值。模式的一个具体值称为模式的一个实例。同一个模式有多个实例。
(1)数据库三级模式结构是指数据库管理系统提供的外模式、模式和内模式3个不同抽象级别观察数据库中数据的角度。
①模式:
模式也称逻辑模式,对应于逻辑层数据抽象,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。是数据库管理系统模式结构的中间层,不涉及数据的物理存储细节和硬件环境,也与具体的应用程序的开发工具和语言无关。
②外模式
外模式也称子模式。对于视图层数据抽象,它是数据库用户能够看到和使用的局部数据的逻辑模式和特征的描述,是数据库用户的数据视图,是与某一个应用有关的数据的逻辑表示。
③内模式
内模式也称存储模式,对应于物理层数据抽象,它是数据的物理结构和存储方式的描述,是数据在数据库内部的表示方式。
3、数据库的两层映像功能与数据独立性
DBMS在三级模式之间提供了两层映像:外模式/模式映像,模式/内模式映像。
(1)外模式/模式映像
模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构,对应一个模式可以有多个外模式;数据库管理系统都有一个模式/外模式映像,它定义了该外模式与模式之间的对应关系。
当模式改变时,只需要改变映像可以使外模式保持不变,称为数据的逻辑独立性
(2)模式/内模式映像
数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据全局逻辑结构和存储结构之间的对应关系。当数据库的存储结构改变了,对模式/内模式映像做出相应改变,可以保持模式不变,这是数据的物理独立性。
在三级模式结构中,模式即全局逻辑结构是数据库的核心和关键,它独立于数据库的其他层次。在设计数据库模式结构时,应先确认数据库的逻辑模式。
四、数据库系统
(一)数据库系统组成
1、从内部结构来看,数据库系统结构是外模式/模式/内模式的三级模式
从用户角度看(外部结构)数据库系统结构分为单用户模式、主从模式、分布式结构、客户/服务器,浏览器/应用服务器/数据库服务器等结构
2、数据库中包含4类数据
①用户数据:通过结构化的关系(二维表)组织所有业务数据的集合
②元数据:对关系数据库结构的描述数据和数据库的有关统计数据,也称为数据字典
③索引:为了改进数据库的性能和可访问性而建立的附加数据
④应用元数据:用户窗体、报表、查询和其他形式的应用组件
(二)数据库管理系统
1、DBMS的功能
①数据定义
②数据组织、存储和管理
③数据操纵
④数据库的事务管理和运行管理
⑤数据库的建立和维护
⑥其他功能
2、DBMS组成
①模式更新:对数据库的逻辑结构进行修改(如在学生表中添加分数)
②查询
③更新
④查询处理器:对用户请求的SQL操作进行查询优化,从而找到一个最优的执行策略,然后向存储管理器发出请求,使其执行
⑤存储管理器:根据执行策略,从数据库中获取相应的数据,或更新数据库中相应的数据
⑥事务处理器:负责资源管理、事务调度,保证数据库的一致性,保证多个同时运行的事务不会发生冲突,以及保证当系统发生故障时数据不会丢失。
(三)数据库系统的相关人员
1、数据库管理员(DBA)
2、系统分析员和数据库设计人员
3、应用程序员
4、用户
5、负责用户