前言 *1章 数据库技术概述 1 1.1 数据和信息的概念 1 1.2 数据库的概念 2 1.3 数据库中的数据组织及其结构 3 1.4 数据库中的数据操作 6 1.5 数据库管理系统和数据库应用程序 7 1.6 数据库应用的广泛性 10 1.7 数据模型 11 1.8 数据操作语言 11 1.9 数据库访问编程接口 12 1.10 数据库应用程序的模式 14 1.11 数据库的三级模式 15 1.12 数据库系统的特性 17 1.13 数据管理中要解决的基本问题 18 1.14 数据库领域的从业人员 20 1.15 数据库技术的发展史 21 1.16 目前流行的数据库产品 23 1.17 本章小结 24 习题 25 *2章 关系数据模型 26 2.1 关系数据模型及其特性 26 2.1.1 关系数据模型概述 26 2.1.2 关系数据模型的特性 27 2.2 实体完整性约束 31 2.3 引用完整性约束 34 2.4 域约束和业务规则约束 37 2.5 关系代数 38 2.6 本章小结 48 习题 49 第3章 SQL中的数据操作 51 3.1 SQL概述 52 3.2 数据操作的流程 53 3.3 表数据的更新操作 53 3.3.1 向一个表中添加数据行 54 3.3.2 删除一个表中的数据行 55 3.3.3 修改一个表中的数据行 57 3.4 查询操作 58 3.5 统计操作 60 3.6 表与表的组合 64 3.6.1 同类表的三种运算 64 3.6.2 自然连接运算 65 3.7 SQL语句的嵌套 68 3.8 理解/编写SQL语句的技法 73 3.9 本章小结 74 习题 75 第4章 SQL中的数据模式定义 77 4.1 企业数据库的创建过程 77 4.2 数据库和表的模式定义 78 4.3 业务规则的定义 82 4.4 基于触发器的数据完整性维护方法 85 4.5 数据操作简单性的实现方法 89 4.5.1 视图 90 4.5.2 存储过程 93 4.6 数据模式定义中的其他内容 98 4.7 本章小结 99 习题 100 第5章 数据安全管理 101 5.1 用户管理 101 5.2 权限管理 102 5.3 权限管理的简化 107 5.4 权限管理在DBMS中的实现 110 5.5 审计追踪 114 5.6 本章小结 115 习题 115 第6章 事务处理与故障恢复 117 6.1 事务处理 117 6.2 系统故障及其恢复策略 119 6.3 基于日志的故障恢复 120 6.4 磁盘故障的恢复 125 6.5 灾害故障的恢复 127 6.6 故障检测及恢复的实现 128 6.7 本章小结 129 习题 130 第7章 数据处理性能提升技术 131 7.1 行数据在磁盘上的存储方式 132 7.2 磁盘吞吐量的提升策略 133 7.3 基于缓存的数据传输优化 135 7.4 减少无效运输和无效处理 136 7.4.1 顺序索引 137 7.4.2 散列索引 140 7.4.3 索引在数据库设计中的应用 141 7.5 事务的并发执行 144 7.5.1 并发执行与并发控制 144 7.5.2 基于锁的并发控制 145 7.5.3 细粒度的并发控制 148 7.5.4 通过强化冲突判定条件的死锁避免方法 151 7.5.5 基于时间戳的乐观性并发控制 153 7.5.6 基于锁的乐观性并发控制 155 7.6 线程池技术 158 7.7 查询优化 159 7.8 配置专用的日志磁盘 159 7.9 本章小结 160 习题 161 第8章 数据库设计 162 8.1 数据库设计概述 162 8.1.1 数据库设计的需求获取 162 8.1.2 数据库设计的过程 164 8.2 数据库设计面临的挑战 168 8.3 关系数据库的特性 171 8.4 实体–联系建模 171 8.4.1 实体–联系建模中的基本概念 171 8.4.2 ER建模中对联系的认识 174 8.4.3 ER建模中的技巧 176 8.4.4 在ER建模中引入面向对象概念 180 8.4.5 ER建模方法总结 181 8.5 ER模型向关系模型的转化 181 8.6 验证设计合理性 186 8.6.1 函数依赖理论及其应用 187 8.6.2 范式及其在关系规范化中的应用 192 8.6.3 函数依赖和范式对ER建模的指导意义 200 8.7 物理数据库设计 203 8.8 本章小结 204 习题 205 第9章 数据库应用程序的开发 207 9.1 数据库应用程序的通用性 208 9.2 数据库应用程序的快速响应性 213 9.2.1 连接池 214 9.2.2 批处理 215 9.2.3 索引的利用和应用端的缓存 216 9.3 数据库应用程序的安全可靠性 217 9.3.1 注入攻击的防御 217 9.3.2 用户与wangzhan之间的认证 219 9.3.3 其他安全问题的防御 223 9.4 本章小结 224 习题 224 *10章 数据库技术的发展 225 10.1 数据模型的演进 225 10.1.1 三种基本数据模型 225 10.1.2 面向对象数据模型 228 10.1.3 关系–对象模型 229 10.1.4 对象模型与关系模型的本质差异 233 10.2 分布式数据库技术 236 10.2.1 分布式数据库的含义 236 10.2.2 分布式数据库中的事务处理和故障恢复 239 10.2.3 三种并行处理系统之间的联系和差异 242 10.2.4 分布式数据库的演进 244 10.3 NoSQL数据库 245 10.3.1 数据的存储组织 245 10.3.2 NoSQL数据库的特性 246 10.3.3 典型的NoSQL数据库产品 248 10.4 大数据处理技术 251 10.4.1 数据处理方式的变革 251 10.4.2 大数据处理中的数据抽象 253 10.5 数据仓库和数据集市 255 10.6 总结和展望 257 习题 258 参考文献 259
|