- 1.1 数据库的基本概念
- 1.2 数据管理技术产生与发展
- 1.3 数据库系统特点
- 1.4 数据模型
- 1.5 数据描述
- 1.6 概念模型
- 1.7 层次模型
- 1.8 网状模型
- 1.9 关系模型
- 1.10 数据库系统三级模式
- 1.11 数据库系统两级映像
- 1.12 数据独立性
- 1.13 数据库系统组成
- 2.1 关系的定义和性质
- 2.2 关系的键
- 2.3 关系模式与关系数据库
- 2.4 实体完整性
- 2.5 参照完整性
- 2.6 用户定义完整性
- 2.7 关系操作的类型和特点
- 2.8 关系数据语言
- 2.9 集合运算
- 2.10 投影和选择运算
- 2.11 连接运算
- 2.12 除法运算
- 3.1 SQL的产生与发展
- 3.2 SQL的特点
- 3.3 数据库和模式的定义
- 3.4 基本表的定义
- 3.5 索引的定义
- 3.6 简单的单表查询
- 3.7 使用谓词的查询
- 3.8 使用聚集函数的查询
- 3.9 分组查询
- 3.10 多表等值连接查询
- 3.11 自身连接查询
- 3.12 不相关子查询
- 3.13 相关子查询
- 3.14 带有运算符的子查询
- 3.15 集合查询
- 3.16 插入数据
- 3.17 删除数据
- 3.18 修改数据
- 3.19 视图的概念
- 3.20 视图的定义
- 3.21 视图的查询
- 3.22 视图的更新
- 4.1 数据库安全性概述
- 4.2 存取控制机制
- 4.3 授权和回收权限
- 4.4 视图技术和审计
- 5.1 数据库完整性概述
- 5.2 实体完整性的实现
- 5.3 参照完整性的实现
- 5.4 用户自定义完整性的实现
- 5.5 完整性约束命名
- 5.6 触发器
- 6.1 泛关系模式
- 6.2 函数依赖
- 6.3 低级范式
- 6.4 高级范式
- 6.5 模式的分解
- 6.6 数据依赖的公理系统
- 7.1 数据库设计概述
- 7.2 数据库设计方法
- 7.3 需求分析概述
- 7.4 需求分析方法
- 7.5 概念结构设计概述
- 7.6 局部概念结构设计
- 7.7 全局概念结构设计
- 7.8 逻辑结构设计
- 7.9 物理结构设计
- 7.10 数据库设计综合案例
- 8.1 数据库编程概述
- 8.2 嵌入式SQL
- 8.3 游标
- 8.4 ODBC/JDBC编程
- 8.5 存储过程
- 8.6 函数
- 9.1 查询处理
- 9.2 查询优化概述
- 9.3 关系代数等价变换
- 9.4 代数优化策略
- 9.5 代数优化算法
- 9.6 物理优化概述
- 9.7 选择操作实现方法
- 9.8 连接操作实现方法
- 10.1 事务的基本概念
- 10.2 事务的性质
- 10.3 故障的种类
- 10.4 数据转储
- 10.5 登记日志文件
- 10.6 故障的恢复策略
- 10.7 具有检查点的恢复技术
- 10.8 数据库镜像
- 11.1 并发操作的基本概念
- 11.2 并发操作带来的不一致问题
- 11.3 封锁的基本概念
- 11.4 封锁协议
- 11.5 活锁与死锁
- 11.6 可串行化调度
- 11.7 冲突可串行化调度
- 11.8 两段锁协议
数据库系统原理
一、数据库系统概述
定义:数据库系统(Database System,DBS)是一个由数据库、数据库管理系统(DBMS)、应用程序、数据库管理员(DBA)及用户等组成的复杂系统,旨在实现对数据的有效组织、存储、管理和共享。
目标:提供数据的独立性,即数据的逻辑结构与物理存储结构相互独立,方便系统维护与扩展;确保数据的安全性,防止非法访问与数据泄露;保证数据的完整性,使数据符合现实世界中的语义约束;实现数据的高效存储与检索,满足各类应用需求。
二、数据模型
概念模型:用于信息世界的建模,是对现实世界的抽象与简化,常见的有实体 - 联系(E - R)模型。通过实体、属性、联系等要素描绘事物及其相互关系,为后续的逻辑模型设计奠定基础。例如,在学校管理系统中,“学生” 是实体,具有学号、姓名、年龄等属性,“选课” 则是学生与课程之间的联系。
逻辑模型:将概念模型转换为数据库系统支持的数据结构,如层次模型、网状模型、关系模型等。其中,关系模型以二维表(关系)为基本结构,具有简单、灵活、理论基础雄厚等优势,是目前主流的逻辑模型。表中的行代表元组(记录),列表示属性(字段)。
物理模型:关注数据在存储介质上的实际存储方式,包括数据的存储结构、索引策略、存储分配等,它与具体的数据库管理系统及硬件环境紧密相关,旨在优化数据的存储与访问性能。
三、关系数据库
关系模型:基于数学集合论,用关系(表)来表示数据,通过关系代数或关系演算进行数据操作。关系具有一系列特性,如每一列的数据类型相同,列名具有唯一性,表中任意两行不能完全相同等。
关系代数:是一种抽象的查询语言,用于对关系进行操作,包含并、交、差、选择、投影、连接等基本运算。例如,选择运算可从关系中筛选出满足特定条件的元组,投影运算则用于选取关系中的某些属性列。这些运算可以组合使用,实现复杂的数据查询需求。
SQL 语言:结构化查询语言(Structured Query Language)是关系数据库的标准语言,用于数据库的定义、查询、更新、控制等操作。它具有简洁、易学、功能强大等特点,涵盖数据定义语言(DDL),如创建表(CREATE TABLE)、修改表结构(ALTER TABLE);数据操纵语言(DML),如插入数据(INSERT INTO)、查询数据(SELECT)、更新数据(UPDATE)、删除数据(DELETE FROM);数据控制语言(DCL),用于管理用户权限等。
四、数据库设计
需求分析:通过与用户沟通、调研业务流程,确定系统需要存储的数据及功能需求,这是数据库设计的起点,直接影响后续设计的准确性与实用性。例如,设计电商数据库时,需了解商品信息、订单流程、用户资料等方面的需求。
概念设计:依据需求分析结果,构建概念模型,通常采用 E - R 图来描绘实体、属性及它们之间的联系,清晰展现数据的整体架构。
逻辑设计:将概念模型转换为关系模型,确定表结构、主关键字、外关键字等,把 E - R 图中的实体转换为表,联系转换为表之间的关联关系,同时考虑数据完整性约束的实现。
物理设计:根据所选用的数据库管理系统及硬件环境,设计数据的存储结构、索引、存储分配等物理细节,以提高数据库的性能与运行效率。
五、数据库管理系统
功能:提供数据定义、数据操纵、数据组织与存储、数据安全性保障、数据完整性维护、并发控制、数据库恢复等一系列功能。例如,通过用户权限管理确保数据安全,利用事务处理保证数据的一致性与完整性。
架构:一般分为外模式、模式、内模式三层。外模式面向用户应用程序,是用户看到的局部数据视图;模式是对数据库中全体数据的逻辑结构与特征的描述,是所有外模式的基础;内模式则涉及数据的物理存储结构与存储方式。三层模式之间通过两级映射(外模式 - 模式映射、模式 - 内模式映射)实现数据的独立性,当物理存储结构或总体逻辑结构发生变化时,能尽量减少对上层应用程序的影响。
六、数据库的安全性与完整性
安全性:采用用户身份认证、访问控制、视图机制、审计等多种措施保护数据免受非法访问、篡改与破坏。例如,设置不同用户的登录密码,为用户分配不同的操作权限,利用视图隐藏敏感数据等。
完整性:通过实体完整性、参照完整性、用户定义完整性约束保证数据的正确性、有效性与一致性。实体完整性要求表中的主键不能为空且具有唯一性;参照完整性维护表之间关联关系的正确性;用户定义完整性满足特定业务场景下的数据约束,如学生成绩的取值范围等。
七、数据库新技术
随着信息技术的飞速发展,涌现出一系列数据库新技术,如分布式数据库,将数据分散存储在多个节点上,实现数据的分布式处理与管理,提高系统的可靠性与扩展性;面向对象数据库,融合面向对象编程思想,更适合处理复杂的数据对象;数据仓库与数据挖掘技术,用于海量数据的存储、分析与知识发现,辅助企业决策等。这些新技术不断拓展数据库系统的应用领域与功能边界,适应日益复杂多变的业务需求。
理解并掌握数据库系统原理,是从事数据库开发、管理及众多相关领域工作的重要基础,为构建高效、可靠的信息系统提供有力支撑。