《数据库系统原理课程设计-全新版.docx》由会员分享,可在线阅读,更多相关《数据库系统原理课程设计-全新版.docx(21页珍藏版)》请在第一文库网上搜索。
1、数据库系统原理课程设计讲义黑龙江大学软件学院黑龙江大学计算机学院一、开设本课程设计的目的本课程是计算机专业中一门重要B专业理论课。为配合数据库系统原理与实现课程的教学,通过模拟DBMS的实现,更深刻地领会DBMS的工作原理和实现措施,从而具有初步开发系统软件的实际能力,特开设此课程设计。将读书环节融入数据库系统原理课程设计欧J教学内容中,做到理论教学、实践教学、读书环节三者有机结合。通过读书使学生深入理解课程的理论知识,拓宽视野,加深对本专业有关课程的理解,并培养独立阅读、思索、处理问题0能力。二、课程设计的重要内容通过理论讲课与读书环节,熟悉DBMS设计与实现的基本理论和措施,用高级程序设计
2、语言完毕DBMS原型系统的设计与实现。通过模拟DBMS的实现,使学生系统地掌握关系代数语言的J运算功能;理解DBMS的JDD1、DM1、DC1等功能0实质含义;掌握构造化设计措施;理解大型软件0设计技术。1、DD1功能模拟在熟悉和掌握关系数据库查询语言0基础上,用高级程序设计语言创立数据库。详细包括:(1)实现SQ1B建库语句,建立对应的数据库表,并填写数据字典。(2)实现表模式的修改功能。规定:可以为己建立的表添加属性。可以从已建立0表中删除属性。(3)实现删除表功能。(4)实现创立视图0功能。(5)实现删除视图B功能。(6)实现创立索引的功能。(7)实现删除索引的功能。2、DM1功能模拟使
3、用某种高级程序设计语言,实现SQ1语句中的数据维护操作和查询操作。详细包括:(1)往已经创立B表中插入元组。(2)从已经创立0表中删除元组。(3)修改表中的数据。(4)实现SE1ECT语句,包括:实现单表上的选择和投影操作。实现多表0连接操作。实现多表B选择、投影和连接B混合操作。实现带视图的上述操作。实现索引关系的上述操作。(5)用高级语言实现启发式关系代数优化算法和基于复杂性估计的查询优化措施。3、DC1功能模拟规定根据数据字典(DD)实现对数据库的安全性检查和完整性约束的机制;运用事务的封锁机制实现对事务处理的并发控制J;运用建立日志文献及周期性备份0机制实现对数据库的恢复。三、教学文献
4、及教学形式教学文献:数据库系统原理,李建中编著,电子工业出版社教学形式:教学与试验同步进行,并按试验规定上机试验,编程调试。四、课程设计的详细内容数据库系统原理课程设计共包括7个子试验,详细试验内容如下。试验一关系数据库SQ1语言的使用试验条件:提供以SQ1语言为关键的数据库管理系统(如ORAC1E,DB2,SYBASE,SQ1SerVer等)上机环境。(一)试验目的通过上机实践,理解DBMS和SQ1的概貌。纯熟掌握SQ1时数据定义、数据操纵、完整性控制等功能。(-)试验内容与环节1、基本表的创立、数据插入(I)建立教学数据库的三个基本表:S(S#,SNAME,AGE,SEX)学生(学号,姓名
5、,年龄,性别)SC(S#,C#,GRADE)学习(学号,课程号,成绩)C(C#,CNAME,TEACHER)课程(课程号,课程名,任课教师)(2)用INSERT命令输入数据。基本表SB数据:S1WANG20MS21IU19MS3CHEN22MS4WU19MS51OU21FS8DONG18F基本表C的数据:S1C180S1C270S1C385S1C490S1C570S2C185S3C190S3C285S3C395S4C175S4C470S5C170S5C260S5C380S5C565S8C190S8C395C1DB1IC2MATHSMAC3ZHOUCHEMISTRYC4PHYSICSSHIC5O
6、SWEN基本表SC0数据:2、数据查询(1)检索学习课程号为C2的学生学号与姓名。(2)检索学习课程名为MATHSB学生学号与姓名。(3)检索不学C2课时学生姓名与年龄。(4)检索学习所有课程的学生姓名。3、数据修改、删除(1)把C2课程的非空成绩提高10%。(2)在SC表中删除课程名为PHYS1CS的成绩B元组。(3)在S和SC表中删除学号为S80所有数据。4、属性的添加和删除(1)为S表添加家庭住址和身高两个属性。(2)为家庭住址和身高这两个属性添加值。(3)分别删除家庭住址和身高属性。5、视图的操作(1)建立男学生的视图,属性包括学号、姓名、选修课程名和成绩。(2)在男学生视图中查询平均
7、成绩不小于80分0学生学号和姓名。6、库函数、授权控制(1)计算每个学生有成绩的课程门数、平均成绩。(2)使用GRANT语句,把对基本表S、SC、CB使用权限授给其他顾客。试验二关系数据库SQ1语言的词法和语法分析(-)试验目的运用已经有的编译知识,完毕SQ1语句的词法和语法分析工作,深入理解DBMS中数据字典的作用,并为后续的查询处理和优化试验打好基础。(二)试验内容与环节分别完毕下面语句B词法和语法分析工作:(1)createtab1e(8)createindex(2)droptab1e(9)dropindex(3)a1tertab1e(10)createview(4)insert(11)
8、dropview(5)de1ete(12)createuser(6)update(13)grant(7)se1ect(14)revoke试验三创立数据库及数据操作功能(一)试验目的1、熟悉关系数据库建库语句和数据操作语句的功能。2、熟悉关系数据库中关系模式维护语句0功能。3、掌握用高级程序设计语言创立数据库0措施。4、掌握数据操作功能的实现措施。5、掌握修改关系模式的措施。(-)试验内容与环节:1、实现建立数据库表构造的功能。规定:(1)支持整型、符点型、字符型数据。(2)以文献形式保留基本表。(存储构造可自行设计)(3)建立对应的!数据字典。2、实现输入数据库记录0功能。3、实现删除数据库记
9、录B功能。4、实现修改数据库记录的功能。5、实现显示数据库构造和内容(以表格形式显示)。6、实目前已经有时关系中添加属性的功能;7、实现从已经有0关系中删除属性的功能;6和7规定不管关系表中与否有数据,都能对0执行命令,并修改对应0数据字典。8、实现删除表的功能。9、实现建立视图的功能,并保留在数据字典中。10、实现删除视图的功能。试验四索引的创立及删除(-)试验目的1、理解SQ1语句中的创立索引及删除索引语句的格式和功能。2、掌握主索引、汇集索引及辅助索引0建立及检索措施。3、掌握B树索引的建立及检索措施。4、掌握删除索引的措施。(-)试验内容与环节1、为某关系0主属性建立索引。2、为某关系
10、B非主属性建立索引。3、为某关系的某属性建立B树索引。4、删除建立0索引。试验五查询功能(-)试验目的1、熟悉SQ1语句中欧!查询语句的格式和功能。2、掌握查询处理算法,包括选择、投影、连接算法。规定:可以处理多种表0连接操作;查询条件包括and、or、=、o(二)试验内容与环节1、实现全关系选择操作(SeIeCt*from关系名)。2、实现单关系的投影操作。3、实现单关系的选择操作(容许多条件)。4、实现单关系的选择和投影操作(容许多条件)。5、实现两个关系和多种关系0连接操作。6、实现两个关系和多种关系的选择和连接操作。7、实现多种关系B选择、投影和连接操作。8、运用索引属性完毕选择操作,
11、记录完毕操作花费的时间,在建立索引前的关系上执行同样的选择操作并进行时间代价的比较。9、运用索引属性完毕连接操作,记录完毕操作花费的时间,在建立索引前的关系上执行同样的连接操作并进行时间代价0比较。10、实现带视图0查询。试验六关系数据库的查询优化(-)试验目的1、理解优化的一般方略。2、掌握关系代数等价变换规则。3、掌握启发式代数优化规则。4、掌握启发式关系代数优化算法。5、掌握基于复杂性估计的查询优化措施。(-)试验内容与环节1、把查询转换成语法树。2、用高级语言实现启发式关系代数优化算法。(对原始的语法树进行优化处理,生成查询计划,选择代价最小的。)3、采用基于复杂性估计的J查询优化措施
12、选择查询执行方略。试验七数据库保护(DC1)功能(-)试验目的1、掌握数据库系统的安全性保护机制。2、掌握数据库系统B完整性约束机制。3、理解数据库系统时并发控制技术。4、掌握数据库系统的恢复技术。(-)试验内容与环节1、规定根据数据字典(DD)实现对数据库B安全性检查。包括设置口令、密码和授权等。2、根据数据字典(DD)实现对数据库系统的完整性约束机制。3、运用事务0封锁机制实现对事务处理0并发控制。4、运用建立日志文献及周期性备份的机制实现对数据库系统B恢复。五、考核原则在读书工程环节,学生通过阅读有关的参照书目,对课程设计的各个试验环节进行理论学习、试验分析与设计、编码实现、最终进行分析
13、与总结,通过提交总结汇报的形式进行考核,并列出参照书目,字数不少于5000字。读书环节部分占课程总成绩的15%o本课程设计0试验环节规定每个学生完毕所有七个试验。完毕所有试验的学生经测试答辩通过,方可得到学分。不合格者需要重修。每个试验需在规定期间内完毕,成绩到达及格以上方可进行下一种试验,每个试验题目有各自的分值。试验环节占课程总成绩的85%o试验教学项目、时间安排及分值分派如下表:序号试验项目内容提纲时间安排分数有关阐明试验关系数据库SQ1语言的使用理解DBMS和SQ1的概貌。纯熟掌握SQ1的数据定义、数据操纵、完整性控制等语句及其功能。第4周(4课时)5分规定:试验1至试验4必做,试验5
14、和试验6任选。完毕任选题目的学生可加分。试验关系数据库SQ1语言的词法和语法分析完毕给定SQ1语句的词法和语法分析工作,深入理解DBMS中数据字典的作用。生成查询语句的中间表达形式,为后续的查询优化试验打好基础。第5周I第6周(8课时)10分阐明:(1)规定写出各语句的文法,实现对应的语法分析器,验证输入的语句与否符合对应文法的规范。(2)假如无法写出文法,可以通过字符串扫描分析等其他途径实现对输入语句的验证工作,但要合适减分。试验创立数据库及数据操作功能建立任意构造的关系,实现元组的增删改操作,实现属性的增删操作,实现建立视图功能,实现表和视图的删除功能。第7周I第9周(12课时)15分规定:试验内容的1-8必做,9、10任选,完毕任选题目的学生可加分。试验四索引的!创立及删除实现创立和删除索引功能。第10周I第11周(8课时)IO分规定:试验内容的第1、2