本书设计并实现了一款基于Python的轻量化数据库管理系统(DBMS),旨在通过模块化设计和规范清晰的代码结构,帮助学生直观理解DBMS的底层运行机制,提高学生的动手实践能力。本系统采用分层模块化设计,分别实现了存储管理、日志管理、缓冲区管理、事务管理、记录管理、元数据管理、查询和更新管理、语句解析和计划管理等模块。本系统的实现过程不仅为DBMS教学提供了实践工具,还为学生进一步开发、优化DBMS提供了可扩展的框架。本书可作为高等院校计算机专业高年级同学的实验教材。
丁艳辉,汉族中共党员,计算机软件与理论专业,获工学博士学位。教授、硕士生导师,中国计算机协会信息系统专业委员会委员。2015年1月至2015年12月,在香港科技大学做访问学者;2016年3月至2017年4月,在美国宾夕法尼亚大学做访问学者。主要研究领域包括Web数据集成、基于机器学习的医学图像分析等;主持国家自然科学基金青年项目1项、省部级项目2项;在《计算机学报》、Journal of Computer Science and Technology等期刊和国内外学术会议上发表论文10余篇;获山东省科技进步二等奖(第4位)1项。
目录
Contents
第1章 存储管理 1
1.1 实验要求 1
1.2 实验分析 1
1.3 具体实现 4
1.3.1 实验环境 4
1.3.2 实现步骤 5
1.4 参考代码 5
1.5 模块测试 10
第2章 日志管理 12
2.1 实验要求 12
2.2 实验分析 12
2.3 具体实现 14
2.3.1 实验环境 14
2.3.2 实现步骤 14
2.4 参考代码 14
2.5 模块测试 18
第3章 缓冲区管理 21
3.1 实验要求 21
3.2 实验分析 21
3.3 具体实现 23
3.3.1 实验环境 23
3.3.2 实现步骤 24
3.4 参考代码 24
3.5 模块测试 29
第4章 事务管理 32
4.1 实验要求 32
4.2 实验分析 32
4.3 具体实现 38
4.3.1 实验环境 38
4.3.2 实现步骤 38
4.4 参考代码 38
4.4.1 并发管理 38
4.4.2 恢复管理 42
4.4.3 事务 55
4.5 模块测试 60
第5章 记录管理 68
5.1 实验要求 68
5.2 实验分析 68
5.3 具体实现 71
5.3.1 实验环境 71
5.3.2 实现步骤 71
5.4 参考代码 72
5.5 模块测试 86
第6章 元数据管理 92
6.1 实验要求 92
6.2 实验分析 92
6.3 具体实现 96
6.3.1 实验环境 96
6.3.2 实现步骤 96
6.4 参考代码 96
6.5 模块测试 110
第7章 查询和更新管理 114
7.1 实验要求 114
7.2 实验分析 114
7.3 具体实现 117
7.3.1 实验环境 117
7.3.2 实现步骤 117
7.4 参考代码 117
7.5 模块测试 128
第8章 语句解析 132
8.1 实验要求 132
8.2 实验分析 132
8.3 具体实现 136
8.3.1 实验环境 136
8.3.2 实现步骤 137
8.4 参考代码 137
8.5 模块测试 151
第9章 计划管理 153
9.1 实验要求 153
9.2 实验分析 153
9.3 具体实现 157
9.3.1 实验环境 157
9.3.2 实现步骤 158
9.4 参考代码 158
9.5 模块测试 168
第10章 数据库实现 171
10.1 实验要求 171
10.2 实验分析 171
10.3 具体实现 173
10.3.1 实验环境 173
10.3.2 实现步骤 173
10.4 参考代码 173
10.5 模块测试 182
附录A 183
附录B 188