绪论
什么是数据库系统
数据库
- 数据库定义:包含了关于某方面信息的互相关联的数据集合。
DBMS
- 数据库管理系统(DBMS):数据库可以科学地组织和存储数据、高效地获取和维护数据,从而提供一个可以方便、安全地存取信息的环境,将这类专门的、通用的软件称为DBMS。
- DBMS是位于用户与操作系统之间的一层软件,它是一个大型的复杂的系统软件。常用的有PostgreSQL、DB2、Oracle、SQL Server。
DBS
- 数据库系统(DBS);面向数据管理应用、在计算机系统中引入数据库管理系统之后的整个系统。
- DBS一般由硬件系统、操作系统、数据库、数据库管理系统、应用系统、常规用户和数据库管理员等构成
总结
- 数据库其实就是数据的集合
- 我们平时简称的数据库其实是DBMS
- DBS包含DBMS
为什么需要数据库系统
- 数据库系统以数据库管理系统为核心,支持安全、方便地共享数据,或者说是安全、简单、高效地共享数据。
- 在面向文件系统中,存在数据不一致、数据重复、数据孤立等问题。
数据抽象
四层抽象
可以从数据库系统工作流程来联系数据抽象的层次。
- 用户存在数据需求,而对用户需求的认识构成概念层。
- 有了需求之后,需要构建数据以及数据之间的关系,而描述这些数据整体结构的即为逻辑层。
- 逻辑层向上是用户可以访问的界面,即视图层。
- 逻辑层向下是最底层的硬件设备,而反映数据是怎样在辅助存储设备上组织的即为物理层。
数据抽象的表达
根据数据抽象的级别定义了四层抽象的数据描述
- 概念层的概念模型/概念模式/概念实例
- 逻辑层的逻辑模型/逻辑模式/逻辑实例,逻辑模式也称为模式或全局模式
- 物理层的物理模型/物理模式/物理实例,物理模式也称为内模式
- 视图层的视图模型/视图模型/视图实例,视图模式也称为外模式
三层模式和两级映射
三层模式
- 外模式是用户用到的那部分数据的描述,是数据库用户与数据库系统的接口,是数据库用户看到的数据视图。一个数据库设计通常定义多个外模式。
- 一个数据库只有一个模式,定义模式时不仅要定义数据的逻辑结构,而且要定义数据之间的联系,定义安全性要求。
- 一个数据库也只有一个内模式,是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式(其实也不涉及物理设备的具体细节)。
两级映射
- 外模式与模式之间有外模式/模式映射。对于每一个外模式,数据库系统都有一个外模式/模式映射,它定义了该外模式与模式之间的对应关系。
- 当模式改变时,数据库管理员对各个外模式/模式映射做相应的改变,而外模式完全保持不变。由于应用程序是依据数据的外模式编写的,所以应用程序完全无需修改。这样就称数据库达到了逻辑数据独立性(逻辑独立性)。
- 模式和内模式之间有模式/内模式映射,用于定义模式和内模式之间的对应性。
- 如果数据库的内模式要改变,那么只要对模式/内模式映射做相应的改变,可以使模式尽可能保持不变。也就是对内模式的修改尽量不影响模式。这样,就称数据库达到了物理数据独立性(物理独立性)。
DBMS
数据定义语言
数据定义语言(DDL):数据模式包括外模式、模式和内模式,都通过一系列定于语句来说明,这些定义语句称作数据定义语言(DDL)
数据操作语言
数据操作语言(DML)是使用户可以访问或操作数据的语言,通常可以进行一下数据访问:查询、插入、删除、更新
数据保护语言
数据保护语言(DPL);进行数据保护(例如为不同用户定义不同视图)
物理数据结构
- 数据文件:存储数据库本身的文件
- 数据字典:存储元数据,如数据模式、外模式和内模式
- 索引:帮助快速定位特定数据项。
- 统计数据:数据库数据分布特征
- 日志:依此登记事务对数据修改,以帮助故障时回复数据库
数据库管理系统包括三大模块
- 存储管理模块。负责存取磁盘上的原始数据。
- 查询处理模块。接收用户对数据库访问的语句(DDL、DPL、或DML),直接执行DDL;对DML语句翻译成查询引擎能理解并优化了的执行路径。
- 安全保护管理模块。提供多种机制保护发生意外时的数据安全。包括权限管理、完整性、事务等。事务管理实现协调并发操作、访问共享数据和彼此之间潜在干扰等数据库操作过程中的行为。