数据库技术与应用
作者 : 杨金民 荣辉桂 蒋洪波 编著
出版日期 : 2021-01-26
ISBN : 978-7-111-67243-2
适用人群 : 高校计算机及相关专业本科生
定价 : 49.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 268
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD : 无CD
绝版 :
图书简介

本书根据现代数据库的网络化、联邦化、大众化特征,通过讲解具有代表性的主流数据库技术,使读者对数据库技术中的基本问题、体系结构、关键技术有清晰的认识,理解数据库中的数据正确性问题,数据处理性能问题,数据操作简单性问题,数据安全问题,数据完整性问题,最终能综合运用数据库知识合理解决实际工程问题。

图书特色

图书前言

在信息时代,信息的存储和管理、检索和挖掘、获取和发布是计算机应用的核心内容。本书根据现代数据库应用的网络化、邦联化、大众化特征,通过案例分析和知识论述,讲解具有基础性、代表性的主流数据库技术,使读者对数据库技术中的基本问题、求解思路、体系结构、特征与特性、关键技术建立初步的感性认识,并能综合运用数据库知识合理解决实际工程问题。
本书是作者20多年来在教学和科研实践中所思、所想、所悟成果的总结,力求以通俗易懂的方式、简洁轻快的笔调和全新的视角将数据库技术的框架勾勒出来,降低数据库知识的学习门槛,使任何对数据库知识感兴趣的读者都能通过阅读本书抓住数据库技术的主线,具备信息系统规划和建设的初步能力。
本书围绕数据管理中的正确性、高效性、简单性、安全性、完整性这5个核心问题,重点对数据库系统的结构特征、数据模型、SQL、数据安全、事务处理与故障恢复、处理性能提升、数据库设计、系统架构这8个方面的内容展开分析和论述,以揭示数据库技术的内涵。同时,对数据库技术的发展轨迹进行审视,探讨主流技术的来龙去脉,挖掘它们的本质与特性。此外,重点剖析各种数据模型之间的关系、分布式数据库的本质与特性、NoSQL的来龙去脉、大数据处理平台Hadoop与Spark的前因后果。
本书共有10章,每章都包括知识论述、实例印证、问题思考三部分内容,引导读者实现从接触知识到理解知识,从学习知识到使用知识的提升。本书从工程问题入手,通过分析与总结,强调理论的实用性、知识的来龙去脉以及解决方案的可行性,力求使读者明白每个知识点及其实际作用,理解解决工程问题的基本思路和方法,最终实现超越和创新。
本书在讲解时既强调基础性,也注重前瞻性。通过追踪业界新技术及其发展趋势,帮助读者与时俱进,灵活应对IT技术发展与变迁所带来的挑战。
本书采用从实践到理论,再从理论到实践的方式由浅入深地讲授,各章主要内容如下。
第1章“数据库技术概述” 重点剖析数据库系统的结构特性以及数据在数据库中的组织特性。结构特性主要是指数据库管理系统与数据库应用程序之间的邦联性,以及数据库的三级模式特性。数据的组织特性是指数据在数据库中严格按类分表存储的特性。之后,引出数据管理中要解决的5个关键问题:数据正确性问题、数据处理性能问题、数据操作简单性问题、数据安全问题、数据完整性问题。
第2章“关系数据模型” 在数据管理中,用户的业务数据表不能按原样存储在数据库中。数据必须严格按类分表存储,才能解决好数据正确性问题。数据在数据库中按类分表存储,引发了用户的业务表与数据库中的表不一致的问题。不一致问题要用关系代数来解决,进而归纳出关系数据模型的本质特征:数据库中只需要存储规整化后的基础数据。每个用户所需的业务表都能通过关系代数运算实时衍生出来。
第3章“SQL中的数据操作” 数据严格按类分表存储于数据库中后,数据库中通常只有几张业务表用于存放基础性数据。尽管用户业务所需的数据表各式各样,但都能用数据库中的表作为输入,通过关系代数等运算实时衍生出来。这正是关系型数据库的强大之处,也是其被广泛应用的根本原因。本章梳理出了一个清晰的用户业务数据表与数据库表之间的映射方法。
第4章“SQL中的数据模式定义” 本章回答了2个问题:1)数据完整性的具体含义是什么,数据库中数据的完整性是以何种方式获得的;2)如何简化用户对数据库的访问操作,使得人人都能访问数据库。本章阐释了表模式、触发器、视图、存储过程等概念的来龙去脉。
第5章“数据安全管理” 数据安全管理有三道防线。第一道防线设在数据库的“大门口”,即检查用户的登录过程,只有合法用户才能登录。第二道防线是检查用户提交的每一个SQL语句,判断其是否合规,只有授权的操作请求才会被DBMS受理。第三道防线是审计,即对用户的一举一动进行跟踪记录,当发现有安全问题时,便可调阅审计记录,弄清事实真相。
第6章“事务处理与故障恢复” 数据库服务器发生故障时,会导致数据丢失或残损,破坏数据的正确性。为此,提出了事务管理概念,并采取故障恢复策略来保障数据的正确性。故障恢复采用冗余策略:在无故障运行时,用户的数据更新操作除了作用在数据库上,还记录在日志里。更新操作有了冗余记载之后,当数据库中的数据因故障受到破坏时,就可使用日志对其进行恢复,以保障数据正确性。日志被依次存储在不同的存储器中,以便对不同类别的故障进行恢复处理。
第7章“数据处理性能提升技术” 数据库系统的重要特性是:所有用户的数据都存放在数据库中,其中的数据是海量的;所有用户的数据操作都要交由数据库服务器来完成,因此服务器成为负载中心。DBMS的处理性能问题非常突出。提升数据处理性能就是基于计算机的硬件特性、数据本身的特性以及访问特性,合理组织数据的存储,采取与之相适应的技术方案,减少磁头在磁盘空间中的移动路程和数据在不同存储器之间的运输次数,避免数据在内存与磁盘之间以及内存与CPU之间的无效运输,降低CPU所做的无效处理。
第8章“数据库设计” 在数据库服务器无故障运行时,也存在数据的正确性问题,表现为数据冗余、更新异常、数据不一致。这三个问题的根源在于数据的组织不合理,要通过数据库设计来解决。数据库设计有两个要求:对企业业务管理具备全覆盖性,包括人、事、物,以及过程与环节,从而全面支持业务的开展,服务所有相关人员;保证数据库中的数据不会出现冗余和更新异常问题,从而保证数据的正确性。
第9章“数据库应用程序的开发” 应用程序的开发追求的是一次开发,到处使用。数据库访问编程接口国际标准ODBC/JDBC、数据操作国际标准SQL以及数据库的外模式概念为这一目标的达成铺平了道路。对于应用程序,除了功能完备和界面友好之外,还应该做到响应速度快、安全可靠。提升应用程序响应速度的途径有:访问数据库采用连接池技术;数据操作尽量采用批量处理;尽量发挥数据库中索引的功效;应用端缓存。在安全方面,要防御SQL注入攻击和HTML注入攻击。另外,要使用安全的HTTP协议做好用户对网站的认证以及网站对用户的认证工作。
第10章“数据库技术的发展” 对于数据库技术的发展,要从历史的角度来审视,才能厘清其脉络,抓住其本质。从数据模型发展来看,有网状模型、层次模型、关系模型和对象模型,这些模型并不是各立门户,而是兼收并蓄、相互促进。从系统规模来看,从单机系统到分布式系统,再到现在的云计算和大数据环境,其演进是紧紧围绕规模和群体效应来展开的,以此实现高性能、高可靠、低成本。从为用户提供服务这一角度来看,则是化复杂为简单,以功能齐全、交互流畅、价廉物美来吸引用户,扩大用户群体。云计算和大数据已成为当今社会的主流技术。
本书在讲授每一个知识点时,都是从实例引出问题,通过特性分析使读者感受到每一个知识点都来源于对工程实际问题的解答,从而体会到数据库知识的重要性,激发学习兴趣。
本书内容新颖、图文并茂、通俗易懂,适合作为高等院校计算机及其相关专业的教材或者工程技术培训的教材。本书也适合科研人员和工程技术人员阅读,他们可以从中感悟数据库技术的内涵,体会其中的艺术性。
对于初学者,要想扎实地掌握数据库专业知识,必须边看书、边练习、边思考,体会知识内涵和彼此间的联系。基于此考虑,本书在各节的重要知识点后,都提供了思考题,引导读者回溯和联想,以便检验学习效果,加深对知识点的认识,训练开拓性思维。每章最后都安排了习题,这些习题经过了精心挑选和编排,既精练又覆盖了知识点。
本书配套资料齐全,包括教学大纲、教学计划、课件、小班讨论题目、课程实验与指导。这些资料对学生和老师都开放。另外还有专供老师参考的习题解答和试题集。这些教辅资源和教材之间不是双轨平行关系,而是相辅相成关系。教材强调以文字语言来讲清楚、讲透彻,而课件强调用图来传达用意、展示关系,以便一目了然,但留有意犹未尽的空间,从而激发兴趣,促使读者去进一步体会教材中的知识点。读者可通过E-mail(909485030@qq.com)联系作者来获取配套资料,或者访问http://csee.hnu.edu.cn/people/yangjinmin获取。书中错误之处在所难免,欢迎读者批评指正。本书的出版得到了湖南大学信息科学与工程学院的支持,特此感谢!

作者  
2020年5月

上架指导

计算机\数据库

封底文字

大数据时代,数据的存储和管理、检索和挖掘、发布和获取已成为信息化的核心工作,数据库系统的体系日益庞大,存储的数据日益繁多,数据处理日益复杂,这些都对IT从业人员提出了更高的要求。学习者面对如此庞杂的内容,常常不知如何下手,即使花了很多功夫来学习,往往还是不能胜任工作。本书是作者二十多年来在教学和科研实践中所思、所悟成果的总结,力求以全新的视角、通俗易懂的方式勾勒出数据库的知识体系,让读者能够抓住数据库技术的主线,不仅知其然,更能知其所以然。
本书特点
从分析数据库系统的结构特性,以及数据在数据库中的组织特性入手,提炼出数据管理中的五个核心问题:数据正确性问题、数据处理性能问题、数据操作简单性问题、数据安全问题和数据完整性问题。围绕这五个问题,探讨解决思路,得出解决方案。
重点针对数据库系统的结构特征、数据模型、SQL、数据安全、事务处理与故障恢复、处理性能提升、数据库设计、系统架构这八个方面展开分析和论述。同时,对数据库技术的发展轨迹进行审视,探讨主流技术的来龙去脉,挖掘数据库的本质与特性。
从工程问题入手,通过分析与总结,强调解决方案的可行性和切实性,力求使读者理解所学的数据库知识在实际中如何应用,掌握解决工程问题的基本思路、基本方法,进而实现创新。
图文并茂,深入浅出,每章都包括知识论述、实例印证、问题思考三部分内容,并安排了精心设计的实践性习题。重要知识点后安排了思考题,引导读者加深对知识点的理解,开拓视野,深入思考。

图书目录

前言
第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 用户与网站之间的认证 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

教学资源推荐
作者: 邱李华,曹青,郭志强
作者: Abraham Silberschatz, Henry F.Korth, S.Sudarshan
作者: 张玉洁 孟祥武 编著
作者: [美] 亚伯拉罕·西尔伯沙茨 (Abraham Silberschatz) [美] 亨利·F. 科思 (Henry F. Korth) [印] S. 苏达尔尚(S. Sudarshan) 著
参考读物推荐