实验数据库系统概论实验大纲.docx
《实验数据库系统概论实验大纲.docx》由会员分享,可在线阅读,更多相关《实验数据库系统概论实验大纲.docx(15页珍藏版)》请在冰豆网上搜索。
![实验数据库系统概论实验大纲.docx](https://file1.bdocx.com/fileroot1/2023-1/22/bea2b1d6-156c-4aeb-8e86-7f7dfb9dfe06/bea2b1d6-156c-4aeb-8e86-7f7dfb9dfe061.gif)
实验数据库系统概论实验大纲
实验一:
认识DBMS系统
1 实验目的
1. 通过对某个商用数据库管理系统的使用,了解DBMS的工作原理和系统构架。
在此推荐国产金仓数据库管理系统KingbaseES,该系统已经带在本书后的光盘中。
你也可以从人大金仓公司的网站(
2. 熟悉对DBMS的操作
3. 搭建今后实验的平台
2 实验平台
2.1 操作系统:
Windows2000或者WindowsXP
注:
使用Professional版的操作系统建议安装数据库管理系统的教学版,Server版的操作系统建议安装数据库管理系统的企业版。
2.2 数据库管理系统:
选择安装数据库管理系统之前,请仔细看清硬件的配置要求,今后的实验环境以KingbaseES为例进行说明。
你也可以选择其他国产数据库管理系统,或国外的MSSQLServer,Oracle,DB2等。
3 实验内容及要求
3.1 安装和启动
1. 根据安装文件的说明安装数据库管理系统。
在安装过程中记录安装的选择,并且对所作的选择进行思考,为何要进行这样的配置,对今后运行数据库管理系统会有什么影响。
2. 学会启动和停止数据库服务,思考可以用哪些方式来完成启动和停止。
3. 初步了解KingbaseES的安全性,这里主要是用户的登录和服务器预定义角色。
可以尝试建立一个新的用户,赋予其数据库管理员的角色,今后的实验可以用该用户来创建数据库应用。
3.2 数据库系统的构架
1. 了解数据库系统的逻辑组件:
它们主要是数据库对象,包括基本表、视图、触发器、存储过程、约束等。
今后将学习如何操作这些数据库对象。
2. 了解数据库的物理组件:
思考数据库物理存储的存储单位是什么,数据主要以什么方式存放,如何确定数据的存放位置。
3.3 KingbaseES的管理和使用
了解KingbaseES如何通过它提供的工具对数据和数据库服务器进行管理和使用的。
3.3.1 启动、暂停和停止KingbaseES
学会运用控制管理器和企业管理器进行操作。
3.3.2 了解系统其他管理工具
初步了解KingbaseES的主要工具和它们的功能,为今后的实验做准备。
例如,数据迁移工具:
导入和导出数据使用的;企业服务器和作业调度管理器:
可以用该工具对数据库服务器进行管理,管理和监视服务器性能和活动;查询分析器:
给出数据库查询语句的查询计划和执行时间,帮助用户分析查询过程,进行查询优化。
等等。
4 实验报告
《数据库系统概论》实验报告
题目:
姓名
日期
实验环境:
实验内容与完成情况:
出现的问题:
解决方案(列出遇到的问题和解决办法,列出没有解决的问题):
实验二:
交互式SQL
1 实验目的
1. 熟悉数据库的交互式SQL工具。
2. 熟悉通过SQL对数据库进行操作。
3. 完成作业的上机练习。
2 实验工具KingbaseES
利用KingbaseES及其交互式查询工具ISQLW来熟悉SQL。
3 实验内容和要求
1. 在KingbaseES中建立一个数据库,进行实验所要求的各种操作,所有的SQL操作均在此建立的新库里进行。
2. 根据以下要求认真填写实验报告,记录所有的实验用例。
3.1 数据定义
1. 熟悉基本表的创建、修改及删除。
2. 熟悉索引的创建和删除。
3. 熟悉视图的创建和删除。
3.2 数据操作
1. 完成各类查询操作(单表查询,连接查询,嵌套查询,集合查询)。
2. 完成各类更新操作(插入数据,修改数据,删除数据)。
3.3 视图的操作
视图的定义(创建和删除),查询,更新(注意更新的条件)。
实验三:
安全性
1 实验目的
1. 熟悉通过SQL对数据进行安全性控制。
2. 完成书本上习题的上机练习。
2 实验平台KingbaseES
KingbaseES及其交互式查询工具ISQLW。
3 实验内容和要求
使用SQL对数据进行安全性控制,包括:
授权和权力回收。
操作完成后看看已授权的用户是否真正具有授予的数据操作的权力了;权力收回操作之后的用户是否确实丧失了收回的数据操作的权力)。
根据以下要求认真填写实验报告,记录所有的实验用例。
实验四:
完整性
1 实验目的
1. 熟悉通过SQL对数据进行完整性控制。
2. 完成书本上习题的上机练习。
2 实验平台KingbaseES
KingbaseES及其交互式查询工具ISQLW。
3 实验内容和要求
使用SQL对数据进行完整性控制(3类完整性、CHECK短语、CONSTRAIN子句、触发器)。
用实验证实,当操作违反了完整性约束条件时,系统是如何处理的。
根据以下要求认真填写实验报告,记录所有的实验用例。
实验五:
通过嵌入式SQL访问数据库
1 实验目的
熟悉通过嵌入式SQL(主语言为C语言)编程访问数据库。
2 实验平台和实验工具
在KingbaseES数据库管理系统上,通过C语言编写访问数据库的应用程序来对数据库进行各种数据操作。
编程工具自选。
3 实验内容和要求
熟悉RDBMS的预编译程序。
通过嵌入式SQL编程访问数据库的基本步骤对学生课程数据库中的表,完成下面功能(你也可以自己给出功能要求):
1.查询某一门课程的信息。
要查询的课程由用户在程序运行过程中指定,放在主变量中。
2.查询选修某一门课程的选课信息,要查询的课程号由用户在程序运行过程中指定,放在主变量中,然后根据用户的要求修改其中某些记录的成绩字段。
要求:
提交源程序并标识必要的注释。
保证程序能正确编译和运行,认真填写实验报告。
3.1 嵌入式SQL
要求:
将一段连续的SQL操作写成嵌入到C程序中的程序,调试程序,使得程序能完成一项复杂的数据处理功能,并提交程序。
嵌入式SQL由SQL语句和C/C++代码组成。
其中SQL语句由预处理器翻译成C或C++的源代码。
对预处理后的源代码进行编译、链接生成可执行程序后方可运行。
3.2 KingbaseES预处理器
KingbaseES的预处理程序是esqlc.exe。
其常用的语法格式如下:
■esqlc详细的语法格式以及参数意义,请参阅联机帮助。
■要求程序文档名的后缀为.pc,可以省略。
■预编译后得到的文档,与程序文档同名,后缀为.c;放在与程序文档同一个路径下。
esqlc.exe存在KingbaseES的安装目录的Basesoft\KingbaseES\4.1\bin下。
例如,KingbaseES的安装目录是C:
\ProgramFiles,那么eslqc.exe则在C:
\ProgramFiles\Basesoft\KingbaseES\4.1\bin下。
注意:
在安装SQLServer时并不会同时安装预编译应用程序nsqlprep.exe,需要将此文件另拷贝至安装目录下;而KingbaseES在安装时会同时安装此文件,因此不需要另外拷贝。
3.3 预编译
用KingbaseES预处理程序esqlc.exe对含有嵌入式SQL的程序文件进行预编译。
如果编写的主程序文件名称为authid.pc,存放在C:
\ProgramFiles\Basesoft\KingbaseES\4.1\bin目录下,则预编译具体方法如下:
◆在linux环境下
%ecsys authid.pc -oauthid.c -I/usr/local/kingbase/include
◆在windows环境下
esqlc-I"C:
\ProgramFiles\Basesoft\KingbaseES\4.1\include"-oauthid.c authid.pc
3.4 编译和链接
当编译预处理过的C程序时,编译器需要查找ESQLC头文件,所以在编译时需要指定这些文件的路径。
在链接时,该C程序需要链接esql.lib库,所以还要指定这个库文件的路径。
下面分别给出在linux和windows环境下,编译和链接该C程序的方法。
◆在linux环境下
假定预编译完成后生成的C程序为authid.c。
在linux环境下编译和链接该C程序的具体方法如下:
1.编译.c程序
%gccauthid.c-c-oauthid.o-I/usr/local/kingbase/include
2.链接,生成可执行文件
%gccauthid.o -obasetab.out-I/usr/local/kingbase/include-L/usr/local/kingbase/lib-lecsys–lpq
◆在windows环境下
我们假定预编译生成的authid.c存放在Basesoft\KingbaseES\4.1\bin目录下。
我们使用命令行形式对该程序进行编译和链接,具体方法如下:
1.编译.c程序
cl/c/DWIN32/I"C:
\ProgramFiles\Basesoft\KingbaseES\4.1\include"/Foauthid.objauthid.c
2.链接,生成可执行文件
link/out:
authid.exeauthid.c"C:
\ProgramFiles\Basesoft\KingbaseES\4.1\lib\esql.lib"
实验六:
使用PL/SQL编写存储过程访问数据库
1 实验目的
熟悉使用存储过程来进行数据库应用程序的设计。
2 实验平台和实验工具
实验平台:
KingbaseES数据库管理系统,KingbaseESPL/SQL执行引擎。
编程工具自选。
3 实验内容及要求
对学生课程数据库,编写存储过程,完成下面功能:
1)统计离散数学的成绩分布情况,即按照各分数段统计人数;
2)统计任意一门课的平均成绩。
3)将学生选课成绩从百分制改为等级制(即A、B、C、D、E);
要求:
提交源程序并标识必要的注释。
保证程序能正确编译和运行,认真填写实验报告。
实验七:
通过ODBC方式访问数据库
1 实验目的
学会配置ODBC数据源。
熟悉使用ODBC来进行数据库应用程序的设计,熟悉通过ODBC接口访问异构数据库并对异构数据库进行操作。
2 实验平台和实验工具
实验平台:
KingbaseES数据库管理系统,KingbaseESODBCDriver。
通过C语言编写访问数据库的应用程序。
编程工具自选。
3 实验内容和要求
在KingbaseES数据库管理系统上,通过KingbaseESODBCDriver,使用ODBC编写应用程序来对异构数据库进行各种数据操作。
配置两个不同的数据源,编写程序连接两个不同RDBMS的数据源,对异构数据库进行操作。
例如,将KingbaseES数据库的某个表中的数据备份到SQLServer数据库的表中。
要认真填写实验报告,并且提交源程序,保证可正确编译和运行。
3.1 知识预备
■什么是ODBC
ODBC(OpenDatabaseConnectivity,开放数据库互连)是微软公司开放服务结构(WOSA,WindowsOpenServicesArchitecture)中有关数据库的一个组成部分,这一技术为访问不同种类的SQL数据库提供了通用接口。
ODBC是基于结构查询语言(SQL)的,并以此作为访问数据的标准。
该接口提供了互操作性,即一个应用程序可以通过一组公用代码访问不同的DBMS。
■配置ODBC数据源的方式
配置数据源共有两种方法:
方法一:
运行数据源管理工具来进行配置。
方法二:
使用DriverManager提供的ConfigDsn函数来增加、修改或删除数据源。
这种方法特别适用于在应用
程序中创建的临时使用的数据源。
3.2 实验要求
给出配置两个不同的数据源的过程。
提交应用程序源代码,并标识必要的注释,尽可能清楚明白地说明程序的功能,实现的方法,关键数据结构、变量、函数的定义。
实验八:
通过JDBC方式访问数据库
《数据库系统概论(第四版)》书上没有讲解JDBC编程的方法,要完成本实验读者可以参考KingbaseES关于JDBC的使用说明。
关于Java和JDBC更加详尽的信息和资料,请读者参阅网站,在上面可获取各类Java信息和最新资讯。
1 实验目的
熟悉使用JDBC来进行数据库应用程序的设计,熟悉通过JDBC接口编程访问数据库并对数据库进行操作。
2 实验平台和实验工具
实验平台:
KingbaseES数据库管理系统,KingbaseESJDBCDriver。
使用Java语言编写有关应用程序对数据库进行数据操作。
编程工具自选。
3 实验内容和要求
配置环境变量。
使用Java语言编程实现对数据库的访问,所有的SQL操作均在自己建立的新库里进行,数据库建议选用学生课程数据库,读者可以选择进行创建、插入、查询、删除和更新等操作。
要求:
提交源程序并标识必要的注释。
保证程序能正确编译和运行,认真填写实验报告。
3.1 知识预备
■什么是JDBC?
JDBC技术事实上是一种能通过JAVA语言访问任何结构化数据库的应用程序接口(API)。
相对于ODBC(OpenDatabaseConnectivity开放数据库连接)的解释,可以把JDBC看作JavaDatabaseConnectivity(Java数据库连接)。
JDBC是由一组用Java语言编写的类与接口组成。
现在,JDBC已成为一种供工具/数据库开发者使用的标准API,用户可以用纯JavaAPI来编写数据库的应用程序。
使用JDBC可以很容易地把SQL语句传送到任何关系型数据库中。
换言之,用户不需要为每一个关系数据库单独写一个程序。
用JDBCAPI写出唯一的程序,能够将SQL语句发送到相应的任何一种数据库。
Java与JDBC的结合,使程序员可以只写一次数据库应用软件后,就能在各种数据库系统上运行。
■在客户端通过KingbaseES JDBC来访问和操纵数据库的流程。
->建立与数据库的连接;
->创建语句对象;
->执行查询并返回结果集对象;
->处理结果集对象;
->关闭结果集和语句对象;
->提交更新;
->关闭与数据库的连接。
3.2 实验要求
使用Java语言编程实现对数据库的访问,读者可以选择创建表、插入、查询、删除和更新操作等实验。
要求:
提交应用程序源代码,并标识必要的注释,尽可能清楚明白地说明程序的功能,实现的方法,关键数据结构、变量、函数的定义。
实验九:
查询优化
1 实验目的
1. 了解数据库查询优化方法和查询计划的概念。
2. 学会分析查询的代价,并通过建立索引或者修改SQL语句来降低查询代价。
2 实验工具
KingbaseES及其查询分析器JSQL或交互式查询工具ISQLW。
3 实验内容和要求
考虑以下3种SQL操作,查看和分析KingbaseES查询分析器给出的查询计划,分析优化效果。
查询优化可以考虑以下方法:
1)建立索引
2)重写SQL语句(即查询重写)
3)其他优化方法(调整参数,建立视图或临时表等)
3.1 单表查询
例如以下的查询:
(可以自己写出查询语句)
select *
from student
where age>20;
3.2 连接查询
普通的两表连接查询或多表连接查询,分析连接的顺序对查询计划的生成是否有影响?
如果有,有何影响?
3.3 嵌套查询
自己写几个带有子查询的例子,主要考虑带有IN和EXISTS谓词的子查询,分为相关子查询和不相关子查询讨论。
也可以使用《数据库系统概论》书上列举的例子。
对以上各种查询,比较不同查询计划执行的性能差异,并对实验结果作出分析。
注意数据库基本表应该有足够大的数据量,才能体现优化的效果。
读者可以通过小组的形式就以上的某一方面进行实验、分析和学习。
对各自的结果进行讨论。
分析和讨论力求做到对RDBMS的查询计划和优化方法有较为深刻的了解和认识。
在光盘中,还给出了本实验的示例,供读者参考。
实验报告是你自己进行实验后的汇报和总结,不要照抄。