-
内容大纲
本书对数据库系统的概念、原理、技术和方法进行系统、全面的阐述。本书共14章,内容包括数据库概述、关系数据库、关系数据库标准语言SQL、关系数据库编程、关系数据库安全和保护、关系数据库的规范化理论、关系数据库设计、NoSQL数据库、分布式数据库HBase、文档数据库MongoDB、键值数据库Redis、云数据库、数据仓库和数据湖、SQL与大数据。本书在关系数据库标准语言SQL、关系数据库编程、关系数据库安全和保护、分布式数据库HBase、键值数据库Redis等重要内容中安排了丰富的实践操作,以帮助读者更好地学习和掌握数据库技术。
本书可以作为高等学校计算机相关专业“数据库系统原理”课程的教材,也可以供相关技术人员学习参考。 -
作者介绍
林子雨(1978-),男,博士,厦门大学计算机科学系助理教授,厦门大学云计算与大数据研究中心创始成员,厦门大学数据库实验室负责人,中国计算机学会数据库专委会委员,中国计算机学会信息系统专委会委员。于2001年获得福州大学水利水电专业学士学位,2005年获得厦门大学计算机专业硕士学位,2009年获得北京大学计算机专业博士学位。中国高校首个“数字教师”提出者和建设者,2009年至今,“数字教师”大平台累计向网络免费发布超过100万字高价值的教学和科研资料,累计网络访问量超过100万次。 主要研究方向为数据库、数据仓库、数据挖掘、大数据和云计算,发表期刊和会议学术论文多篇,并作为课题组负责人承担了国家自然科学基金和福建省自然科学基金项目。曾作为志愿者翻译了Google Spanner、BigTable和《Architecture of a Database System》等大量英文学术资料,与广大网友分享,深受欢迎。2013年在厦门大学开设大数据课程,并因在教学领域的突出贡献和学生的认可,成为2013年度厦门大学教学类奖教金获得者。 -
目录
第1章 数据库概述
1.1 数据
1.1.1 数据的概念
1.1.2 数据与信息的关系
1.1.3 数据的价值
1.1.4 数据的使用
1.2 数据管理
1.3 数据库与数据库管理系统
1.3.1 数据库
1.3.2 数据库管理系统
1.3.3 SQL Server
1.4 数据库系统
1.4.1 数据库系统的组成
1.4.2 数据库系统的特点
1.4.3 数据库系统的体系结构
1.5 数据库技术的历史与现状
1.5.1 数据库领域的杰出贡献者
1.5.2 数据库发展历史
1.5.3 国产数据库的发展现状
1.6 本章小结
1.7 习题
第2章 关系数据库
2.1 关系模型的基本概念
2.1.1 关系
2.1.2 关系模式和关系数据库
2.1.3 码
2.2 查询语言
2.3 关系代数
2.3.1 传统的集合运算
2.3.2 专门的关系运算
2.3.3 综合实例
2.4 本章小结
2.5 习题
第3章 关系数据库标准语言SQL
3.1 SQL概述
3.1.1 SQL的发展历程
3.1.2 SQL的特点
3.1.3 SQL的系统结构
3.1.4 SQL的组成
3.1.5 SQL语句的执行
3.2 学生选课数据库
3.3 数据定义
3.3.1 数据库的基础操作
3.3.2 基本表的定义、修改与删除
3.3.3 索引的建立与删除
3.4 数据更新
3.4.1 插入数据
3.4.2 修改数据
3.4.3 删除数据
3.5 数据查询
3.5.1 单表查询
3.5.2 连接查询
3.5.3 嵌套查询
3.5.4 集合查询
3.6 视图
3.6.1 视图和基本表的区别
3.6.2 视图的优点
3.6.3 创建与删除视图
3.6.4 查询视图
3.6.5 更新视图
3.7 综合实例
3.7.1 电视机供货系统实例
3.7.2 鞋子销售系统实例
3.7.3 唱片销售平台实例
3.7.4 酒店管理系统实例
3.8 本章小结
3.9 习题
实验1 熟悉SQL Server和SQL的使用方法
第4章 关系数据库编程
4.1 Transact-SQL
4.1.1 常量与变量
4.1.2 表达式
4.1.3 注释
4.1.4 运算符
4.1.5 控制结构
4.2 Transact-SQL游标
4.2.1 定义游标
4.2.2 打开游标
4.2.3 检索游标
4.2.4 关闭与删除游标
4.2.5 综合实例
4.3 Transact-SQL存储过程
4.3.1 存储过程的特点
4.3.2 SQL Server应用程序
4.3.3 存储过程的功能
4.3.4 存储过程的使用方法
4.3.5 综合实例
4.4 Transact-SQL函数
4.4.1 标量函数
4.4.2 内联表值函数
4.4.3 多语句表值函数
4.5 ODBC编程
4.5.1 开放式数据库互连概述
4.5.2 ODBC工作原理
4.6 JDBC编程
4.6.1 JDBC的工作原理
4.6.2 JDBC编程方法
4.7 本章小结
4.8 习题
实验2 Transact-SQL编程实践
第5章 关系数据库安全和保护
5.1 安全性
5.1.1 数据库安全性概述
5.1.2 用户标识与鉴别
5.1.3 自主存取控制
5.1.4 强制存取控制
5.1.5 视图机制
5.1.6 数据加密
5.1.7 数据库审计
5.1.8 统计数据库的安全性
5.1.9 SQL Server中的安全控制
5.2 完整性
5.2.1 实体完整性
5.2.2 参照完整性
5.2.3 用户自定义完整性
5.2.4 命名完整性约束
5.2.5 完整性约束综合实例
5.2.6 触发器
5.3 并发控制
5.3.1 事务的概念
5.3.2 并发操作问题
5.3.3 封锁
5.4 恢复机制
5.4.1 故障的种类
5.4.2 数据恢复的实现技术
5.5 本章小结
5.6 习题
实验3 数据库的安全性和完整性的实践
第6章 关系数据库的规范化理论
6.1 关系模式中可能存在的冗余和异常问题
6.2 函数依赖
6.3 范式
6.3.1 第一范式(1NF)
6.3.2 第二范式(2NF)
6.3.3 第三范式(3NF)
6.3.4 Boyce-Codd范式(BCNF)
6.4 模式分解
6.4.1 基础知识
6.4.2 模式分解算法
6.5 本章小结
6.6 习题
第7章 关系数据库设计
7.1 数据库设计的步骤
7.2 系统需求分析
7.2.1 系统调研过程
7.2.2 需求分析的方法
7.3 概念结构设计
7.3.1 概念结构的设计方法
7.3.2 概念模型中的基本概念
7.3.3 实体之间的联系
7.3.4 E-R图
7.3.5 E-R图实例
7.3.6 E-R图的集成
7.4 逻辑结构设计
7.4.1 初始关系模式设计
7.4.2 关系模式的优化
7.5 物理结构设计
7.5.1 确定数据分布
7.5.2 确定数据的存储结构
7.5.3 确定数据的访问方式
7.5.4 评价物理结构
7.6 数据库实施
7.7 数据库运行和维护
7.8 本章小结
7.9 习题
第8章 NoSQL数据库
8.1 NoSQL概述
8.2 NoSQL兴起的原因
8.2.1 关系数据库无法满足Web 2.0的需求
8.2.2 关系数据库的关键特性在“Web 2.0时代”成为“鸡肋”
8.3 NoSQL数据库与关系数据库的比较
8.4 NoSQL的四大类型
8.4.1 键值数据库
8.4.2 列族数据库
8.4.3 文档数据库
8.4.4 图数据库
8.5 NoSQL的三大基石
8.5.1 CAP
8.5.2 BASE
8.5.3 最终一致性
8.6 从NoSQL数据库到NewSQL数据库
8.7 本章小结
8.8 习题
第9章 分布式数据库HBase
9.1 HBase概述
9.1.1 从BigTable说起
9.1.2 HBase简介
9.1.3 HBase与传统关系数据库的对比分析
9.2 HBase访问接口
9.3 HBase数据模型
9.3.1 数据模型概述
9.3.2 数据模型的相关概念
9.3.3 数据坐标
9.3.4 概念视图
9.3.5 物理视图
9.3.6 面向列的存储
9.4 HBase的实现原理
9.4.1 HBase的功能组件
9.4.2 表和Region
9.4.3 Region的定位
9.5 HBase的运行机制
9.5.1 HBase的系统架构
9.5.2 Region服务器的工作原理
9.5.3 Store的工作原理
9.5.4 HLog的工作原理
9.6 HBase的安装
9.6.1 安装JDK
9.6.2 安装HBase
9.7 HBase编程实践
9.7.1 HBase常用的Shell命令
9.7.2 HBase常用的Java API及应用实例
9.8 本章小结
9.9 习题
实验4 熟悉常用的HBase操作
第10章 文档数据库MongoDB
10.1 MongoDB概述
10.2 MongoDB和关系数据库的对比
10.3 MongoDB的数据类型
10.4 安装MongoDB
10.5 安装MongoDB Shell
10.6 MongoDB基础操作
10.6.1 常用操作命令
10.6.2 简单操作演示
10.7 Java API编程实例
10.8 本章小结
10.9 习题
第11章 键值数据库Redis
11.1 Redis概述
11.2 Redis的应用场景
11.3 安装Redis
11.4 Redis的数据结构及其操作方法
11.4.1 通用操作命令
11.4.2 String类型
11.4.3 Hash类型
11.4.4 List类型
11.4.5 Set类型
11.5 使用Java操作Redis
11.6 本章小结
11.7 习题
实验5 NoSQL和关系数据库的操作比较
第12章 云数据库
12.1 云数据库概述
12.1.1 云计算是云数据库兴起的基础
12.1.2 云数据库的概念
12.1.3 云数据库的特性
12.1.4 云数据库是个性化数据存储需求的理想选择
12.1.5 云数据库与其他数据库的关系
12.2 云数据库产品
12.2.1 云数据库厂商简介
12.2.2 Amazon的云数据库产品
12.2.3 Google的云数据库产品
12.2.4 微软的云数据库产品
12.2.5 其他云数据库产品
12.3 云数据库系统架构
12.3.1 UMP系统简介
12.3.2 UMP系统架构
12.3.3 UMP系统功能
12.4 本章小结
12.5 习题
第13章 数据仓库和数据湖
13.1 数据仓库的概念
13.2 数据仓库的不同发展阶段
13.2.1 报表阶段
13.2.2 分析阶段
13.2.3 预测阶段
13.2.4 实时决策阶段
13.2.5 主动决策阶段
13.3 数据湖
13.3.1 数据湖的概念
13.3.2 数据湖与数据仓库的区别
13.3.3 数据湖能解决的企业问题
13.4 湖仓一体
13.5 本章小结
13.6 习题
第14章 SQL与大数据
14.1 Hive
14.1.1 Hive简介
14.1.2 Hive与Hadoop生态系统中其他组件的关系
14.1.3 Hive与传统关系数据库的对比分析
14.1.4 Hive在企业中的部署和应用
14.1.5 Hive系统架构
14.1.6 Hive工作原理
14.2 Spark SQL
14.2.1 Spark简介
14.2.2 Spark生态系统
14.2.3 Spark SQL基础
14.3 Flink SQL
14.3.1 Flink简介
14.3.2 Flink核心组件栈
14.3.3 Flink SQL基础
14.4 Phoenix
14.5 本章小结
14.6 习题
参考文献
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...