本文从数据库系统相关的概念讲起,对数据库系统的特点、数据库模式以及DBMS的层次结构进行了介绍。
回到上一章
课程内容
- 数据库系统
- 数据库模式
- 数据模型
- 数据库系统结构
下面分别介绍
数据库系统
数据库
数据库是具有一定结构的、互相之间有一定联系的数据的有序集合。
从定义不难看出:数据库具有结构、联系和一定的有序性。同时具备这三个特征正是它显著优越于传统文件存储之处。在数据库出现前,数据存储主要依靠磁盘文件的存储,而且针对特定的应用其存储规则都是有区别的,这样存储的数据分散而且很难被其他应用程序所复用。开发应用程序的人员工作量也十分巨大,需要为不同的应用定义不同的存储规则,从长远来看,这样对于迭代开发也十分不利;同时数据定义与操作没有与应用程序做到有效的分离,无论哪里做了一点修改,与之相关的其他地方也不能幸免。正是由于传统存储方式存在的问题,数据库系统的概念才应运而生。由于它具有统一的存储结构,不同应用得到的数据可以综合起来以备它用;由于数据库存储的数据在一定程度上是有序的,因此可以便于进行范围查找;对于底层数据文件的操作由DBMS来完成,应用程序只需要调用DBMS提供的API就可以方便的操纵数据库,这样不仅应用程序开发者免于自己设计数据存储结构,而且做到了应用程序逻辑与数据的分离,对提高迭代开发效率也大有裨益。
数据库管理系统DBMS
DBMS是一个通用的软件系统,由一组系统程序构成,负责数据库的定义、管理、使用及操作维护。DBMS属于系统软件,通过它对数据库进行统一管理和控制。
数据库系统
数据库系统是实现有组织地、动态地存储大量关联数据,方便用户访问的计算机软、硬件和数据资源组成的系统,它包括DB、DBA、DBMS等。
数据库系统特点
1。 面向全组织的复杂数据库
- 支持全企业的应用而不是某一个应用
- 数据反映了客观事物间的本质联系,而不是着眼于面向某个应用,是有结构的数据。这是数据库系统的主要特征之一,与文件系统的根本差别。文件系统只是记录的内部有结构,一个文件的记录之间是个线性序列,记录之间无联系
2。 数据的冗余度小,易扩充
- 数据面向整个系统,而不是面向某一应用,数据集中管理,数据共享,因此冗余度小
- 节省存储空间,减少存取时间,且可避免数据之间的不相容性和不一致性
- 每个应用选用数据库的一个子集,只要重新选取不同子集或者加上一小部分数据,就可以满足新的应用要求,这就是易扩充性
下图是数据库系统减小冗余度的例子,各个部门操作的数据具有很大的相关性,如果统一存储起来,可以显著地降低冗余度。
3。 具有较高的数据和程序的独立性
- 把数据库的定义和描述从应用程序中分离出去
- 数据描述是分级的(全局逻辑、局部逻辑、存储)
- 数据的存取由系统管理,用户不必考虑存取路径等细节,从而简化了应用程序
4。 统一的数据控制功能,数据共享程度高
- 数据的安全性控制(Security)
- 保护数据以防止不合法的使用所造成的数据泄露和破坏
- 措施:用户标识与鉴定,存取控制
- 数据的完整性控制(Integrity)
- 数据的正确性、有效性、相容性
- 措施:完整性约束条件定义和检查
- 并发控制(Concurrency)
- 对多用户的并发操作加以控制、协调,防止其互相干扰而得到错误的结果并使数据库完整性遭到破坏
- 措施:封锁
数据库模式
模式:对以格式化形式组织的数据库的描述和规定的信息集合,它是一种对数据的抽象,是描述数据的一种方法
为了提高数据的物理独立性和逻辑独立性,使数据库的用户观点,即用户看到的数据库,与数据库的物理方面,即实际存储的数据库区分开来,数据库系统的模式是分级的
数据库系统三级模式结构
CODASYL(Conference On Data System Language,美国数据系统语言协商会)提出模式、外模式、存储模式三级模式的概念。三级模式之间有两级映象
- 视图抽象->外模式(Sub-Schema)
- 用户的数据视图
- 是数据的局部逻辑结构,模式的子集
- 概念抽象->概念模式(Schema)
- 所有用户的公共数据视图
- 它是数据库中全体数据的全局逻辑结构和特性的描述
- 物理抽象->内模式(Storage Schema)
- 又称存储模式
- 是数据的物理结构及存储方式
三个模式间的关系如下图:
在不同的模式下对数据有着不同的抽象方式,具体如下图
概念数据模型中往往采用E-R图作为数据的抽象,下图是一个E-R图的例子
而对于结构数据模型则采用关系模型进行表示,下图是一个关系模型的例子
DBMS 层次结构
由于本课程主要探讨DBMS的功能及其原理,所以下面重点介绍下DBMS层次结构及其功能
DBMS层次结构如下图所示
DBMS 主要功能
- 数据库运行管理
- 并发控制、存取控制、完整性约束条件检查和执行,日志组织和管理,事务管理和自动恢复
+数据组织、存储和管理 - 用户数据、索引、数据字典的组织、存储和管理,包括文件结构、存取方式、数据之间联系的实现等
+数据库的建立和维护功能 - 数据的装入、转换、卸出,数据库的转储、恢复、性能监视和分析等
- 并发控制、存取控制、完整性约束条件检查和执行,日志组织和管理,事务管理和自动恢复
最后附上一张图体会一下DBMS在整个数据库系统中的地位和作用