定义
数据库本身不是独立存在的,是数据库系统的一部分。数据库系统(Database System,DBS)是指带有数据库的计算机应用系统。
组成
数据库系统主要由以下四个部分组成:
- 硬件系统:包括计算机内存、硬盘等设备,它们提供数据存储和处理的基础。
- 数据库管理系统(DBMS)及相关软件:用于管理数据库的创建、使用和维护。还包括其他支持软件,比如操作系统和应用程序。
- 数据库集合:这是储存的数据本身,通常是设计得合理,满足特定需求的数据库。
- 人员:包括数据库管理员(DBA)、系统分析员、程序员和用户。数据库管理员在这里扮演着特别重要的角色,负责直接操作和管理数据库系统。
DBA的职责
数据库管理员(Database Administrator,DBA)是负责建立、维护和管理数据库系统的专业人员。他们的主要职责包括:
- 设计与定义数据库系统。根据需求进行数据库设计,并决定数据库的存储结构和存取策略。
- 监控数据库的使用和运行。监视数据库系统的运行情况,及时处理运行过程中出现的问题,定义数据的安全性要求和完整性约束条件,收集系统审计信息。
- 数据库的转储与恢复。当数据库系统发生故障时,DBA 必须将系统恢复到正常运行状态。为此,DBA 要定义和实施适当的后援和恢复策略,如周期性地转储数据和维护日志文件等。
- 数据库的改进和重组。监视和分析系统运行期间的性能(如处理效率)。通过分析并对数据库的性能进行优化调整。
- 数据库的重构。当用户的需求增加或改变时,DBA 还要对数据库进行较大的改造包括增加和修改部分设计。
模式
数据库的设计关注的是其结构,而在使用时关注的是其中的数据。数据库的结构(称为“模式”)相对稳定,而其中的数据(称为“实例”)则经常变化。
数据库的三级模式结构
如图说明了数据库系统的三级模式:外模式、模式和内模式。
- 模式(逻辑模式或概念模式):这是数据库的总体逻辑结构描述,是所有用户共同的数据视图。
- 外模式(子模式或用户模式):这是数据库用户看到和使用的数据部分的描述,通常是模式的子集,可以有多个。
- 内模式(存储模式):这是数据库内部数据的物理存储方式。
数据库的两级映像功能
数据库系统通过两级映像(外模式/模式映像和模式/内模式映像)来实现数据的逻辑和物理独立性。这意味着,即使数据库的存储方式或结构发生变化,也不会影响到数据库的使用者。
这种设计使数据库系统既灵活又稳定,保证了数据和应用程序的独立性,同时简化了程序的开发和维护。
数据库语言
数据库系统使用不同的语言来完成各种任务,包括定义数据结构、操作数据、控制数据访问权限和事务处理,以及在常规编程语言中嵌入数据库操作。
-
数据描述语言(DDL)
- 用途:DDL 用于定义数据库中的对象和结构,如表、列、数据类型等。
- 功能:它描述了数据的逻辑结构(如何组织)和物理特征(如何存储),以及如何将逻辑数据映射到物理存储上。
- 作用范围:DDL 用于定义所有三级模式(内模式、模式和外模式)。
-
数据操纵语言(DML)
- 用途:DML 是用来操作数据库中的数据,比如插入、删除、修改和查询数据。
- 特点:设计DML时要求准确、无歧义,并且功能全面,操作能力强。同时,它应该直观、易于理解和使用。
-
数据控制语言(DCL)
- 用途:DCL 用于管理数据库的访问权限和事务处理。
- 功能:它可以用来限制或允许用户对数据库执行特定操作,如插入、删除和修改数据,以及提交或回滚事务。
- 操作者:通常由数据库对象的创建者或数据库管理员执行。
-
宿主语言
- 定义:宿主语言是普通的编程语言(如 C 语言),用于编写数据库应用程序。
- 与 DML 的结合:可以通过调用 DBMS 提供的函数或将 DML 命令嵌入宿主语言代码中来实现数据库操作。
- 实现方式:嵌入DML的代码可能需要一个预编译器来处理,或者使用一个能同时处理宿主语言和DML的编译器。
通过这些不同的语言,数据库系统能够灵活地管理数据和数据操作,同时保证数据的安全和完整性。