本书主要讲解数据库设计、实现及其应用的基本原理,侧重于介绍如何利用数据库来创建应用程序,而不是如何创建数据库管理系统本身。书中反映了数据库领域研究的最新进展,包括最新的SQL标准、UML、XML、面向对象数据库和数据库性能调优等。
本书适合作为高等院校计算机及相关专业本科生和研究生数据库课程的教材。
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 数据库系统(面向应用的方法第2版)/图灵计算机科学丛书 |
分类 | |
作者 | (美)基弗//(美)伯恩斯坦//(美)刘易斯 |
出版社 | 人民邮电出版社 |
下载 | ![]() |
简介 | 编辑推荐 本书主要讲解数据库设计、实现及其应用的基本原理,侧重于介绍如何利用数据库来创建应用程序,而不是如何创建数据库管理系统本身。书中反映了数据库领域研究的最新进展,包括最新的SQL标准、UML、XML、面向对象数据库和数据库性能调优等。 本书适合作为高等院校计算机及相关专业本科生和研究生数据库课程的教材。 内容推荐 本书主要讲解数据库设计、实现及其应用的基本原理,侧重于介绍如何利用数据库来创建应用程序,而不是如何创建数据库管理系统本身。书中反映了数据库领域研究的最新进展,包括最新的SQL标准、UML、XML、面向对象数据库和数据库性能调优等。本书的主要内容包括关系数据模型、用ER图和UML建模、关系代数和SQL、数据库设计、SQL DBMS、查询处理和优化、数据库调优、事务处理以及与事务处理的实现有关的软件工程问题等。 本书适合作为高等院校计算机及相关专业本科生和研究生数据库课程的教材。 目录 第一部分 简介 第1章 数据库和事务概述 2 1.1 什么是数据库和事务 2 1.2 现代数据库和事务处理系统的特性 4 1.3 数据库和事务处理系统的实现和支持中的主要角色 5 1.4 决策支持系统——OLAP和OLTP 6 第2章 综述 8 2.1 案例学习:学生选课系统 8 2.2 关系数据库绪论 8 2.3 使程序成为事务——ACID属性 12 参考文献注解 15 习题 15 第二部分 数据库管理 第3章 关系数据模型 20 3.1 什么是数据模型 20 3.2 关系模型 22 3.2.1 基本概念 22 3.2.2 完整性约束 26 3.3 SQL的数据定义子语言 29 3.3.1 定义关系类型 30 3.3.2 系统目录 30 3.3.3 码约束 31 3.3.4 处理缺失信息 31 3.3.5 语义约束 32 3.3.6 用户定义的域 34 3.3.7 外码约束 35 3.3.8 反应性约束 36 3.3.9 数据库视图 38 3.3.10 修改已有定义 39 3.3.11 SQL模式 40 3.3.12 访问控制 41 参考文献注解 43 习题 43 第4章 用E-R图和UML构建数据库的概念模型 46 4.1 用E-R方法进行概念建模 46 4.2 实体和实体类型 47 4.3 联系和联系类型 48 4.4 概念数据建模中的高级特性 52 4.4.1 实体类型层次 52 4.4.2 参与约束 54 4.4.3 part of联系 55 4.5 从E-R图到关系数据库模式 57 4.5.1 实体的表示法 57 4.5.2 联系的表示法 58 4.5.3 在关系模型中表示IsA层次 60 4.5.4 参与约束的表示法 61 4.5.5 part of联系的表示法 63 *4.6 UML:一种新方法 63 4.6.1 在UML中表示实体 64 4.6.2 在UML中表示联系 65 4.6.3 UML中的高级建模概念 68 4.6.4 转换为SQL 70 4.7 一个经纪公司的例子 70 4.7.1 实体-联系设计 70 *4.7.2 UML设计 73 4.8 案例学习:学生注册系统的数据库设计 74 4.8.1 需求文档的数据库部分 74 4.8.2 数据库设计 75 4.9 数据建模方法的局限性 79 参考文献注解 81 习题 82 第5章 关系代数和SQL 84 5.1 关系代数:SQL的秘密 84 5.1.1 基本运算符 85 5.1.2 导出运算符 91 5.2 SQL的查询子语言 97 5.2.1 简单SQL查询 97 5.2.2 集合运算 101 5.2.3 嵌套查询 103 5.2.4 量化谓词 107 5.2.5 数据上的聚集 108 5.2.6 FROM子句中的连接表达式 112 5.2.7 一个简单的查询求值算法 113 5.2.8 再谈SQL中的视图 114 5.2.9 物化视图 117 5.2.10 NULL值的两难问题 119 5.3 在 SQL中修改关系实例 120 5.3.1 插入数据 120 5.3.2 删除数据 121 5.3.3 更新现有的数据 122 5.3.4 视图上的更新 122 参考文献注解 124 习题 124 第6章 用关系规范化理论设计数据库 127 6.1 冗余问题 127 6.2 分解 128 6.3 函数依赖 130 6.4 函数依赖的特性 132 6.5 范式 136 6.5.1 Boyce Codd范式 136 6.5.2 第三范式 138 6.6 分解的特性 139 6.6.1 无损分解和有损分解 140 6.6.2 保持依赖分解 142 6.7 BCNF分解的一个算法 144 6.8 3NF模式的合成 146 6.8.1 最小覆盖 146 6.8.2 通过模式合成进行3NF分解 148 6.8.3 通过3NF合成得到BCNF分解 149 6.9 第四范式 151 *6.10 高级4NF设计 155 6.10.1 MVD及它们的特性 155 6.10.2 4NF的设计难点 156 6.10.3 如何进行4NF分解 158 6.11 范式分解总结 159 6.12 案例学习:学生注册系统的模式细化 159 6.13 调优问题:分解还是不分解 161 参考文献注解 162 习题 162 第7章 触发器和主动数据库 165 7.1 什么是触发器 165 7.2 触发器处理中的语义问题 166 7.3 SQL∶1999中的触发器 168 7.4 避免链式反应 174 参考文献注解 174 习题 175 第8章 在应用中使用SQL 176 8.1 所涉及的主要问题 176 8.2 嵌入式SQL 177 8.2.1 状态处理 179 8.2.2 会话、连接和事务 180 8.2.3 执行事务 180 8.2.4 游标 182 8.2.5 服务器上的存储过程 186 8.3 深入完整性约束 188 8.4 动态SQL 189 8.4.1 动态SQL中的语句准备 190 *8.4.2 预备语句和描述符区域 191 8.4.3 游标 192 8.4.4 服务器上的存储过程 193 8.5 JDBC和SQLJ 194 8.5.1 JDBC基础 194 8.5.2 预备语句 196 8.5.3 结果集和游标 196 8.5.4 获得关于结果集的信息 198 8.5.5 状态处理 198 8.5.6 执行事务 199 8.5.7 服务器上的存储过程 199 8.5.8 一个例子 200 8.5.9 SQLJ:面向Java的语句级接口 200 *8.6 ODBC 203 8.6.1 预备语句 204 8.6.2 游标 204 8.6.3 状态处理 206 8.6.4 执行事务 206 8.6.5 服务器上的存储过程 206 8.6.6 一个例子 207 8.7 比较 208 参考文献注解 208 习题 209 第三部分 数据库管理系统性能优化和事务处理 第9章 物理数据组织与索引 212 9.1 磁盘组织 212 9.2 堆文件 218 9.3 顺序文件 221 9.4 索引 224 9.4.1 聚集索引与非聚集索引 226 9.4.2 稀疏索引与稠密索引 228 9.4.3 搜索码包含多个属性 229 9.5 多级索引 230 9.5.1 索引顺序访问 233 9.5.2 B+树 230 9.6 散列索引 240 9.6.1 静态散列 240 9.6.2 动态散列算法 242 9.7 特殊用途索引 246 9.7.1 位图索引 246 9.7.2 连接索引 248 9.8 调优问题:为应用选择索引 248 参考文献注解 249 习题 249 第10章 查询处理基础 252 10.1 查询处理概述 252 10.2 外部排序 253 10.3 投影、集合并与集合差 256 10.4 选择 257 10.4.1 简单条件的选择 258 10.4.2 访问路径 259 10.4.3 复杂条件的选择 260 10.5 连接 261 10.5.1 简单的嵌套循环连接 262 10.5.2 归并连接 264 10.5.3 散列连接 266 *10.6 多关系连接 267 10.7 聚集函数 268 参考文献注解 268 习题 268 第11章 查询优化概述 270 11.1 查询处理的架构 270 11.2 基于关系代数等价性的启发式优化 271 11.3 查询执行计划的开销估计 273 11.4 输出结果大小的估计 279 11.5 选择一个计划 281 参考文献注解 284 习题 284 第12章 数据库调优 288 12.1 磁盘高速缓存 288 12.2 模式调优 290 12.2.1 索引 291 12.2.2 反向规范化 295 12.2.3 重复组 296 12.2.4 分片 297 12.3 数据操纵语言调优 298 12.4 工具 300 12.5 管理物理资源 300 12.6 影响优化器 301 参考文献注解 303 习题 303 第13章 事务处理概述 307 13.1 隔离性 307 13.1.1 可串行性 308 13.1.2 两阶段加锁 309 13.1.3 死锁 312 13.1.4 关系数据库加锁 312 13.1.5 隔离级别 314 13.1.6 加锁粒度与意向锁 317 13.1.7 小结 318 13.2 原子性与持久性 319 13.2.1 先写式日志 319 13.2.2 从大容量存储器故障中恢复 322 13.3 实现分布式事务 322 13.3.1 原子性与持久性——两阶段提交协议 323 13.3.2 全局可串行性与死锁 325 13.3.3 复制 326 13.3.4 小结 328 参考文献注解 328 习题 328 第四部分 软件工程问题和文档 第14章 需求与规约 332 14.1 软件工程方法学 332 14.2 学生注册系统的需求文档 334 14.3 需求分析——新的问题 339 14.4 学生注册系统的规约说明 340 14.5 学生注册系统的规约文档:第III部分 341 14.6 软件工程过程的下一步 342 参考文献注解 343 习题 343 第15章 设计、编码与测试 344 15.1 设计过程 344 15.1.1 数据库设计 344 15.1.2 用UML状态图描述对象的行为 345 15.1.3 设计文档的结构 346 15.1.4 设计评审 347 15.2 测试计划 348 15.3 项目计划 350 15.4 编码 351 15.5 增量开发 353 15.6 项目管理计划 353 15.7 学生注册系统的设计与编码 354 15.7.1 完成数据库设计:完整性约束 354 15.7.2 注册事务的设计 356 15.7.3 注册事务的部分代码 357 参考文献注解 359 习题 359 第五部分 数据库高级主题 第16章 对象数据库介绍 362 16.1 关系数据模型的不足 362 16.2 概念对象数据模型 366 16.2.1 对象与值 366 16.2.2 类 367 16.2.3 类型 367 16.2.4 对象-关系数据库 370 16.3 SQL∶1999和SQL∶2003中的对象 370 16.3.1 行类型 371 16.3.2 用户定义类型 371 16.3.3 对象 372 16.3.4 查询用户定义类型 373 16.3.5 更新用户定义类型 373 16.3.6 引用类型 375 16.3.7 继承 377 16.3.8 集合类型 377 参考文献注解 379 习题 380 第17章 XML和Web数据介绍 382 17.1 半结构化数据 382 17.2 XML概述 384 17.2.1 XML元素与数据库对象 386 17.2.2 XML属性 387 17.2.3 命名空间 390 17.2.4 DTD 392 17.2.5 DTD作为数据定义语言的不足 393 17.3 XML模式 395 17.3.1 XML模式和命名空间 395 17.3.2 简单类型 398 17.3.3 复杂类型 401 17.3.4 整合 406 17.3.5 捷径:匿名类型与元素引用 407 17.3.6 完整性约束 410 17.4 XML查询语言 414 17.4.1 XPath:一种轻量级的XML查询语言 415 17.4.2 SQL/XML 420 参考文献注解 426 习题 427 参考文献 431 索引 437 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。