数据库课程设计义.doc_第1页
数据库课程设计义.doc_第2页
数据库课程设计义.doc_第3页
数据库课程设计义.doc_第4页
数据库课程设计义.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库系统原理与实现实验讲义黑龙江大学软件学院2009年9月数据库系统原理实验讲义一、开设本课程设计的目的本课程是计算机专业中一门重要的专业理论课。为配合数据库系统原理与实现课程的教学,通过模拟DBMS的实现,更深刻地领会DBMS的工作原理和实现方法,从而具有初步开发系统软件的实际能力,特开设此课程设计。二、课程设计的题目用高级程序设计语言实现DBMS原型设计与实现。三、课程设计的主要内容通过模拟DBMS的实现,使学生系统地掌握关系代数语言的运算功能;了解DBMS的DDL、DML、DCL等功能的实质含义;掌握结构化设计方法;了解大型软件的设计技术。四、课程设计的具体内容和要求1、DDL功能模拟在熟悉和掌握关系数据库查询语言的基础上,用高级程序设计语言创建数据库。具体包括:(1)实现SQL的建库语句,建立相应的数据库表,并填写数据字典。over(2)实现表模式的修改功能。要求:能够为已建立的表添加属性。over能够从已建立的表中删除属性。over(3)实现删除表功能。over(4)实现创建视图的功能。(5)实现删除视图的功能。(6)实现创建索引的功能。(7)实现删除索引的功能。2、DML功能模拟使用某种高级程序设计语言,实现SQL语句中的数据维护操作和查询操作。具体包括:(1)往已经创建的表中插入元组。(2)从已经创建的表中删除元组。(3)修改表中的数据。(4)实现SELECT语句,包括: 实现单表上的选择和投影操作。 实现多表的连接操作。 实现多表的选择、投影和连接的混合操作。 实现带视图的上述操作。 实现索引关系的上述操作。3、关系数据库系统的查询优化掌握关系数据库的查询优化技术,用高级语言实现启发式关系代数优化算法和基于复杂性估计的查询优化方法。4、DCL功能模拟要求根据数据字典(DD)实现对数据库的安全性检查和完整性约束的机制;利用事务的封锁机制实现对事务处理的并发控制;利用建立日志文件及周期性备份的机制实现对数据库的恢复。五、教学文件及教学形式教学文件:数据库系统原理李建中 编著电子工业出版社教学形式:教学与实验同步进行,并按实验要求上机实验,编程调试。实验一 关系数据库SQL语言的使用实验条件:提供以SQL语言为核心的数据库管理系统(如ORACLE,DB2,SYBASE,SQL Server等)上机环境。(一)实验目的通过上机实践,了解DBMS和SQL的概貌。熟练掌握SQL的数据定义、数据操纵、完整性控制等功能。(二)实验内容与步骤实验1 基本表的创建、数据插入(1)建立教学数据库的三个基本表:S(S#,SNAME,AGE,SEX) 学生(学号,姓名,年龄,性别)SC(S#,C#,GRADE) 学习(学号,课程号,成绩)C(C#,CNAME,TEACHER)课程(课程号,课程名,任课教师)(2)用INSERT命令输入数据。基本表S的数据: 基本表SC的数据:S1 WANG 20 MS2 LIU 19 MS3 CHEN 22 MS4 WU 19 MS5 LOU 21 FS8 DONG 18 FS1C180S1C2 70S1C385S1C490S1C570S2C185S3C190S3C285S3C395S4C175S4C470S5C170S5C260S5C3 80S5C565S8C190S8C395基本表C的数据:C1 DB LIC2 MATHS MAC3 CHEMISTRY ZHOUC4 PHYSICS SHIC5 OS WEN实验2 数据查询(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 库函数、授权控制(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 user(6)update(13)grant(7)select(14)revoke实验三 创建数据库及数据操作功能(一)实验目的(1)熟悉关系数据库建库语句和数据操作语句的功能。(2)熟悉关系数据库中关系模式维护语句的功能。(3)掌握用高级程序设计语言创建数据库的方法。(4)掌握数据操作功能的实现方法。(5)掌握修改关系模式的方法。(二)实验内容与步骤:1、实现建立数据库表结构的功能。要求:(1)支持整型、符点型、字符型数据。(2)以文件形式保存基本表。(存储结构可自行设计)(3)建立相应的数据字典。2、实现输入数据库记录的功能。3、实现删除数据库记录的功能。4、实现修改数据库记录的功能。5、实现显示数据库结构和内容(以表格形式显示)。6、实现在已有的关系中添加属性的功能;7、实现从已有的关系中删除属性的功能;6和7要求不论关系表中是否有数据,都能正确执行命令,并修改相应的数据字典。8、实现删除表的功能。9、实现建立视图的功能,并保存在数据字典中。10、实现删除视图的功能。8个完成 2个未完成实验四 查询功能(一)实验目的(1)熟悉SQL语句中的查询语句的格式和功能。(2)掌握查询处理算法,包括选择、投影、连接算法。要求:能够处理多个表的连接操作;查询条件包括and、or、=、。(二)实验内容与步骤1、 实现全关系选择操作(select * from 关系名)。2、 实现单关系的投影操作。3、 实现单关系的选择操作(允许多条件)。4、 实现单关系的选择和投影操作(允许多条件)。5、 实现两个关系和多个关系的连接操作。6、 实现两个关系和多个关系的选择和连接操作。7、 实现多个关系的选择、投影和连接操作。8、 实现带视图的查询。实验五 索引的创建及索引关系的查询功能(一)实验目的(1) 了解SQL语句中的创建索引及删除索引语句的格式和功能。(2) 掌握主索引、聚集索引及辅助索引的建立及检索方法。(3) 掌握B树索引的建立及检索方法。(4) 掌握删除索引的方法。(二)实验内容与步骤1、 为某关系的主属性建立索引。2、 为某关系的非主属性建立索引。3、 为某关系的某属性建立B树索引。4、 利用索引属性完成选择操作,记录完成操作花费的时间,在建立索引前的关系上执行同样的选择操作并进行时间代价的比较。5、 利用索引属性完成连接操作,记录完成操作花费的时间,在建立索引前的关系上执行同样的连接操作并进行时间代价的比较。6、 删除建立的索引。实验六 关系数据库的查询优化(一)实验目的(1)了解优化的一般策略。(2)掌握关系代数等价变换规则。(3)掌握启发式代数优化规则。(4)掌握启发式关系代数优化算法。(5)掌握基于复杂性估计的查询优化方法。(二)实验内容与步骤1、 把查询转换成语法树。2、 用高级语言实现启发式关系代数优化算法。(对原始的语法树进行优化处理,生成查询计划,选择代价最小的。)3、 采用基于复杂性估计的查询优化方法选择查询执行策略。实验七 数据库保护(DCL)功能(一)实验目的(1) 掌握数据库系统的安全性保护机制。(2) 掌握数据库系统的完整性约束机制。(3) 了解数据库系统的并发控制技术。(4) 掌握数据库系统的恢复技术。(二)实验内容与步骤1、 要求根据数据字典(DD)实现对数据库的安全性检查。包括设置口令、密码和权限等。2、 根据数据字典(DD)实现对数据库系统的完整性约束机制。3、 利用事务的封锁机制实现对事务处理的并发控制。4、 利用建立日志文件及周期性备份的机制实现对数据库系统的恢复。实验考核标准1、本课程设计共包含七个实验,要求每个学生完成全部实验。完成全部实验的学生经测试答辩通过,方可得到学分。不合格者需要重修。2、实验成绩评定:每个实验需在规定时间内完成,成绩达到及格以上方可进行下一个实验。每个实验题目有各自的分值,总计100分。3、实验教学项目、时间安排及分值分配序号实验项目内容提要时间安排分数有关说明实验一关系数据库SQL语言的使用了解DBMS和SQL的概貌。熟练掌握SQL的数据定义、数据操纵、完整性控制等语句及其功能。第2周|第4周(6学时)10分要求:实验1至实验4必做,实验5和实验6任选。完成任选题目的学生可加分。实验二关系数据库SQL语言的词法和语法分析完成给定SQL语句的词法和语法分析工作,进一步了解DBMS中数据字典的作用。生成查询语句的中间表示形式,为后续的查询优化实验打好基础。第5周|第6周(13学时)10分说明:(1)要求写出各语句的文法,实现相应的语法分析器,验证输入的语句是否符合相应文法的规范。(2)如果无法写出文法,可以通过字符串扫描分析等其它途径实现对输入语句的验证工作,但要适当减分。实验三创建数据库及数据操作功能建立任意结构的关系,实现元组的增删改操作,实现属性的增删操作,实现建立视图功能,实现表和视图的删除功能。第7周|第9周(15学时)20分要求:实验内容的1-8必做,9、10任选,完成任选题目的学生可加分。实验四查询功能实现关系表上的选择、投影、连接操作,实现带视图的选择、投影和连接操作。第9周|第11周(15学时)20分要求:实验内容的第1-7必做,8任选,完成任选题目的学生可加分。实验五索引的创建及索引关系的查询功能实现创建和删除索引功能。实现索引关系上的选择、投影和连接操作,并与非索引关系上的相应操作比较时间代价。第11周|第13周(15学时)20分要求:实验内容的第1和2必做其一,实验内容的4和5必做,3、6步任选,完成任选题目的学生可加分。实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论