1、数据库系统原理课程设计讲 义黑龙江大学计算机学院 3月一、开设本课程设计目标本课程是计算机专业中一门关键专业理论课。为配合数据库系统原理和实现课程教学,经过模拟DBMS实现,更深刻地领会DBMS工作原理和实现方法,从而含有初步开发系统软件实际能力,特开设此课程设计。将读书步骤融入数据库系统原理课程设计教学内容中,做到理论教学、实践教学、读书步骤三者有机结合。经过读书使学生深入了解课程理论知识,拓宽视野,加深对本专业相关课程了解,并培养独立阅读、思索、处理问题能力。二、课程设计关键内容经过理论讲课和读书步骤,熟悉DBMS设计和实现基础理论和方法,用高级程序设计语言完成DBMS原型系统设计和实现。
2、经过模拟DBMS实现,使学生系统地掌握关系代数语言运算功效;了解DBMSDDL、DML、DCL等功效实质含义;掌握结构化设计方法;了解大型软件设计技术。1、DDL功效模拟在熟悉和掌握关系数据库查询语言基础上,用高级程序设计语言创建数据库。具体包含:(1)实现SQL建库语句,建立对应数据库表,并填写数据字典。(2)实现表模式修改功效。要求: 能够为已建立表添加属性。 能够从已建立表中删除属性。(3)实现删除表功效。(4)实现创建视图功效。(5)实现删除视图功效。(6)实现创建索引功效。(7)实现删除索引功效。2、DML功效模拟使用某种高级程序设计语言,实现SQL语句中数据维护操作和查询操作。具体
3、包含:(1)往已经创建表中插入元组。(2)从已经创建表中删除元组。(3)修改表中数据。(4)实现SELECT语句,包含: 实现单表上选择和投影操作。 实现多表连接操作。 实现多表选择、投影和连接混合操作。 实现带视图上述操作。 实现索引关系上述操作。(5)用高级语言实现启发式关系代数优化算法和基于复杂性估量查询优化方法。3、DCL功效模拟要求依据数据字典(DD)实现对数据库安全性检验和完整性约束机制;利用事务封锁机制实现对事务处理并发控制;利用建立日志文件及周期性备份机制实现对数据库恢复。三、教学文件及教学形式教学文件:数据库系统原理,李建中编著,电子工业出版社教学形式:教学和试验同时进行,并
4、按试验要求上机试验,编程调试。四、课程设计具体内容数据库系统原理课程设计共包含7个子试验,具体试验内容以下。试验一 关系数据库SQL语言使用试验条件:提供以SQL语言为关键数据库管理系统(如ORACLE,DB2,SYBASE,SQL Server等)上机环境。(一)试验目标经过上机实践,了解DBMS和SQL概貌。熟练掌握SQL数据定义、数据操纵、完整性控制等功效。(二)试验内容和步骤1、基础表创建、数据插入(1)建立教学数据库三个基础表:S(S#, SNAME, AGE, SEX) 学生(学号,姓名,年纪,性别)SC(S#, C#, GRADE) 学习(学号,课程号,成绩)C(C#, CNAM
5、E, TEACHER)课程(课程号,课程名,任课老师)(2)用INSERT命令输入数据。基础表S数据: S1 WANG 20 MS2 LIU 19 MS3 CHEN 22 MS4 WU 19 MS5 LOU 21 FS8 DONG 18 F基础表C数据:C1 DB LIC2 MATHS MAC3 CHEMISTRY ZHOUC4 PHYSICS SHIC5 OS WEN基础表SC数据:S1C180S1C2 70S1C385S1C490S1C570S2C185S3C190S3C285S3C395S4C175S4C470S5C170S5C260S5C3 80S5C565S8C190S8C3952、
6、数据查询(1)检索学习课程号为C2学生学号和姓名。(2)检索学习课程名为MATHS学生学号和姓名。(3)检索不学C2课学生姓名和年纪。(4)检索学习全部课程学生姓名。3、数据修改、删除(1)把C2课程非空成绩提升10%。(2)在SC表中删除课程名为PHYSICS成绩元组。(3)在S和SC表中删除学号为S8全部数据。4、属性添加和删除(1)为S表添加家庭住址和身高两个属性。(2)为家庭住址和身高这两个属性添加值。(3)分别删除家庭住址和身高属性。5、视图操作(1)建立男学生视图,属性包含学号、姓名、选修课程名和成绩。(2)在男学生视图中查询平均成绩大于80分学生学号和姓名。6、库函数、授权控制(
7、1)计算每个学生有成绩课程门数、平均成绩。(2)使用GRANT语句,把对基础表S、SC、C使用权限授给其它用户。试验二 关系数据库SQL语言词法和语法分析(一)试验目标利用已经有编译知识,完成SQL语句词法和语法分析工作,深入了解DBMS中数据字典作用,并为后续查询处理和优化试验打好基础。(二)试验内容和步骤分别完成下面语句词法和语法分析工作:(1)create table(8)create index(2)drop table(9)drop index(3)alter table(10)create view(4)insert(11)drop view(5)delete(12)create
8、user(6)update(13)grant(7)select(14)revoke试验三 创建数据库及数据操作功效(一)试验目标1、熟悉关系数据库建库语句和数据操作语句功效。2、熟悉关系数据库中关系模式维护语句功效。3、掌握用高级程序设计语言创建数据库方法。4、掌握数据操作功效实现方法。5、掌握修改关系模式方法。(二)试验内容和步骤:1、实现建立数据库表结构功效。要求:(1)支持整型、符点型、字符型数据。(2)以文件形式保留基础表。(存放结构可自行设计)(3)建立对应数据字典。2、实现输入数据库统计功效。3、实现删除数据库统计功效。4、实现修改数据库统计功效。5、实现显示数据库结构和内容(以表
9、格形式显示)。6、实现在已经相关系中添加属性功效;7、实现从已经相关系中删除属性功效;6和7要求不管关系表中是否有数据,全部能正确实施命令,并修改对应数据字典。8、实现删除表功效。9、实现建立视图功效,并保留在数据字典中。10、实现删除视图功效。试验四 索引创建及删除(一)试验目标1、了解SQL语句中创建索引及删除索引语句格式和功效。2、掌握主索引、聚集索引及辅助索引建立及检索方法。3、掌握B树索引建立及检索方法。4、掌握删除索引方法。(二)试验内容和步骤1、为某关系主属性建立索引。2、为某关系非主属性建立索引。3、为某关系某属性建立B树索引。4、删除建立索引。试验五 查询功效(一)试验目标1
10、、熟悉SQL语句中查询语句格式和功效。2、掌握查询处理算法,包含选择、投影、连接算法。要求:能够处理多个表连接操作;查询条件包含and、or、=、。(二)试验内容和步骤1、实现全关系选择操作(select * from 关系名)。2、实现单关系投影操作。3、实现单关系选择操作(允很多条件)。4、实现单关系选择和投影操作(允很多条件)。5、实现两个关系和多个关系连接操作。6、实现两个关系和多个关系选择和连接操作。7、实现多个关系选择、投影和连接操作。8、利用索引属性完成选择操作,统计完成操作花费时间,在建立索引前关系上实施一样选择操作并进行时间代价比较。9、利用索引属性完成连接操作,统计完成操作
11、花费时间,在建立索引前关系上实施一样连接操作并进行时间代价比较。10、实现带视图查询。试验六 关系数据库查询优化(一)试验目标1、了解优化通常策略。2、掌握关系代数等价变换规则。3、掌握启发式代数优化规则。4、掌握启发式关系代数优化算法。5、掌握基于复杂性估量查询优化方法。(二)试验内容和步骤1、把查询转换成语法树。2、用高级语言实现启发式关系代数优化算法。(对原始语法树进行优化处理,生成查询计划,选择代价最小。)3、采取基于复杂性估量查询优化方法选择查询实施策略。试验七 数据库保护(DCL)功效(一)试验目标1、掌握数据库系统安全性保护机制。2、掌握数据库系统完整性约束机制。3、了解数据库系
12、统并发控制技术。4、掌握数据库系统恢复技术。(二)试验内容和步骤1、要求依据数据字典(DD)实现对数据库安全性检验。包含设置口令、密码和授权等。2、依据数据字典(DD)实现对数据库系统完整性约束机制。3、利用事务封锁机制实现对事务处理并发控制。4、利用建立日志文件及周期性备份机制实现对数据库系统恢复。五、考评标准在读书工程步骤,学生经过阅读相关参考书目,对课程设计各个试验步骤进行理论学习、试验分析和设计、编码实现、最终进行分析和总结,经过提交总结汇报形式进行考评,并列出参考书目,字数不少于5000字。读书步骤部分占课程总成绩15%。本课程设计试验步骤要求每个学生完成全部七个试验。完成全部试验学
13、生经测试答辩经过,方可得到学分。不合格者需要重修。每个试验需在要求时间内完成,成绩达成及格以上方可进行下一个试验,每个试验题目有各自分值。试验步骤占课程总成绩85%。试验教学项目、时间安排及分值分配以下表:序号试验项目内容提要时间安排分数相关说明试验一关系数据库SQL语言使用了解DBMS和SQL概貌。熟练掌握SQL数据定义、数据操纵、完整性控制等语句及其功效。第3周(5课时)5分要求:试验1至试验4必做,试验5和试验6任选。完成任选题目标学生可加分。试验二关系数据库SQL语言词法和语法分析完成给定SQL语句词法和语法分析工作,深入了解DBMS中数据字典作用。生成查询语句中间表示形式,为后续查询
14、优化试验打好基础。第4周|第5周(10课时)10分说明:(1)要求写出各语句文法,实现对应语法分析器,验证输入语句是否符合对应文法规范。(2)假如无法写出文法,能够经过字符串扫描分析等其它路径实现对输入语句验证工作,但要合适减分。试验三创建数据库及数据操作功效建立任意结构关系,实现元组增删改操作,实现属性增删操作,实现建立视图功效,实现表和视图删除功效。第6周|第7周(10课时)15分要求:试验内容1-8必做,9、10任选,完成任选题目标学生可加分。试验四索引创建及删除实现创建和删除索引功效。第8周|第9周(10课时)10分要求:试验内容第1、2和3必做其一,4步任选,完成任选题目标学生可加分
15、。试验五查询功效实现无索引关系上选择、投影、连接操作;实现索引关系上选择、投影和连接操作,并和非索引关系上对应操作比较时间代价;实现带视图选择、投影和连接操作。第10周|第11周(10课时)25分要求:试验内容第1-9必做,10任选,完成任选题目标学生可加分。试验六关系数据库查询优化掌握关系数据库查询优化技术,实现启发式关系代数优化算法和基于复杂性估量查询优化方法。第12周|第13周(10课时)10分要求:试验内容第1、2步必做,第3步任选,完成任选题目标学生可加分试验七数据库保护功效(DCL)依据数据字典(DD)实现对数据库安全性检验和完整性约束机制。实现对事务处理并发控制和数据库系统恢复。
16、第14周(5课时)10分要求:试验内容第1、2步必做,第3、4步任选,完成任选题目标学生可加分。六、参考书目1、数据库系统原理(第2版)。l 作者:李建中、王珊 l 出版社:电子工业出版社l 出版日期:9月本书全方面系统地介绍了数据库系统理论、技术和方法,并介绍了适应于新一代数据库应用数据库新技术。本书分为基础篇、设计篇、实现篇和新技术篇。基础篇由四章组成,介绍了数据库基础概念、数据库和数据库系统体系结构、关系数据库系统、层次和网状数据库系统和数据库安全性和完整性约束。设计篇由五章组成,讨论了数据库设计五个基础步骤和设计方法,并介绍了实体联络模型、扩展实体联络模型和关系数据库函数依靠理论。实现
17、篇由七章组成,介绍了数据库物理存放结构、数据字典、关系代数操作算法、查询优化方法和事务处理技术。新技术篇由六章组成,介绍了新一代数据库应用、新一代数据库应用对数据库系统要求和新一代数据库技术。本书内容丰富,系统性强,含有新知识体系结构,理论和实践结合,可作为计算机专业本科生和硕士数据库课程教材或参考书,也能够供从事数据库教学和科研工作老师和科技工作者参考。2、数据库系统概念(第5版)。l 译者:杨冬青、马秀莉、唐世渭等l 出版社:机械工业出版社l 出版日期:10月本书是经典数据库系统教科书database system conoepts最新修订版,全方面介绍数据库系统多种知识,透彻阐释数据库管
18、理基础概念。本书内容丰富,不仅讨论了数据库查询语言、模式设计、数据仓库、数据库应用开发、基于对象数据库和xml、数据存放和查询、事务管理、数据挖掘和信息检索和数据库系统体系结构等方面内容,而且对性能评测标准、性能调整、标准化和空间和地理数据、事务处理监控等高级应用专题进行了广泛讨论。本书既可作为高年级本科生或低年级硕士数据库课程教材,也可供数据库领域技术人员参考。本书是数据库系统方面经典教材之一。国际上很多著名大学包含斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学、印度理工学院等全部采取本书作为教科书。中国也有很多所大学采取本书以前版本汉字版作为本科生和硕士数据库课程教材和关键教
19、学参考书,收到了良好效果。本书调整和新增内容:调整了第4版讲授次序。首先介绍sql及其高级特征,使学生轻易接收数据库设计概念。新增数据库设计专门讨论。根本改写和更新了基于对象数据库和xml相关内容。重新组织数据挖掘和信息检索内容,增加了对数据库系统postgresql实例研究。3、数据库系统实现(第2版)。l 译者:杨冬青 吴愈青 等l 出版社:机械工业出版社l 出版日期:6月本书是斯坦福大学计算机科学专业数据库系列课程第二门课教科书。书中对数据库系统实现原理进行了深入叙述,并具体讨论了数据库管理系统三个关键成份存放管理器、查询处理器和事务管理器实现技术。另外,第2版充足反应了数据管理技术新进
20、展,对内容进行了扩充,除了在第1版中原有“信息集成”一章(第10章)中加入了新内容外,还增加了两个全新章:“数据挖掘”(第11章)和“数据库系统和互联网”(第12章)。本书适合作为高等院校计算机专业硕士教材或本科生教学参考书,也适合作为从事相关研究或开发工作专业技术人员高级参考资料。4、Oracle实用教程(第3版)。l 作者:郑阿奇l 出版社:电子工业出版社l 出版日期:1月本书以目前流行Oracle 11g作为平台,分别介绍Oracle教程、Oracle试验、综合应用实习和附录。Oracle教程部分比较系统地介绍了Oracle 11g(汉字版)关键功效,而且经过试验对关键内容进行操作和编程
21、训练。实习部分比较系统地介绍了VB 6.0/Oracle、PB 11.5/Oracle、ASP/Oracle、ASP.NET 3.5(C#)/ Oracle和Java EE(Struts 2)/Oracle应用方法。只要阅读本书,结合上机操作指导进行练习和实习模拟,就能在较短时间内基础掌握Oracle 11g及其应用技术。本书可作为大学本科、大专和高职相关课程教材,也可供广大数据库学习、应用开发人员参考。5、Oracle入门很简单。l 作者:张朝明l 出版社:清华大学出版社l 出版日期:1月本书从初学者角度出发,由浅入深、循序渐进地介绍了oracle数据库开发基础知识。书中对数据库基础理论及其
22、在数据库开发过程中应用也有具体介绍。书中也列举了大量示例,可供读者演练。本书共分5篇。第1篇介绍了数据库基础知识,包含数据库基础、实体-联络模型、oracle数据库和数据表;第2篇介绍了oracle pl/sql基础知识,包含sql查询、更新数据、字符型处理、数值型处理、日期型处理、复杂数据处理、控制语句;第3篇以数据库对象为根本讲述了包含视图、约束、游标、触发器、序列、用户角色和权限控制、函数和存放过程等内容;第4篇则关键讲述了oracle性能优化、一致性和事务管理、并发控制等内容;第5篇讲述了oracle在主步骤序开发语言(java、c#)中应用。本书内容丰富,覆盖面广,适合oracle初
23、学者快速入门,也适合已经有oracle数据库基础人员完善自己oracle知识体系。另外,对于大中专院校和培训班学生,本书更是一本不可多得教材。6、SQL Server 编程入门经典(第3版)。l 作者:(美)韦拉 著,马煜,孙晧译l 出版社:清华大学出版社l 出版日期:1月本书由浅入深逐步介绍了SQL Server数据库高级专题,关键讨论了SQL Server 特殊功效和和其它编程环境不一样之处。作者Robert Vieria是Microsoft SQL,Server方面权威,她采取通俗易懂方法揭示了SQL Server-关键组件关键更改。首先概述了数据库设计概念,介绍了怎样用SQL Setv
24、er 实现这些基础概念。然后,讲述了RDBMS(关系数据库管理系统)功效和它在开发系统架构方面优势。SQL Server 新增内容和更改包含:DATE和TIME数据类型、hierarchyID数据类型、MERGE命令和多行插入,和递归查询等。SQL Server 编程入门经典(第3版)意在帮助您快速地掌握Microsoft SQL Selwer编程技术。7、数据库技术和应用SQL Server。l 作者:胡国胜,易著梁l 出版社:机械工业出版社l 出版日期:1月本书系统全方面地叙述了数据库基础原理及应用。全书内容围绕图书馆管理数据库系统展开,系统地介绍了SQLServer数据库应用;书中实训步
25、骤使用宾馆管理信息系统,充足表现了“项目驱动、案例教学、理论和实践相结合”教学理念。经过最终综合应用实例学习,读者能够深入掌握实际而又全方面数据库应用知识。本书以培养学生数据库开发能力为目标,内容新奇,通俗易懂,实用性强,适合作为高职高专院校计算机相关专业教材,也可供广大技术人员及自学者参考。8、C程序设计(第四版)。谭浩强。清华大学出版社。l 作者:谭浩强l 出版社:清华大学出版社l 出版日期:6月本书是一本公认学习C语言程序设计经典教材。依据C语言发展和计算机教学需要,作者在C程序设计(第三版)基础上进行了修订。本书根据C语言新标准C99进行介绍,全部程序全部符合C99要求,使编写程序愈加
26、规范;对C语言和程序设计基础概念和关键点讲解透彻,全方面而深入;根据作者提出“提出问题处理问题归纳分析”三部曲进行教学、组织教材;本书每个例题全部按以下多个步骤展开:提出任务解题思绪编写程序运行程序程序分析相关说明。符合读者认知规律,轻易入门和提升。本书内容优异,体系合理,概念清楚,讲解详尽,降低台阶,分散难点,例题丰富,深入浅出,文字流畅,通俗易懂,是初学者学习C程序设计理想教材,可作为高等学校各专业正式教材,也是一本自学好教材。9、Java编程思想(第4版) 。l 作者:(美)Bruce Eckel著,陈昊鹏 译l 出版社:机械工业出版社l 出版日期:6月本书赢得了全球程序员广泛赞誉,即使
27、是最晦涩概念,在Bruce Eckel文字亲和力和小而直接编程示例面前也会化解于无形。从Java基础语法到最高级特征(深入面向对象概念、多线程、自动项目构建、单元测试和调试等),本书全部能逐步指导你轻松掌握。从本书取得各项大奖和来自世界各地读者评论中,不难看出这是一本经典之作。本书作者拥有多年教学经验,对C、C+和Java语言全部有独到、深入见解,以通俗易懂及小而直接示例解释了一个个晦涩抽象概念。本书共22章,包含操作符、控制实施步骤、访问权限控制、复用类、多态、接口、经过异常处理错误、字符串、泛型、数组、容器深入研究、Java I/O系统、枚举类型、并发和图形化用户界面等内容。这些丰富内容,包含了Java语言基础语法和高级特征,适合各个层次Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言和Java语言绝佳教材和参考书。第4版特点: 适合初学者和专业人员经典面向对象叙述方法,为更新Java SE5/6增加了新示例和章节。 测验框架显示程序输出。