《数据库系统原理》课程基本实验设置.docx
- 文档编号:26042793
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:17
- 大小:22.18KB
《数据库系统原理》课程基本实验设置.docx
《《数据库系统原理》课程基本实验设置.docx》由会员分享,可在线阅读,更多相关《《数据库系统原理》课程基本实验设置.docx(17页珍藏版)》请在冰豆网上搜索。
《数据库系统原理》课程基本实验设置
目录
每个实验包括:
实验内容
实验要求
实验环境(可选)
实验背景知识(可选)
实验步骤及结果分析
实验总结
第一章
概述
数据库课程的学习需要理论和实践的紧密结合,数据库实验是数据库学习的重要的环节。
我们将针对数据库学习的实验环节进行实验设置和指导,包括数据库实验需要的知识、环境和内容的设置。
数据库课程的目标是:
理解和掌握数据库的理论知识。
学生理解数据库系统的基本概念,掌握数据库系统的基本理论,包括数据库的特点、结构、关系数据模型、数据存储、数据查询及优化、关系数据库设计、事务管理等内容。
了解和熟悉数据库的使用和基本操作,掌握数据访问方法。
在学生掌握基本的数据库概念和理论的基础上,培养学生的实践能力,学生能掌握基本的数据库的操作。
全面理解数据库系统,能进行数据库的设计,最终能完成一个完整的数据库应用系统的设计和实现。
数据库实验是为上面的目标服务,其内容的设置要和数据库的理论学习结合起来。
根据课程进展和学生掌握的数据库系统知识的提高,数据库的实验分为两个大的部分。
一个是和课程紧密相关的,和课程同步的实验,一是在数据库设计理论结束或在课程理论教学完成后进行的数据库系统的设计实验。
这里的实验指导将是针对和数据库的理论学习同步的课程实验。
课程实验目的:
通过实验加深学生对数据库相关基本理论和概念的认识和理解,通过对SQLSERVER的操作和使用,了解一种具体的数据库管理系统,熟悉数据库的操作,提高学生数据库实践能力。
课程实验环境:
在实验中,我们选择Kingbase数据库作为基本的实验环境,操作系统可以是Windows2000/XP,在课程实验中需要用到KingBase的管理工具企业管理器,并用ISQL语言完成实验操作。
实验方式和要求:
课程实验要求每一个学生独立完成;
学生需要理解每一次实验内容,先掌握和了解相关的理论知识,然后制定实验步骤,完成实验内容;
课程实验虽然分次完成,但其在内容上是连贯的,前一次实验的数据可能为后面的实验所用,因此每一次实验结果需要保留;
实验完后,要完成实验报告,写清楚实验内容、实验步骤和实验结果。
实验内容设置:
课程基本实验根据理论学习的内容,包括如下8组实验:
实验一数据库安装、数据库创建与维护实验;
实验二数据库表/视图的创建与维护实验;
实验三数据查询实验;
实验四数据库接口实验;
实验五数据库完整性与安全性实验;
实验六数据查询分析实验;
实验七数据库事务的创建与运行实验;
实验八数据库的备份与恢复实验;
我们将在后面详细给出每一次实验的内容和要求。
第二章Kingbase系统的主要内容
简介Kingbase和实验用到的管理工具。
第三章ISQL语言
简介实验用到的ISQL语句及语法。
第四章课程实验内容
实验一Kingbase安装、数据库创建与维护实验
实验目的
1.通过对KINGBASE的安装和简单使用:
(1)了解安装KINGBASE的软硬件环境和安装方法;
(2)熟悉KINGBASE相关使用;
(3)熟悉KINGBASE的构成和相关工具;
(4)通过KINGBASE的使用来理解数据库系统的基本概念;
2.通过创建数据库、并进行相应的维护,了解并掌握Kingbase数据库的创建和维护的不同方法和途径,并通过这一具体的数据库理解实际数据库所包含的各要素。
实验内容
1.Kingbase安装
(1)在windows2000/XP上安装并运行Kingbase。
(2)练习启动和停止数据库服务。
(3)通过KingbaseES交互式工具连接数据库。
(4)熟悉KingbaseES交互式工具的各项功能。
(5)熟悉数据库服务器的启动和停止运行。
(6)指定具体的安装位置。
2.数据库创建与维护
(1)创建学生选课数据库。
(2)对数据库属性和参数进行查询、相应的修改和维护,内容包括:
-最大连接数
-服务器端口
-共享缓存数
-为DBA保留的连接数
-死锁检测时间
-日志缓冲数
-设置系统同步写
(3)练习数据库的删除等维护;
(4)用Kingbase管理工具和交互式的ISQL语句分别完成以上操作。
实验要求及说明
1.SQLServer的安装实验要求学生在微机上安装SQLServer数据库系统,为后续各个实验搭建实验环境。
2.数据库创建与维护实验则要求面向具体应用领域,利用SQLServer相关机制,创建并维护数据库系统,为后续各个实验提供前期准备
3.要求学生根据以上要求确定实验步骤,独立完成以上实验内容。
并在安装和数据库运行后熟悉SQLSERVER的各种运行管理。
4.实验完成后完成实验报告
实验步骤(待定)
Kingbase的安装过程
实验报告要求
实验报告需要完成以下内容:
实验目的
描述本次实验的目的。
实验平台及环境
介绍自己实验所基于的软硬件环境及所用到的工具。
实验内容
介绍本次实验的具体内容。
实验步骤
根据实验内容和实验过程情况介绍实验步骤。
实验结果及分析
对实验结果进行总结和分析。
说明建立的数据库的相关内容,和维护后的相关属性的改变。
实验小结
总结本次实验遇到的问题和心得。
实验二数据库表/视图的创建与维护实验
实验目的
1.通过进行数据库表的建立操作,熟悉并掌握Kingbase数据库表的建立方法,理解关系数据库表的结构,巩固SQL标准中关于数据库表的建立语句。
2.通过进行数据库表数据的增加、删除和插入等维护操作,熟悉并掌握Kingbase数据库数据的操作方法,巩固SQL中关于数据维护的语句
3.通过对Kingbase中建立、维护视图的实验,熟悉Kingbase中对视图的操作方法和途径,理解和掌握视图的概念
实验内容
数据库表实验:
(1)创建数据库表
创建学生选课数据库中所包含的数据库表,数据库表结构如下:
学生(学号,姓名,性别,年龄,系别,班级)
课程(课程编号,课程名称,学分)
选修(学号,课程编号,学生成绩)
要求为各数据库表属性选择合适的数据类型。
列名、数据类型(长度列、精度、小数位数项)、是否允许空值等。
(2)查看和修改表结构。
选择一个数据库表,练习对其表结构进行相应的修改。
(3)练习用交互式的SQL语句分别完成以上操作。
(4)对学生数据库中的三张表分别插入数据;
(5)对表中的数据进行修改;
(6)对表中的数据进行删除操作
视图实验:
视图的建立、修改、删除
(1)建立如下视图:
学生选修课程信息视图,包括以下内容:
学生学号、姓名、所在系、选修的课程编号、课程名称、成绩
(2)修改以上视图,增加学生所在班级信息。
(3)对以上视图删除。
实验要求
(1)用交互式语句完成以上操作;
(2)能够对整个的过程进行批命令操作;
(3)要求学生独立完成以上内容。
(4)根据以上内容确定实验步骤。
(5)实验完成后完成要求的实验报告内容。
实验步骤(待定)
实验报告要求
实验报告需要完成以下内容:
实验目的
描述本次实验的目的。
实验平台及环境
介绍自己实验所基于的软硬件环境及所用到的工具。
实验内容
介绍本次实验的具体内容。
实验步骤
根据实验内容和实验过程情况介绍实验步骤。
实验结果及分析
对实验结果进行总结和分析。
给出完成以上实验内容的SQL语句,并对相应的SQL语句进行分析。
说明建立的数据库表的相关内容,和进行的相关维护工作。
实验小结
总结本次实验遇到的问题和心得。
实验三数据查询实验
实验目的
通过对实验二中建立的学生数据库关系表和视图的各种查询的操作,加深对SQL查询语言的了解,掌握相关查询语句的语法和使用方法。
实验内容
数据库关系表查询:
(1)简单的查询操作,包括单表的查询、选择条件、结果排序等的练习;
(2)多表的连接查询,包括等值连接、自然连接等;
(3)复杂的查询操作,包括使用分组函数等库函数的查询操作;
(4)练习带有IN、比较符的嵌套查询。
具体内容包括:
(1)在简单查询实验中,在sql语句完成以下查询操作:
查询计算机系4班的学生的学号和姓名;
查询“数据库系统原理”课程的学分;
查询选修了课程编号为“C01”的学生的学号和成绩,并将成绩按降序输出;
查询学号为“20040401”的学生选修的课程编号和成绩;
查询选修了课程编号为“C01”且成绩高于85分的学生的学号和成绩。
(2)在多表连接的查询实验中,在SQL SERVER提供的交互式语言环境下用TransactSQL语句完成以下查询操作:
查询选修了课程编号为“C01”且成绩高于85分的学生的学号、姓名和成绩;
查询所有学生的学号、姓名、选修的课程名称和成绩;
查询计算机系张红同学选修的课程名称、学分和成绩。
(3)在复杂查询实验中,用SQL语句完成以下查询操作:
查询至少选修了三门课程的学生的学号和姓名;
查询计算机系学生的平均身高;
查询所有学生的学号和他选修课程的最高成绩,要求他的选修课程中没有成绩为空的。
(4)在嵌套查询实验中,在kingbase提供的交互式语言环境下用iSQL语句完成以下查询操作,要求写嵌套查询语句:
查询选修了数据结构的学生的学号和姓名;
查询没有选修数据结构的学生的学号和姓名;
查询至少选修了学号为“20040401”的学生所选修的所有课程的学生的学号和姓名。
视图查询:
对实验二建立的视图进行相关的查询操作,如:
查询选修了课程编号为“C01”的学生的学号和成绩;
查询所有学生的学号、姓名、选修的课程名称和成绩;
查询选修了数据结构的学生的学号和姓名。
实验要求
(1)用SQL语句完成以上操作
(2)要求学生独立完成以上内容。
(3)实验完成后完成要求的实验报告内容。
实验步骤(待定)
实验四数据库接口实验-1
实验目的
1.通过实验了解通用数据库应用编程接口ODBC的基本原理和实现机制,熟悉主要的ODBC接口的语法和使用方法;
2.利用C语言(或其它支持ODBC接口的高级程序设计语言)编程实现简单的数据库应用程序,掌握基于ODBC的数据库访问的基本原理和方法
3.学习java语言,并采用jdbc接口方式对数据库进行访问
实验内容与步骤
1.以教科书第四章关于SQL语言相关内容为基础,课后查阅、自学ODBC接口有关内容,包括ODBC的体系结构、工作原理、数据访问过程、主要API接口的语法和使用方法等。
2..以实验二建立的学生数据库为基础,编写C语言(或其它支持ODBC接口的高级程序设计语言)数据库应用程序,按照如下步骤访问数据库
(a)Step1.ODBC初始化,为ODBC分配环境句柄
(b)Step2.建立应用程序与ODBC数据源的连接
(c)Step3.利用SQLExecDirect语句,实现数据库应用程序对数据库的建立、查询、修改、删除等操作
(d)Step4.检索查询结果集
(e)Step5.结束数据库应用程序
实验要求
1.要求所编写的数据库访问应用程序中使用到以下主要的ODBCAPI函数:
(1)SQLALLocEnv:
初始化ODBC环境,返回环境句柄
(2)SQLALLocConnect:
为连接句柄分配内存并返回连接句柄
(3)SQLConnect:
连接一个SQL数据资源
(4)SQLDriverConnect
连接一个SQL数据资源,允许驱动器向用户询问信息
(5)SQLALLocStmt
为语句句柄分配内存,并返回语句句柄
(6)SQLExecDirect
把SQL语句送到数据库服务器,请求执行由SQL语句定义的数据库访问
(7)SQLFetchAdvances
将游标移动到到查询结果集的下一行(或第一行)
(8)SQLGetData
按照游标指向的位置,从查询结果集的特定的一列取回数据
(9)SQLFreeStmt
释放与语句句柄相关的资源
(10)SQLDisconnect
切断连接
(11)SQLFreeConnect
释放与连接句柄相关的资源
(12)SQLFreeEnv
2.释放与环境句柄相关的资源
实验五数据库完整性与安全性实验
实验目的
1.通过对完整性规则的定义实现,熟悉了解kingbase中完整性保证的规则和实现方法,加深对数据完整性的理解。
2.通过对安全性相关内容的定义,熟悉了解kingbase中安全性的内容和实现方法,加深对数据库安全性的理解
实验内容
完整性实验:
(1)分别定义学生数据库中各基表的主键、外键,实现实体完整性约束和参照完整性约束;
(2)分别向学生表、课程表插入具有相同学号和相同课程编号的学生数据和课程数据,验证其实体完整性约束;
(3)向学生选课表中插入一条数据,课程编号是课程表中没有的,验证参照完整性约束;
(4)删除学生表中的所有数据,验证参照完整性约束;
(5)定义存储过程,完成查询某个学生的选课情况,并执行。
(6)定义触发器,当向学生表插入新的一条记录时,将所有学生出生日期加1;并对其进行测试。
(7)用sql完成以上操作。
安全性实验内容
(1)定义一新的登陆帐号、数据库用户,并授予其访问学生数据库的读权限;
(2)分别用sa用户和新定义的用户访问学生数据库,并对其中的学生表数据进行修改;
(3)创建数据库角色,并授予访问学生数据库的读、写权限;
(4)将角色赋予
(1)中定义的用户,建立用户和角色联系;
(5)再次用此用户访问学生数据库,并对其中的学生表数据进行修改。
(6)用SQL语句分别完成以上内容。
实验要求:
实验六数据查询分析实验
实验目的
通过对不同情况下查询语句的执行分析,巩固和加深对查询和查询优化相关理论知识的理解,提高优化数据库系统的实践能力,熟悉了解kingbase中查询分析器的使用,并进一步提高编写复杂查询的SQL程序的能力。
实验内容
1.索引对查询的影响
(1)对结果集只有一个元组的查询分三种情况进行执行(必如查询一个具体学生的信息):
不建立索引,(学号上)建立非聚集索引,(学号上)建立聚集索引。
用查询分析器的执行步骤和结果对执行进行分析比较。
(2)对结果集中有多个元组的查询(例如查看某门成绩的成绩表)分类似
(1)的三种情况进行执行比较。
(3)对查询条件为一个连续的范围的查询(例如查看学号在某个范围内的学生的选课情况)分类似
(1)的三种情况进行执行比较,注意系统处理的选择。
(4)索引代价。
在有索引和无索引的情况下插入数据(例如在选课情况表SC上插入数据),比较插入的执行效率。
2对相同查询功能不同查询语句的执行比较分析
(1)groupby
selectavg(grade)
fromsc
groupbycno
havingcno=100
selectavg(grade)
fromsc
wherecno=100
有和没有groupby,比较其查询效率,并分析。
(2)
selectsno,sname,age
fromstudents1
whereage=
(selectmax(age)
fromstudents2
wheres1.dept=s2.dept
)
另一个:
selectdept,max(age)asmaxAgeintotmp
fromstudent
groupbydept;
selectsno,sname,age
fromstudent,tmp
wherestudent.age=tmp.maxAgeandtmp.dept=student.dept
droptabletmp;
重写后的查询一定比原始查询更优吗?
通过执行分析结果。
(3)对下面两个查询进行比较
selectsname,age
fromstudent
wheredept!
=10andage>all
(selectage
fromstudent
wheredept=10
)
另:
selectsname,age
fromstudent
wheredept!
=10andage>
(selectmax(age)
fromstudent
wheredept=10
)
3查询优化
除了建立适当索引,对SQL语句重写外,还有其他手段来进行查询调优,例如调整缓冲区大小,事先建立视图等。
设计实现下列查询,使之运行效率最高。
写出你的查询形式,以及调优过程;并说明最优情况下的运行时间。
(1)查找选修了每一门课的学生,其成绩等于该课程的平均分。
先按照课程升序排序,再按照学号升序排序。
(2)查找至少选修了学生李红所选的课程的学生姓名。
(3)查找至少选修了课程DB和OS的学生的学号。
实验七数据库的事务创建与运行实验
实验目的
通过实验,了解kingbase数据库系统中各类数据库事务的定义机制和基于锁的并发控制机制,掌握kingbase数据库系统的事务控制机制。
实验内容
1.定义三种模式的数据库事务
2.察看事务的锁信息和隔离级别
3.利用SQL语句和数据库API函数控制事务
4.利用事务调试语句,查看事务相关信息,调试事务
实验八数据库的备份和恢复实验
实验目的
结合课堂所学知识,了解kingbase的数据备份和恢复机制,通过面向具体应用领域数据库的相关实验掌握kingbase的数据备份和恢复机制的具体方法,加深对数据库备份和恢复的理解。
实验内容与步骤
(1)用企业管理器或存储过程创建一个备份设备
(2)为“学生数据库”设置一个备份计划,要求每当CPU空闲时采用多种方式进行数据库备份。
备份方式可以是:
完全数据库备份、数据库和事务日志备份、差异/增量备份、或数据库文件/文件组备份。
备份可利用系统的备份机制进行。
(3)修改“学生数据库库”备份计划,要求以三天为周期(或自定义的其它时间周期)修改数据库的备份方式,重新对数据库进行备份。
比较2种备份计划下,所备份的数据库内容的异同。
(4)利数据库恢复工具,恢复“学生数据库”,比较恢复还原的数据库和原来的学生数据库在数据库内容上的异同。
(5)用数据库转换工具,将数据库的内容从一种格式转换到另外一个格式;
(6)利用数据库转换工具,将数据库的内容从一种数据库转移到一个数据库中;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库系统原理 数据库 系统 原理 课程 基本 实验 设置