本书是面向应用型本科计算机及相关专业“数据库”课程编写的教材,是一本系统地介绍数据库原理和应用的教材。本书以达梦数据库管理系统DM8作为实际操作平台,以本科生熟悉的“教学信息管理系统”的完整设计过程为主线,全面、系统地介绍数据库的基本概念、基本理论和基本设计方法。全书分为10章,内容包括数据库系统概述、数据库的创建与管理、关系数据库语言SQL、视图与索引、关系运算、关系规范化与数据库设计、DMSQL程序设计、事务与并发控制、数据库安全管理、数据库的备份与还原等。
陈华竣,广东技术师范大学计算机学院专职教师,副教授,主持和参与广东省"质量工程”建设项目网络工程专业综合改革等教改项目18项,获得国际发明专利2项,中国发明专利6项,获得广东省教育教学成果奖一等奖等。
第1章 数据库系统概述 1
1.1 数据库概述 1
1.1.1 数据与数据处理 1
1.1.2 数据管理的发展 2
1.2 数据库系统的组成 3
1.2.1 数据库 4
1.2.2 数据库管理系统 4
1.2.3 数据库应用系统 5
1.3 数据描述与数据模型 6
1.3.1 现实世界的数据描述 6
1.3.2 数据模型 6
1.3.3 概念数据模型 7
1.3.4 结构数据模型 9
1.3.5 关系模型 11
1.4 数据库系统结构 18
1.4.1 数据库系统的三级模式结构 18
1.4.2 数据库系统的二级映像及数据独立性 20
1.4.3 数据库系统的特点 21
1.5 常见的数据库管理系统 22
1.5.1 Oracle 22
1.5.2 DB2 22
1.5.3 SQL Server 22
1.5.4 MySQL 22
1.5.5 PostgreSQL 22
1.6 达梦数据库管理系统DM8 23
1.6.1 DM8简介 23
1.6.2 DM8的结构 23
1.6.3 DM管理工具 24
1.7 习题 25
第2章 数据库的创建与管理 27
2.1 数据库的存储结构 27
2.1.1 逻辑结构 27
2.1.2 物理结构 29
2.2 创建数据库 30
2.2.1 创建数据库实例 30
2.2.2 创建表空间 33
2.2.3 创建模式 34
2.3 创建数据表 35
2.3.1 数据类型及约束 36
2.3.2 创建数据表实例 36
2.3.3 添加、修改、删除表中的数据 39
2.4 数据库管理 40
2.4.1 实例管理 40
2.4.2 表空间、模式管理 42
2.4.3 表的管理 43
2.5 习题 44
2.6 实验 45
第3章 关系数据库语言SQL 46
3.1 SQL概述 46
3.1.1 SQL的发展 46
3.1.2 SQL的功能和特点 47
3.1.3 DM_SQL的特点 48
3.2 数据定义功能 48
3.2.1 数据表的创建 48
3.2.2 数据表的修改 54
3.2.3 数据表的删除 55
3.3 数据操作功能 56
3.3.1 插入数据 56
3.3.2 修改数据 58
3.3.3 删除数据 58
3.4 数据查询功能 59
3.4.1 投影查询 59
3.4.2 选择查询 61
3.4.3 分组查询 65
3.4.4 对查询结果进行排序 67
3.4.5 连接查询 68
3.4.6 嵌套查询 74
3.4.7 并、交、差运算查询 76
3.5 带有子查询的数据更新 77
3.5.1 带有子查询的数据插入 78
3.5.2 带有子查询的数据修改 78
3.5.3 带有子查询的数据删除 79
3.6 习题 79
3.7 实验 80
第4章 视图与索引 82
4.1 视图 82
4.1.1 视图的作用 82
4.1.2 创建视图 83
4.1.3 修改、删除视图 87
4.1.4 视图中数据的更新 88
4.2 索引 89
4.2.1 索引的作用 89
4.2.2 索引的分类 90
4.2.3 索引的规划 91
4.2.4 创建索引 92
4.2.5 修改、删除索引 94
4.3 习题 95
4.4 实验 96
第5章 关系运算 97
5.1 笛卡儿积和关系的数学定义 97
5.1.1 笛卡儿积的数学定义 97
5.1.2 关系的数学定义 98
5.2 关系代数 99
5.2.1 基于传统集合理论的关系运算 100
5.2.2 关系代数特有的关系运算 101
5.2.3 用基本关系运算表示非基本关系运算 105
5.2.4 关系代数运算在关系数据库查询操作中的应用 107
5.3 习题 111
第6章 关系规范化与数据库设计 113
6.1 关系规范化 113
6.1.1 问题的提出 114
6.1.2 函数依赖 115
6.1.3 关系规范化概述 118
6.1.4 规范化示例 123
6.2 数据库设计 126
6.2.1 数据库设计的内容 127
6.2.2 用户需求分析 128
6.2.3 概念结构设计 131
6.2.4 逻辑结构设计 136
6.2.5 物理结构设计 139
6.2.6 数据库行为设计 141
6.2.7 数据库实施 142
6.2.8 数据库运行与维护 143
6.3 习题 144
第7章 DMSQL程序设计 147
7.1 一个简单的DMSQL程序 148
7.2 DMSQL程序数据类型 148
7.2.1 游标类型 148
7.2.2 %TYPE类型和%ROWTYPE类型 153
7.2.3 记录类型 154
7.2.4 数组类型 154
7.3 DMSQL程序的控制结构 156
7.3.1 语句块 156
7.3.2 变量声明 157
7.3.3 选择结构 158
7.3.4 循环控制结构 160
7.4 存储过程 165
7.4.1 创建和调用存储过程 165
7.4.2 删除存储过程 169
7.5 存储函数 169
7.5.1 创建和调用存储函数 169
7.5.2 删除存储函数 171
7.6 触发器 171
7.6.1 创建触发器 172
7.6.2 触发器的管理 176
7.7 异常处理 177
7.8 习题 179
第8章 事务与并发控制 181
8.1 事务 181
8.1.1 事务的概念 181
8.1.2 事务的特征 182
8.1.3 事务的提交 182
8.1.4 事务的回滚 184
8.2 并发控制 185
8.2.1 并发控制概述 185
8.2.2 封锁技术 186
8.2.3 封锁粒度 187
8.2.4 封锁协议 188
8.2.5 封锁带来的问题 188
8.3 习题 190
第9章 数据库安全管理 192
9.1 数据库的安全性概述 192
9.1.1 数据库安全的威胁 192
9.1.2 数据库安全控制模型 193
9.2 DM8的安全管理 193
9.2.1 用户管理 194
9.2.2 权限管理 198
9.2.3 角色管理 203
9.3 习题 207
第10章 数据库的备份与还原 208
10.1 DM8数据库的备份与还原概述 209
10.1.1 备份 209
10.1.2 还原 210
10.2 DM8的物理备份与还原 211
10.2.1 联机备份 211
10.2.2 脱机备份 213
10.2.3 还原与恢复 216
10.3 DM8的逻辑备份与还原 218
10.3.1 DM8的逻辑备份 218
10.3.2 DM8的逻辑还原 220
10.4 习题 221
附录A 安装DM8 222
A.1 DM8的安装环境要求 222
A.2 DM8的安装 223
A.3 DM8的卸载 225