第2章 数据库系统概述
2.1 数据库(DB)
2.1.1 三级模式结构
模式是数据库的抽象描述。
模式的主体是数据模型。
模式的表示分为图示与语言描述
用语言书写的模式称为源模式。
把源模式翻译成机器代码,变为机器可使用的模式,称为目标模式。
数据库的结构分为外部级、概念级和内部级三级,每一级都有对应的模式,所以数据库的体系结构称为三级模式结构。
概念模式(Conceptual Schema)
概念模式通常简称为模式,或全局视图,或DBA视图。
从某个角度看到的数据特性称为数据视图(View)。
概念模式是数据库中全部数据的整体逻辑结构的描述。
目的是为了把用户视图有机地结合成一个逻辑整体,统一地考虑所有用户的要求。
模式数据描述语言(Schema Data Description Language,简称模式DDL)的作用就是用来书写数据库的概念模式,也称为数据定义语言(Data Definition Language)。
外模式(External Schema)
外模式又称为子模式(Subschema)或用户模式,或用户视图。
外模式是用户与数据库系统的接口,是用户用到的那部分数据(全局逻辑数据的子集)的描述。
外模式是模式的一个逻辑子集。
用户使用数据操纵语言(Data Manipulation Language,DML)对数据库的数据进行操作。
外模式数据描述语言(External Schema Data Description Language,外模式DDL)也称子模式数据描述语言(Subschema Data Description Language,子模式DDL或SDDL),它的作用就是用来书写数据库的外模式。
内模式(Internal Schema)
内模式是数据库在物理存储方面的描述,也称为程序员视图,或存储视图。
位(Bit)、字节(Byte)、字(Word)、块(Block)。
数据库的数据是用一定的文件组织方式构造起来的一个个物理文件
内模式数据描述语言(Internal Schema Data Description Language,内模式DDL)的作用就是用来书写数据库的内模式。
三级模式结构的优点
接口简单,使用方便
实现数据共享
数据独立性强
数据安全性强
2.1.2 四种数据记录格式
物理记录
计算机内存与外存间进行一次数据交换的最小单位是一个物理记录。
物理记录的长度是由系统程序员决定的。
内部记录
内部记录不仅包含实际所需要的数据,还包含DBMS在管理数据时所需要的“系统数据”。
内部记录不等同于物理记录,也不涉及设备的约束。
概念记录
概念记录是模式的一个逻辑数据单位。
概念记录强调的是数据的逻辑结构
外部记录
外部记录即用户所需要的数据记录。
2.1.3 两层映射和两级数据独立性
映射(Mapping)
映射又称映像,它实质是一种对应规则,指出映射双方如何进行转换。
模式∕内模式映射
模式∕内模式映射定义模式与内模式之间的对应性,一般在内模式中描述的。
外模式∕模式映射
外模式∕模式映射定义外模式与模式之间的对应性,一般在外模式中描述的。
数据独立性
数据独立性是要维护数据与应用程序之间的无关性。
分类
物理数据独立性
如果数据库内部级的存储设备和存储方法有所变化,那么只需要对模式∕内模式映射做相应的修改,使概念模式尽可能地保持不变,进而使外模式和应用程序也保持不变。这样,称数据库达到了物理数据独立性。
逻辑数据独立性
如果数据库的概念模式需要进行修改,那么只需要对外模式∕模式映射做相应的修改,使外模式尽可能地保持不变,进而使应用程序也保持不变。这样,称数据库达到了逻辑数据独立性。
2.1.4 DBA及数据语言
数据库管理员(DBA)
DBA的主要任务
创建并维护模式
建立外模式
确定数据库的存储结构和访问策略
决定数据库的保护策略
监视系统的运作
DBA的主要工具
装载程序
重组织程序
工作日志
数据字典
数据语言
数据描述语言(DDL)
数据描述语言又称数据定义语言,用于描述和定义数据的各种特性。
分类
模式DDL:用于描述概念级的逻辑结构。
描述数据模型中各个数据逻辑单位的特征
描述各数据逻辑单位之间的联系
描述访问规则
外模式DDL:用于描述外部级数据的逻辑结构。
描述数据模型中各个数据逻辑单位的特征
描述各数据逻辑单位之间的联系
描述访问规则
内模式DDL:用于描述内部级数据的物理特征。
描述数据的存储结构
描述逻辑数据到物理数据的映射
数据操纵语言(DML)
DML是用户操作数据库中数据的工具。
分类依据
基于对数据的处理
存取数据为主的处理
检索(或查询)
更新(包括插入、删除、修改)
分析运算为主的处理
基于语言使用的形式
自含型DML:是一种同时具有描述存取数据处理和描述分析运算处理两方面功能的DML
嵌入型DML:自成一体,有专门的编译程序,由DBMS提供用户所需要的一切服务。又称宿主型DML,或数据子语言(Data Sub-Language,DSL)
基于过程性
过程性DML:早期层次、网状的DML
非过程性DML:关系型DML,简单易学,操作方便
数据库控制语言(Database Control Language,DCL):用于建立和维护数据库。
设备介质控制语言(Device Medium Control Language,DMCL):与操作系统接口的作用,它把数据库的数据映射到物理存储设备上。
2.2 数据库管理系统(DBMS)
DBMS是DBS的核心组成部分,是管理数据的综合性软件。
2.2.1 DBMS的主要功能及其组成
DBMS的主要功能
数据库的定义功能
定义数据库的外模式、模式和内模式三级模式及其两层映射。
定义数据的完整性和安全控制等约束。
数据库的操纵功能
DBMS提供DML及其相应的DML编译程序或解释程序,用户使用DML对数据库中的数据实施各种操作。
数据库的存储管理功能
检查用户访问数据是否合法
事务管理
把各种DML语句转换成OS的命令和参数,让OS执行相应的I/O操作。
管理系统缓冲区。
数据库的保护功能
数据库的恢复
数据库的完整性控制
数据库的并发控制
数据的安全性控制
数据库的维护功能
备份程序
性能监控程序
数据字典(Data Dictionary,DD)
DBMS把DDL所描述的各项内容从源形式转换成目标形式,存放在DD中供系统查阅。
DBMS的组成
语言处理部分
DDL编译程序
DML编译或解释程序
嵌入型DML预处理程序
终端访问命令解释程序
DCL解释程序
系统运行控制部分
系统总控程序
存储管理器
数据查询运行程序
管理DD的实用程序
安全性控制程序
通信控制程序
数据库的建立和维护部分
装载程序
工作日志程序
备份程序
性能监控程序
数据库重新组织程序
系统恢复程序
2.2.2 用户这DBMS查询数据的过程
图2.2 用户通过DBMS查询数据的过程
用户发出查询请求
DBMS确定外部记录
DBMS确定概念记录
DBMS确定内部记录
请求OS读物理记录
DBMS接收内部记录
DBMS提取概念记录
UWA接收外部记录
DBMS填写工作日志
DBMS填写状态码
用户分析查询结果
2.3 数据库系统(DBS)
2.3.1 DBS的组成
数据库(DB):一个结构化的数据集合
硬件:数据库赖以存在的物理设备。
软件:DBMS、OS、各种宿主语言和应用开发软件工具等。
数据库管理员(DBA):创建、监控和维护数据库,并使之始终处于最佳状态的技术人员。
2.3.2 DBS的主要特征
有很好的效益
数据集中控制
有很高的灵活性
方便程序设计和维护
有利推广标准化
备注:
《数据库技术基础与应用(第2版)》的豆瓣链接https://book.douban.com/subject/2995584/