数据库系统原理(微课版)

数据库原理
分享 推荐 0 收藏 4 阅读 694
林子雨 (著) 978-7-115-63182-4

关于本书的内容有任何问题,请联系 孙澍

1. 全面覆盖传统的关系数据库和当前最新的NOSQL数据库。
本书内容设计满足学生学习传统数据库和新兴数据库技术的需求,新兴数据库包括键值数据库、列族数据库、文档数据库、图数据库等,全面培养学生数据库开发与应用能力。
2. 注重数据库理论和实践的巧妙结合。
本书深入剖析数据库理论,同时注重实践操作,结合实践案例讲解知识点的同时,针对相应知识设计实验内容,强化学生动手能力。
3. 便于教师开展上机实验
本书采用Windows操作系统搭建实验环境,以Java作为编程语言,并提供详细实验指南,方便开展上机实验教学。
4. 提供丰富的配套资源
本书配套了PPT课件、微课视频、教学大纲、教案、实验手册、课程思政案例等丰富资源,并建设题库系统,方便用书教师组卷安排考试。

内容摘要

本书对数据库系统的概念、原理、技术和方法进行系统、全面的阐述。本书共14章,内容包括数据库概述、关系数据库、关系数据库标准语言SQL、关系数据库编程、关系数据库安全和保护、关系数据库的规范化理论、关系数据库设计、NoSQL数据库、分布式数据库HBase、文档数据库MongoDB、键值数据库Redis、云数据库、数据仓库和数据湖、SQL与大数据。本书在关系数据库标准语言SQL、关系数据库编程、关系数据库安全和保护、分布式数据库HBase、键值数据库Redis这5章中安排了实验内容,以帮助读者更好地学习和掌握数据库技术。
本书可以作为高等学校计算机相关专业“数据库系统原理”课程的教材,也可以供相关技术人员学习参考。

诚邀您加入【人邮社数据库教师交流群】

目录

第1章 数据库概述 1
1.1 数据 1
1.1.1 数据的概念 1
1.1.2 数据与信息的关系 2
1.1.3 数据的价值 2
1.1.4 数据的使用 2
1.2 数据管理 3
1.3 数据库与数据库管理系统 5
1.3.1 数据库 5
1.3.2 数据库管理系统 5
1.3.3 SQL Server 6
1.4 数据库系统 9
1.4.1 数据库系统的组成 9
1.4.2 数据库系统的特点 9
1.4.3 数据库系统的体系结构 10
1.5 数据库技术的历史与现状 15
1.5.1 数据库领域的杰出贡献者 15
1.5.2 数据库发展历史 17
1.5.3 国产数据库的发展现状 19
1.6 本章小结 20
1.7 习题 20
第2章 关系数据库 22
2.1 关系模型的基本概念 22
2.1.1 关系 22
2.1.2 关系模式和关系数据库 23
2.1.3 码 24
2.2 查询语言 24
2.3 关系代数 25
2.3.1 传统的集合运算 25
2.3.2 专门的关系运算 26
2.3.3 综合实例 31
2.4 本章小结 31
2.5 习题 31
第3章 关系数据库标准语言SQL 34
3.1 SQL概述 34
3.1.1 SQL的发展历程 34
3.1.2 SQL的特点 35
3.1.3 SQL的系统结构 35
3.1.4 SQL的组成 36
3.1.5 SQL语句的执行 36
3.2 学生选课数据库 37
3.3 数据定义 38
3.3.1 数据库的基础操作 38
3.3.2 基本表的定义、修改与删除 39
3.3.3 索引的建立与删除 42
3.4 数据更新 44
3.4.1 插入数据 44
3.4.2 修改数据 45
3.4.3 删除数据 46
3.5 数据查询 46
3.5.1 单表查询 47
3.5.2 连接查询 53
3.5.3 嵌套查询 54
3.5.4 集合查询 59
3.6 视图 60
3.6.1 视图和基本表的区别 61
3.6.2 视图的优点 61
3.6.3 创建与删除视图 61
3.6.4 查询视图 63
3.6.5 更新视图 63
3.7 综合实例 64
3.7.1 电视机供货系统实例 64
3.7.2 鞋子销售系统实例 64
3.7.3 唱片销售平台实例 65
3.7.4 酒店管理系统实例 66
3.8 本章小结 68
3.9 习题 68
实验1 熟悉SQL Server和SQL的使用方法 70
第4章 关系数据库编程 73
4.1 Transact-SQL 73
4.1.1 常量与变量 74
4.1.2 表达式 74
4.1.3 注释 75
4.1.4 运算符 75
4.1.5 控制结构 77
4.2 Transact-SQL游标 79
4.2.1 定义游标 80
4.2.2 打开游标 80
4.2.3 检索游标 80
4.2.4 关闭与删除游标 81
4.2.5 综合实例 81
4.3 Transact-SQL存储过程 83
4.3.1 存储过程的特点 83
4.3.2 SQL Server应用程序 83
4.3.3 存储过程的功能 83
4.3.4 存储过程的使用方法 84
4.3.5 综合实例 85
4.4 Transact-SQL函数 86
4.4.1 标量函数 87
4.4.2 内联表值函数 88
4.4.3 多语句表值函数 88
4.5 ODBC编程 89
4.5.1 开放式数据库互连概述 89
4.5.2 ODBC工作原理 90
4.6 JDBC编程 91
4.6.1 JDBC的工作原理 91
4.6.2 JDBC编程方法 92
4.7 本章小结 98
4.8 习题 98
实验2 Transact-SQL编程实践 100
第5章 关系数据库安全和保护 103
5.1 安全性 103
5.1.1 数据库安全性概述 103
5.1.2 用户标识与鉴别 104
5.1.3 自主存取控制 105
5.1.4 强制存取控制 105
5.1.5 视图机制 105
5.1.6 数据加密 106
5.1.7 数据库审计 106
5.1.8 统计数据库的安全性 107
5.1.9 SQL Server中的安全控制 107
5.2 完整性 120
5.2.1 实体完整性 120
5.2.2 参照完整性 121
5.2.3 用户自定义完整性 122
5.2.4 命名完整性约束 123
5.2.5 完整性约束综合实例 123
5.2.6 触发器 127
5.3 并发控制 130
5.3.1 事务的概念 130
5.3.2 并发操作问题 131
5.3.3 封锁 132
5.4 恢复机制 137
5.4.1 故障的种类 137
5.4.2 数据恢复的实现技术 138
5.5 本章小结 139
5.6 习题 139
实验3 数据库的安全性和完整性的实践 141
第6章 关系数据库的规范化理论 144
6.1 关系模式中可能存在的冗余和异常问题 144
6.2 函数依赖 145
6.3 范式 146
6.3.1 第一范式(1NF) 146
6.3.2 第二范式(2NF) 147
6.3.3 第三范式(3NF) 147
6.3.4 Boyce-Codd范式(BCNF) 148
6.4 模式分解 149
6.4.1 基础知识 149
6.4.2 模式分解算法 154
6.5 本章小结 159
6.6 习题 159
第7章 关系数据库设计 161
7.1 数据库设计的步骤 161
7.2 系统需求分析 162
7.2.1 系统调研过程 162
7.2.2 需求分析的方法 163
7.3 概念结构设计 163
7.3.1 概念结构的设计方法 164
7.3.2 概念模型中的基本概念 165
7.3.3 实体之间的联系 165
7.3.4 E-R图 167
7.3.5 E-R图实例 168
7.3.6 E-R图的集成 172
7.4 逻辑结构设计 172
7.4.1 初始关系模式设计 172
7.4.2 关系模式的优化 176
7.5 物理结构设计 176
7.5.1 确定数据分布 176
7.5.2 确定数据的存储结构 176
7.5.3 确定数据的访问方式 177
7.5.4 评价物理结构 177
7.6 数据库实施 177
7.7 数据库运行和维护 178
7.8 本章小结 179
7.9 习题 179
第8章 NoSQL数据库 181
8.1 NoSQL概述 181
8.2 NoSQL兴起的原因 182
8.2.1 关系数据库无法满足Web 2.0的需求 182
8.2.2 关系数据库的关键特性在“Web 2.0时代”成为“鸡肋” 183
8.3 NoSQL数据库与关系数据库的比较 184
8.4 NoSQL的四大类型 186
8.4.1 键值数据库 187
8.4.2 列族数据库 187
8.4.3 文档数据库 188
8.4.4 图数据库 188
8.5 NoSQL的三大基石 189
8.5.1 CAP 189
8.5.2 BASE 191
8.5.3 最终一致性 192
8.6 从NoSQL数据库到NewSQL数据库 193
8.7 本章小结 194
8.8 习题 195
第9章 分布式数据库HBase 196
9.1 HBase概述 196
9.1.1 从BigTable说起 196
9.1.2 HBase简介 197
9.1.3 HBase与传统关系数据库的对比分析 199
9.2 HBase访问接口 200
9.3 HBase数据模型 201
9.3.1 数据模型概述 201
9.3.2 数据模型的相关概念 201
9.3.3 数据坐标 202
9.3.4 概念视图 203
9.3.5 物理视图 204
9.3.6 面向列的存储 204
9.4 HBase的实现原理 206
9.4.1 HBase的功能组件 206
9.4.2 表和Region 206
9.4.3 Region的定位 207
9.5 HBase的运行机制 209
9.5.1 HBase的系统架构 209
9.5.2 Region服务器的工作原理 211
9.5.3 Store的工作原理 212
9.5.4 HLog的工作原理 213
9.6 HBase的安装 213
9.6.1 安装JDK 213
9.6.2 安装HBase 215
9.7 HBase编程实践 217
9.7.1 HBase常用的Shell命令 217
9.7.2 HBase常用的Java API及应用实例 220
9.8 本章小结 234
9.9 习题 234
实验4 熟悉常用的HBase操作 235
第10章 文档数据库MongoDB 238
10.1 MongoDB概述 238
10.2 MongoDB和关系数据库的对比 239
10.3 MongoDB的数据类型 240
10.4 安装MongoDB 241
10.5 安装MongoDB Shell 246
10.6 MongoDB基础操作 247
10.6.1 常用操作命令 247
10.6.2 简单操作演示 247
10.7 Java API编程实例 249
10.8 本章小结 253
10.9 习题 253
第11章 键值数据库Redis 254
11.1 Redis概述 254
11.2 Redis的应用场景 255
11.3 安装Redis 255
11.4 Redis的数据结构及其操作方法 257
11.4.1 通用操作命令 257
11.4.2 String类型 258
11.4.3 Hash类型 261
11.4.4 List类型 262
11.4.5 Set类型 263
11.5 使用Java操作Redis 265
11.6 本章小结 266
11.7 习题 266
实验5 NoSQL和关系数据库的操作比较  266
第12章 云数据库 270
12.1 云数据库概述 270
12.1.1 云计算是云数据库兴起的基础 270
12.1.2 云数据库的概念 272
12.1.3 云数据库的特性 272
12.1.4 云数据库是个性化数据存储需求的理想选择 274
12.1.5 云数据库与其他数据库的关系 275
12.2 云数据库产品 275
12.2.1 云数据库厂商简介 275
12.2.2 Amazon的云数据库产品 276
12.2.3 Google的云数据库产品 276
12.2.4 微软的云数据库产品 277
12.2.5 其他云数据库产品 278
12.3 云数据库系统架构 278
12.3.1 UMP系统简介 278
12.3.2 UMP系统架构 279
12.3.3 UMP系统功能 281
12.4 本章小结 284
12.5 习题 284
第13章 数据仓库和数据湖 285
13.1 数据仓库的概念 285
13.2 数据仓库的不同发展阶段 287
13.2.1 报表阶段 287
13.2.2 分析阶段 289
13.2.3 预测阶段 290
13.2.4 实时决策阶段 290
13.2.5 主动决策阶段 293
13.3 数据湖 294
13.3.1 数据湖的概念 294
13.3.2 数据湖与数据仓库的区别 296
13.3.3 数据湖能解决的企业问题 296
13.4 湖仓一体 297
13.5 本章小结 298
13.6 习题 299
第14章 SQL与大数据 300
14.1 Hive 300
14.1.1 Hive简介 300
14.1.2 Hive与Hadoop生态系统中其他组件的关系 301
14.1.3 Hive与传统关系数据库的对比分析 301
14.1.4 Hive在企业中的部署和应用 302
14.1.5 Hive系统架构 304
14.1.6 Hive工作原理 304
14.2 Spark SQL 306
14.2.1 Spark简介 306
14.2.2 Spark生态系统 307
14.2.3 Spark SQL基础 308
14.3 Flink SQL 309
14.3.1 Flink简介 310
14.3.2 Flink核心组件栈 311
14.3.3 Flink SQL基础 311
14.4 Phoenix 312
14.5 本章小结 312
14.6 习题 312
参考文献 313

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

林子雨,男,博士(毕业于北京大学),厦门大学计算机科学系副教授,厦门大学信息学院实验教学中心主任。2013年度、2017年度和2020年度厦门大学教学类奖教金获得者。中国计算机学会数据库专业委员会委员,中国计算机学会信息系统专业委员会委员,厦门大学数据库实验室负责人,数据中国“百校工程”教育部专家组成员。负责的“大数据技术原理与应用”课程获评“2018年国家精品在线开放课程”和“2020年国家级线上一流本科课程”。负责的“Spark编程基础”课程获评“2020年福建省线上一流本科课程”。国内高校首个“数字教师”的提出者和建设者,编著出版了国内高校第一本系统介绍大数据知识的专业教材《大数据技术原理与应用》,成为国内众多高校开课教材,同时建设了国内高校首个大数据课程公共服务平台,为教师教学和学生学习大数据课程免费提供全方位、一站式服务,平台累计访问量超过1000万次,成为国内高校大数据教学知名品牌,并获得“2018年福建省教学成果二等奖”和“2018年厦门大学教学成果特等奖”。

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部