课程中文名称:数据库系统实现
课程英文名称:Database System Implementation
课程类别:选修
课程学分数:1
课程学时数:0 实验36
授课对象:计算机科学与技术及相关专业本科学生
本课程的前导课程:数据库原理、编译原理、操作系统原理、计算机系统结构等
- 教学目的
本实验课程是数据库系统实现课程的实验课,开设的目的是要帮助学生通过分析一个开源DBMS的源代码并且在其基础上实现对象代理模型的基础功能,借此深入地了解数据库管理系统内部的工作原理、实现细节和开发技术。
- 教学要求
要求学生通过使用Source Insight等代码阅读工具对一种开源数据库的源代码进行阅读和分析,并结合利用GDB等程序调试工具跟踪该数据库的执行过程,直观地了解数据库管理系统内部的实现细节和工作流程。然后,向学生介绍对象代理模型这种新数据模型及其数据库管理系统的基础功能。最后,要求学生在所选择的开源数据库基础上改造开发对象代理模型的基本功能。
- 课程内容与学时分配
1.概述。介绍几种开源数据库管理系统的编译、安装与运行过程。讲解代码阅读工具Source Insight的基本功能和用法。简单介绍各个系统源代码的目录结构。介绍如何在Linux使用GDB来调试和跟踪数据库系统的执行过程。
2.对象代理模型。介绍对象代理模型的基本理论、主要概念和操作,并且介绍要在DBMS中实现的对象代理模型基本功能。帮助学生分析要实现这些功能会涉及到哪些问题。
3.操作语言。根据要实现的对象代理数据库功能,设计相应的操作语言语法,制定在开源数据库中增加实现这些语法的方案并实现。
4.存储设计。针对对象代理数据库的主要成分:类(对象)和代理类(代理对象),设计类、代理类以及相关元数据的的存储方案。
5. 查询编译和调度。设计第3部分中所增加语法的内部表达形式,并且实现其查询编译与调度。
6. DDL执行。设计第3部分中所增加的DDL语法的执行方案,并且根据第5部分设计的内部查询表达形式实现该执行方案。
7.DML执行。设计第3部分中所增加的DML语法的执行方案,并且根据第5部分设计的内部查询表达形式实现该执行方案。由于DML语句的执行必须基于DML语句所创建的类和代理类进行,所以第6、7部分的顺序不可交换。
8.整体调试检查。整合3-7部分实现的模块,形成完整的系统,并且调试正常交付指导老师检查。
学生在完成上述实验后,可以选作其它实验。
课程内容与学时分配表
内 容 | 学 时 |
概述 | 4 |
对象代理模型 | 2 |
操作语言 | 4 |
存储设计 | 4 |
查询编译和调度 | 6 |
DDL执行 | 6 |
DML执行 | 6 |
整体调试检查 | 4 |
- 教材与参考书
教 材:《Database System Implementation》,(美)Hector Garcia-Molina, Jeffrey. D. Ullman, Jennifer Wisdom 著
参考书:
[1] 《PostgreSQL数据库内核分析》,机械工业出版社,彭智勇、彭煜玮著,2011年
[2] 《UNIX环境高级编程》(影印本),机械工业出版社,(美)W.Richard Stevens 著
- 考核方式
通过开发对象代理数据库系统并提交系统源代码来进行考核,通过代码检查和系统功能的完成度打分。