1. 数据库系统概述
数据库系统(Database System,DBS)是现代信息系统的核心组成部分,它由数据库、数据库管理系统、应用系统和数据库管理员组成。在软考中,我们需要深入理解数据库系统的基本概念、体系结构和工作原理。
1.1 数据库系统的组成要素
数据库(Database,DB):长期存储在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性。
数据库管理系统(Database Management System,DBMS):位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问数据库的方法,包括数据库的建立、查询、更新和各种数据控制。
应用系统:使用数据库的各种应用程序和工具软件。
数据库管理员(Database Administrator,DBA):负责数据库的规划、设计、维护和监控的专业人员。
1.2 数据库系统的特点
- 数据结构化:数据库中的数据不再针对特定应用,而是面向全组织
- 数据共享性高、冗余度低:多个用户和应用程序可以共享数据
- 数据独立性高:包括物理独立性和逻辑独立性
- 数据由DBMS统一管理:提供数据安全性、完整性、并发控制和恢复功能
2. 数据库系统体系结构
数据库系统体系结构是软考中的重要考点,主要涉及三级模式结构和两级映像。
2.1 三级模式结构
外模式(External Schema):也称为子模式或用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征描述。一个数据库可以有多个外模式,每个外模式都为不同的用户需求而设计。
模式(Schema):也称为概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式,它是数据库数据在逻辑级别上的视图。
内模式(Internal Schema):也称为存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。
2.2 两级映像与数据独立性
外模式/模式映像:定义了外模式与模式之间的对应关系。当模式改变时,通过修改外模式/模式映像,可以使外模式保持不变,从而应用程序也不需要改变,保证了数据的逻辑独立性。
模式/内模式映像:定义了模式与内模式之间的对应关系。当数据库的存储结构改变时,通过修改模式/内模式映像,可以使模式保持不变,从而保证了数据的物理独立性。
3. 数据模型
数据模型是数据库系统的核心和基础,它是对现实世界数据特征的抽象。
3.1 概念数据模型
概念数据模型是从用户观点对数据和信息的建模,主要用于数据库设计。最常用的是实体-联系模型(E-R模型),它通过实体、属性和联系三个基本概念来描述现实世界。
实体(Entity):客观存在并可相互区别的事物
属性(Attribute):实体所具有的某一特性
联系(Relationship):实体之间的相互关系,包括一对一、一对多和多对多
3.2 逻辑数据模型
逻辑数据模型是从计算机观点对数据建模,主要用于DBMS实现。常见的有:
- 层次模型:用树形结构表示实体及其联系
- 网状模型:用图结构表示实体及其联系
- 关系模型:用二维表表示实体及其联系
- 面向对象模型:用对象和类表示实体及其联系
3.3 物理数据模型
物理数据模型描述了数据在存储介质上的组织方式,包括索引结构、数据文件组织等。
4. 数据库管理系统功能与组成
4.1 DBMS的主要功能
- 数据定义功能:提供数据定义语言(DDL)
- 数据操纵功能:提供数据操纵语言(DML)
- 数据库运行管理:并发控制、安全性检查、完整性约束等
- 数据库建立和维护功能:数据导入导出、转储恢复、性能监控等
4.2 DBMS的组成模块
- 查询处理器:DDL编译器、DML编译器、嵌入式DML预编译器、查询优化器
- 存储管理器:权限和完整性管理器、事务管理器、文件管理器、缓冲区管理器
- 磁盘存储中的数据结构:数据文件、数据字典、索引
5. 典型试题解析
5.1 选择题
试题1:数据库系统的三级模式结构中,定义局部数据逻辑结构的是( )
A. 外模式 B. 模式 C. 内模式 D. 存储模式
解析:正确答案是A。外模式也称为子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征描述。模式是全局逻辑结构,内模式(存储模式)是物理存储结构。
试题2:保证了数据物理独立性的映像机制是( )
A. 外模式/模式映像 B. 模式/内模式映像
C. 外模式/内模式映像 D. 模式/模式映像
解析:正确答案是B。模式/内模式映像定义了数据的全局逻辑结构与存储结构之间的对应关系。当存储结构改变时,通过修改模式/内模式映像,可以使模式保持不变,从而应用程序也不需要改变,保证了数据的物理独立性。
5.2 简答题
试题:简述数据库系统的数据独立性及其重要意义。
参考答案:数据独立性是指应用程序与数据库的数据结构之间相互独立,不受影响。包括物理独立性和逻辑独立性。
物理独立性是指当数据库的物理结构改变时,通过修改模式/内模式映像,可以使模式保持不变,从而应用程序也不需要改变。
逻辑独立性是指当数据库的逻辑结构改变时,通过修改外模式/模式映像,可以使外模式保持不变,从而应用程序也不需要改变。
数据独立性的重要意义在于:
- 减少了应用程序的维护工作量
- 提高了数据共享程度
- 增强了数据库系统的稳定性和可靠性
- 方便了数据库管理员对数据库的维护和管理
6. 备考建议
- 理解基本概念:数据库系统的基本概念是后续学习的基础,务必深入理解
- 掌握体系结构:三级模式结构和两级映像是重要考点,需要熟练掌握
- 区分数据模型:清楚概念数据模型、逻辑数据模型和物理数据模型的区别和联系
- 结合实践:理论学习要结合实际数据库系统的使用经验,加深理解
下一篇我们将深入讲解关系数据库的基本概念和关系代数,这是数据库系统工程师考试的核心内容之一。
本文仅供参考,具体备考请以官方指定教材和考纲为准。