网站大量收购独家精品文档,联系QQ:2885784924

数据库课程设计任务指导书.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库课程设计任务指导书

《数据库课程设计》(CS372) 设计指导书 上海交通大学计算机科学与工程系 2009年4月 1 引言 大型课程设计是我系多年来一直坚持的特色课程,其目的是培养我系学生在大型软件和系统软件设计开发方面的能力。《数据库课程设计》是大型课程设计之一。 数据库技术具有广泛的应用,有关数据库技术的课程是计算机学科的主干课程之一。数据库管理系统(DBMS)是支持数据库应用的重要的系统软件。《数据库课程设计》的课程目标是让学生自己设计并实现一个小型的关系数据库管理系统。 设立《数据库课程设计》的指导思想是:使学生加深对《数据库原理》课程中学到的基本概念、基本原理和基本技术的理解;提供一个让学生综合应用所学程序设计、操作系统、编译原理和软件工程等方面知识的机会;培养学生独立自主学习、分析和解决问题的能力;增强学生进行大型程序设计的实践能力。 由于课程设置、课时安排等原因,为了完成这个课程设计,需要学生自学很多有关内容,而且系统涉及较多底层技术,所以总得来说,这是非常具有挑战性的课程设计任务。 文献【1】是本课程设计的主要的参考文献。 2 系统分析 数据库管理系统(DBMS)是建立在操作系统基础之上、用于管理数据库的系统软件。商用DBMS通常是功能全面而复杂的,但作为课程设计,我们要求学生设计实现的DBMS只需要具备一些基本功能组件,而且每个功能组件只需要完成简单而基本的功能。 系统应该包括的基本功能组件及其相应功能描述如下: (1)存储管理器:在磁盘上按关系数据模型存储数据,并支持高效的访问(如索引和Hash); (2)缓冲管理器:管理内存中的缓冲区,专用于与磁盘之间的数据I/O; (3)查询处理器:编译SQL语句,生成查询计划,优化查询计划; (4)执行引擎:执行查询计划; (5)用户界面:接受用户的SQL语句,显示返回结果;可以是图形用户界面,也可以是命令行界面。 以上各个组件相互之间的关系如图1所示。 DBMS还有很多其他组件或更全面的功能,如事务管理、并发控制和恢复机制等。由于复杂性和时间的关系,本课程设计不做要求。学有余力的同学可以考虑实现之。 本课程设计只要求同学们定义一个SQL的较简单的子集。无论是支持的语句数量,还是每条语句的语法复杂度,相对于SQL标准都需要进行简化。 3 系统设计 要求按照软件工程规范进行DBMS的设计和实现。 下面具体给出对DBMS各功能组件的设计要求和指导。 3.1 存储管理器 存储管理器实现对磁盘数据库的读写操作。 DBMS当然可以自己管理磁盘,但更简单的实现方法是借助于操作系统的文件系统来管理磁盘数据。具体方法有两种: (1)一个表就是一个文件,文件具有自定义的格式,能够高效地读写文件记录。例如从dBase一直发展到FoxPro的.dbf文件格式(参见【2】),以及Access的.mdb文件(参见【3】)。这种方法比较适合个人桌面数据库系统。 (2)一个数据库是一个文件,该数据库中的所有表都在这个文件上存储。可以把这个文件视为“逻辑磁盘”,它同样是划分为页(块)分配空间。例如SQL Server的.mdf主数据文件(参见【4】)。 商用DBMS的数据文件格式非常复杂,同学们在设计自己的数据文件格式时应该做适当的简化。 对数据文件的操作包括:记录存取(find,get,insert,delete,first,last等);索引的建立与维护;数据文件的排序(归并排序);数据字典的维护等。 为了高效地访问文件记录,需要利用索引技术。数据库系统常用的索引是B树或B+树,任何标准的数据结构或数据库系统教材都有这方面的内容。 3.2 缓冲管理器 数据库的数据存储于磁盘之上,但为了对数据进行操作,需要先把数据输入到内存中。缓冲管理器负责在系统分配的内存中维护缓冲区,用于缓冲来自磁盘的数据。缓冲区也是按页进行划分的。DBMS中所有需要从磁盘获取信息的部件都必须直接或间接地与缓冲区及缓冲管理器打交道。这些信息包括数据库的数据、元数据、索引等等。 由于缓冲区的大小有限,缓冲管理器必须实现一个替换策略,即用新读进的磁盘块替换原来在缓冲区中的某个页。常见的替换策略包括LRU、FIFO等。 3.3 查询处理器 查询处理器是本课程设计的最重要的部件。 3.3.1 数据库语言SQL 首先,需要定义一个简化的SQL语言。SQL语言包括数据定义语言(DDL)和数据操纵语言(DML)。本课程设计要求至少实现下面的语句。当然,每条语句都可以是高度简化的,即同学们可以自行给出其语法(SQL语法可参考【5】)。 (1)数据定义语言 DDL用来定义关系模式、视图等。主要语句包括: CREATE TABLE DROP TABLE CREATE VIEW DROP VIEW 在定义关系模式时,支持一些常用完整性约束的定义。如:

您可能关注的文档

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档