-
内容大纲
本书以国产关系数据库管理系统openGauss为实验平台,通过一系列实验,帮助读者深入理解并掌握数据库的原理和方法。通过在系统软件openGauss源代码上进行实验验证的形式,让读者掌握openGauss的编译与安装、openGauss的调试、表的创建与系统表、表的页面存储结构、查询处理、索引的构建与使用、日志与恢复、并发控制与锁等。通过在openGauss数据库上进行SQL综合实验,巩固关系数据库设计、SQL语言运用、各类数据库对象操作、数据库编程等。全书共12章,即12个实验,每个实验都包括实验介绍、实验目的、实验原理、实验步骤、实验结果、讨论与总结等部分,帮助读者深入理解实验内容,掌握实验技巧,通过实验加强对数据库原理知识的学习效果。
本书的特色是通过试错一修正一反馈的交互实验方式,构建进阶型实验步骤,启发读者在实验过程中思考并理解原理知识,进而强化和提升系统软件的开发实践能力。
本书适合作为高校软件工程、计算机科学与技术等专业本科数据库原理相关课程的配套实验教材,也可以作为数据库技术与应用相关从业者的自学用书。 -
作者介绍
王鑫,天津大学智能与计算学部教授、博导,人工智能学院副院长。教育部重点领域教学资源及新型教材建设项目专家组成员,教育部重点领域知识工程课程群虚拟教研室带头人,国家重点研发计划项目负责人。中国计算机学会杰出会员、信息系统专委会秘书长、数据库专委会常务委员。研究方向为知识图谱、图数据库和大数据处理等。 在IEEE TKDE、SIGMOD、VLDB、ICDE、IJCAI、AAAI、WWW、《计算机学报》、《软件学报》等国内外学术期刊及会议发表论文150余篇。担任WISE 2024、DASFAA 2023、APWeb-WAIM 2020等国际会议程序委员会主席,以及《计算机工程与应用》、KBS、WWWJ等国内外期刊副主编。获得天津市教学成果奖特等奖、天津市科技进步一等奖、中国计算机学会科技进步二等奖等奖项。入选全国高校计算机专业优秀教师奖励计划。 -
目录
第1章 openGauss初探
1.1 实验介绍
1.2 实验目的
1.3 实验原理
1.3.1 openGauss简介
1.3.2 openGauss架构
1.4 实验步骤
1.4.1 获取openGauss安装包
1.4.2 准备软硬件安装环境
1.4.3 修改操作系统配置
1.4.4 安装openGauss
1.4.5 使用gsql连接数据库
1.4.6 使用Data Studio连接数据库
1.5 实验结果
1.6 讨论与总结
第2章 基本数据管理
2.1 实验介绍
2.2 实验目的
2.3 实验原理
2.3.1 关系数据库语言SQL
2.3.2 数据定义
2.3.3 数据查询
2.3.4 数据更新
2.3.5 gsql元命令
2.4 实验步骤
2.4.1 创建数据库与数据表
2.4.2 查询数据——基本查询
2.4.3 查询数据——连接查询
2.4.4 查询数据——子查询
2.4.5 查询数据——集合查询
2.4.6 更新数据
2.4.7 修改表结构
2.5 实验结果
2.6 讨论与总结
第3章 高级数据管理
3.1 实验介绍
3.2 实验目的
3.3 实验原理
3.3.1 视图
3.3.2 索引
3.3.3 存储过程
3.3.4 触发器
3.3.5 事务管理
3.3.6 权限管理
3.4 实验步骤
3.4.1 使用视图
3.4.2 使用索引
3.4.3 使用存储过程
3.4.4 使用触发器
3.4.5 使用事务机制
3.4.6 使用权限
3.5 实验结果
3.6 讨论与总结
第4章 数据库开发
4.1 实验介绍
4.2 实验目的
4.3 实验原理
4.3.1 由E-R模型到关系模型的转换
4.3.2 JDBC
4.3.3 ODBC
4.3.4 Psycopg2
4.4 实验步骤
4.4.1 数据库设计
4.4.2 基于JDBC开发
4.4.3 基于ODBC开发
4.4.4 基于Python开发
4.5 实验结果
4.6 讨论与总结
第5章 openGauss的编译与安装
5.1 实验介绍
5.2 实验目的
5.3 实验原理
5.3.1 openGauss编译环境
5.3.2 Linux配置与编译工具
5.4 实验步骤
5.4.1 准备用户和目录
5.4.2 下载相关文件
5.4.3 配置环境变量
5.4.4 配置swap分区
5.4.5 进行编译
5.4.6 进行安装
5.4.7 初始化数据库
5.4.8 启动数据库服务器
5.4.9 连接数据库
5.5 实验结果
5.6 讨论与总结
第6章 openGauss的调试过程
6.1 实验介绍
6.2 实验目的
6.3 实验原理
6.3.1 VS Code远程开发
6.3.2 VS Code远程调试
6.4 实验步骤
6.4.1 配置VS Code远程开发环境
6.4.2 配置openGauss调试环境
6.4.3 openGauss单步调试
6.4.4 以attach方式进行openGauss调试
6.5 实验结果
6.6 讨论与总结
第7章 表的创建与系统表
7.1 实验介绍
7.2 实验目的
7.3 实验原理
7.3.1 系统表
7.3.2 系统表的关联
7.3.3 相关结构体
7.4 实验步骤
7.4.1 使用CREATE TABLE创建关系模式
7.4.2 查询系统表
7.4.3 浏览和阅读重要结构体与系统表源代码
7.4.4 输出CREATE TABLE相关信息
7.5 实验结果
7.6 讨论与总结
第8章 表的页面存储结构
8.1 实验介绍
8.2 实验目的
8.3 实验原理
8.3.1 openGauss数据文件
8.3.2 堆表存储结构
8.3.3 元组的更新和删除过程
8.3.4 pageinspect插件及其函数介绍
8.3.5 相关结构体
8.4 实验步骤
8.4.1 安装pageinspect插件
8.4.2 创建示例表模式并插入示例数据
8.4.3 使用pageinspect插件分析表的页面存储结构
8.5 实验结果
8.6 讨论与总结
第9章 查询处理
9.1 实验介绍
9.2 实验目的
9.3 实验原理
9.3.1 嵌套循环连接算法原理
9.3.2 浏览嵌套循环连接算法源代码的主要流程图
9.3.3 相关结构体与源代码
9.4 实验步骤
9.4.1 嵌套循环连接算法源代码定位
9.4.2 连接数据库:准备查询数据
9.4.3 添加代码:输出ExecNestLoop函数调试信息
9.4.4 添加代码:输出嵌套循环连接算法的比较信息
9.5 实验结果
9.6 讨论与总结
第10章 索引的构建与使用
10.1 实验介绍
10.2 实验目的
10.3 实验原理
10.3.1 索引结构
10.3.2 B+树索引
10.3.3 CREATE INDEX语句
10.3.4 索引相关的函数与结构体
10.3.5 btree索引创建过程
10.4 实验步骤
10.4.1 构建btree索引
10.4.2 索引相关的系统表
10.4.3 索引的作用与开销
10.4.4 添加代码:分析btree索引构建过程
10.4.5 使用pageinspect插件分析索引页面
10.5 实验结果
10.6 讨论与总结
第11章 日志与恢复
11.1 实验介绍
11.2 实验目的
11.3 实验原理
11.3.1 WAL日志文件
11.3.2 XLOG日志记录
11.3.3 日志写入过程
11.3.4 检查点机制
11.3.5 数据库恢复
11.3.6 数据库备份与PITR
11.4 实验步骤
11.4.1 查看WAL日志文件
11.4.2 验证数据库恢复
11.4.3 分析代码:数据库恢复过程
11.4.4 添加代码:在数据库恢复过程中输出信息
11.4.5 验证数据库备份与PITR
11.5 实验结果
11.6 讨论与总结
第12章 并发控制与锁
12.1 实验介绍
12.2 实验目的
12.3 实验原理
12.3.1 openGauss的事务处理
12.3.2 openGauss的锁机制
12.3.3 关键数据结构及函数
12.4 实验步骤
12.4.1 查看锁信息
12.4.2 复现Share锁
12.4.3 复现Access Share锁
12.4.4 复现Row Exclusive锁
12.4.5 复现Access Exclusive锁
12.4.6 添加代码:输出获取与释放锁的信息
12.5 实验结果
12.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年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...
[
