- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
在定义关系模式时,支持一些常用完整性约束的定义。如:
您可能关注的文档
- 维护社会稳定的典型材料.doc
- 无比心水的桌面壁纸.ppt
- 1-1虚拟桌面无盘系统对比传统无盘.doc
- 必威体育精装版版高压节电器说明书071204.doc
- 关于九溪卫城马王庙.doc
- 脉搏到底和健康有着什么样的关系,脉搏有什么样的作用呢?_151.pdf
- 杨士群《最大的“书”》教学设计模板.doc
- 机械套筒连接在衬砌钢筋施工中的应用.doc
- 工程材料课件第03章 结晶相图.ppt
- 第八章 中生代地史.ppt
- [中央]2023年中国电子学会招聘应届生笔试历年参考题库附带答案详解.docx
- [吉安]2023年江西吉安市青原区总工会招聘协理员笔试历年参考题库附带答案详解.docx
- [中央]中华预防医学会科普信息部工作人员招聘笔试历年参考题库附带答案详解.docx
- [保定]河北保定市第二医院招聘工作人员49人笔试历年参考题库附带答案详解.docx
- [南通]江苏南通市崇川区人民法院招聘专职人民调解员10人笔试历年参考题库附带答案详解.docx
- [厦门]2023年福建厦门市机关事务管理局非在编工作人员招聘笔试历年参考题库附带答案详解.docx
- [三明]2023年福建三明市尤溪县招聘小学幼儿园新任教师79人笔试历年参考题库附带答案详解.docx
- [哈尔滨]2023年黑龙江哈尔滨市木兰县调配事业单位工作人员笔试历年参考题库附带答案详解.docx
- [上海]2023年上海市气象局所属事业单位招聘笔试历年参考题库附带答案详解.docx
- [台州]2023年浙江台州椒江区招聘中小学教师40人笔试历年参考题库附带答案详解.docx
最近下载
- 关于2025年度组织生活会谈心谈话记录(书记对委员、班子主要负责人与成员)+组织生活会一对一谈心谈话记录(支委之间).pdf VIP
- 2023年新高考八省必威体育精装版名校联考高一英语试题应用文写作汇编(解析版).pdf VIP
- 10KV电缆工程拟配备的试验和检测仪器设备表.docx VIP
- 2023年韩山师范学院公共课《C语言》科目期末试卷A(有答案).docx VIP
- 深基坑开挖对周边建筑物的影响和治理方案.docx VIP
- 中考文言文总复习资料.doc
- 虾皮shopee新手卖家考试题库及答案.pdf VIP
- 2009上汽荣威r550维修手册电路图原厂.pdf
- 家庭教育指导师国家职业标准(2024版).pdf
- 庆阳市交通运输局所属事业单位选调工作人员笔试真题2023.docx VIP
文档评论(0)