全球旧事资料 分类
《数据库课程设计》(CS372)设计指导书
上海交通大学计算机科学与工程系2009年4月
f1引言
大型课程设计是我系多年来一直坚持的特色课程,其目的是培养我系学生在大型软件和系统软件设计开发方面的能力。《数据库课程设计》是大型课程设计之一。
数据库技术具有广泛的应用,有关数据库技术的课程是计算机学科的主干课程之一。数据库管理系统(DBMS)是支持数据库应用的重要的系统软件。《数据库课程设计》的课程目标是让学生自己设计并实现一个小型的关系数据库管理系统。
设立《数据库课程设计》的指导思想是:使学生加深对《数据库原理》课程中学到的基本概念、基本原理和基本技术的理解;提供一个让学生综合应用所学程序设计、操作系统、编译原理和软件工程等方面知识的机会;培养学生独立自主学习、分析和解决问题的能力;增强学生进行大型程序设计的实践能力。
由于课程设置、课时安排等原因,为了完成这个课程设计,需要学生自学很多有关内容,而且系统涉及较多底层技术,所以总得来说,这是非常具有挑战性的课程设计任务。
文献【1】是本课程设计的主要的参考文献。
2系统分析
数据库管理系统(DBMS)是建立在操作系统基础之上、用于管理数据库的系统软件。商用DBMS通常是功能全面而复杂的,但作为课程设计,我们要求学生设计实现的DBMS只需要具备一些基本功能组件,而且每个功能组件只需要完成简单而基本的功能。
系统应该包括的基本功能组件及其相应功能描述如下:(1)存储管理器:在磁盘上按关系数据模型存储数据,并支持高效的访问(如索引和Hash);(2)缓冲管理器:管理内存中的缓冲区,专用于与磁盘之间的数据IO;(3)查询处理器:编译SQL语句,生成查询计划,优化查询计划;(4)执行引擎:执行查询计划;(5)用户界面:接受用户的SQL语句,显示返回结果;可以是图形用户界面,也可以是命令行界面。以上各个组件相互之间的关系如图1所示。DBMS还有很多其他组件或更全面的功能,如事务管理、并发控制和恢复机制等。由于复杂性和时间的关系,本课程设计不做要求。学有余力的同学可以考虑实现之。本课程设计只要求同学们定义一个SQL的较简单的子集。无论是支持的语句数量,还是每条语句的语法复杂度,相对于SQL标准都需要进行简化。
3系统设计
要求按照软件工程规范进行DBMS的设计和实现。下面具体给出对DBMS各功能组件的设计要求和指导。
fSQL语句查询处理器
查询计划执行引擎
数据请求缓冲管理器
IO请求存储管理器
元数据r
好听全球资料 返回顶部