当前位置:文档之家› 数据库课程设计课件

数据库课程设计课件

《数据库系统原理与实现》实验讲义黑龙江大学软件学院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 的数据:基本表C 的数据:实验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、实验教学项目、时间安排及分值分配。

相关主题