《数据库开发技术》实验指导书.docx
- 文档编号:30145921
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:128
- 大小:79.01KB
《数据库开发技术》实验指导书.docx
《《数据库开发技术》实验指导书.docx》由会员分享,可在线阅读,更多相关《《数据库开发技术》实验指导书.docx(128页珍藏版)》请在冰豆网上搜索。
《数据库开发技术》实验指导书
《数据库开发技术》
实验指导书
2010-2011学年第一学期
信管0701-0704
福建工程学院信息科学与工程学院
软件工程教研室陈宇
实验一Oracle常用管理工具和DDL实践
一、实验目的
1、认识并熟悉Oracle常用的管理工具:
SQLPlus。
2、熟悉常用的SQL*Plus命令。
3、掌握Oracle表的数据定义(DDL)语言,实现表的定义、删除与修改。
4、掌握创建Oracle表各种约束的方式和方法。
5、掌握利用数据字典视图查看各种有用信息的方法。
二、实验内容和要求
1、用Oracle的默认用户登录到SQLPlus,并运用该工具。
2、常用的SQL*Plus命令。
3、根据以下实验内容的要求认真填写实验报告,记录所有的实验用例。
(1)Oracle表的DDL实践
设有如下关系表S:
S(SNO,SNAME,SSEX,SAGE,SDEPT),主关键字是SNO。
其中SNO为学号,NUMBER(5),学号不能为空,值是惟一的;SNAME为姓名,VARCHAR2(20);SSEX为性别,char
(2);SAGE为年龄,NUMBER
(2);SDEPT为所在系名,VARCHAR2(10)。
写出实现下列功能的SQL语句。
1)创建此表、插入以下数据并提交数据;
INSERTINTOSTUDENTVALUES(95001,'李明勇','男',20,'CS');
INSERTINTOSTUDENTVALUES(95002,'刘晨','女',19,'IS');
INSERTINTOSTUDENTVALUES(95003,'王名','女',18,'MA');
INSERTINTOSTUDENTVALUES(95004,'张立','男',19,'CS');
INSERTINTOSTUDENTVALUES(95005,'张军','男',21,'MA');
INSERTINTOSTUDENTVALUES(95006,'王张凤','女',19,'FL');
INSERTINTOSTUDENTVALUES(95011,'王敬','女',18,'IS');
INSERTINTOSTUDENTVALUES(95021,'张名惠','男',19,'FL');
2)查看此表的数据结构和数据;
3)向S表添加“入学时间(comedate)”列,其数据类型为日期型(date);
4)将年龄的数据类型改为NUMBER(3)且默认值为’19’,并查看这些修改后的表结构;
5)截断student表;
6)删除生成的表S;
(2)创建约束,要求按普遍采用的约定为这些约束命名,约束创建后要进行约束测试。
(参见所附的表结构和数据)
1)为COURSE表添加一个主键约束;
2)创建SC表的主键约束和外键约束(一个列级和一个表级);
3)为S表的SSEX创建CHECK约束;
4)为S表创建一个合适的Notnull和unique惟一性约束;
(3)使用数据字典视图
利用数据字典视图查看数据库对象的信息,如查看表、表空间信息和约束信息等。
三、实验报告
1、实验内容与完成情况(记录所有的实验过程);
2、出现的问题解决方案(列出遇到的主要问题和解决办法,列出没有解决的问题);
3、实验总结。
实验二SQL函数与高级查询
一、实验目的
1、掌握子查询的使用,包括在:
having子句中;from子句中;CREATE,UPDATA,INSERT,DELETE语句中;
2、掌握多列子查询和相关子查询的使用;
3、掌握常用函数的使用方法;
4、掌握内连接、外连接的查询方法。
二、实验内容和要求
第一部分:
使用SQL语句完成以下查询要求。
1、查询每一部门的职工人数,要求:
1)结果显示部门号、部门名称和职工人数;2)部门表中的所有部门都要统计。
2、查询其他部门中比10号部门所有职工工资都少的职工完整信息,至少用两种方法实现。
3、从emp表中查找出和10部门中任意一个雇员的薪水和岗位完全相同的雇员,并显示其姓名、部门编号、薪水和佣金,但是该雇员不能来自10部门。
4、查询哪些部门的平均工资大于该全部职工的平均工资。
(两种方法:
from子句中的子查询和相关的子查询)
5、查询工资第4高的员工的工号、姓名和薪水(假设SAL子段作了惟一限制。
)(提示:
使用from子查询语句、内嵌视图和ROWNUM伪列)
6、设计左外连接查询、右外连接查询和全外连接查询。
第一部分的附加题部分:
1、查询emp表中各部门职工数占全部人数的百分比
2、查询工资低于本部门平均工资的员工信息
3、显示与30部门任何雇员薪水及岗位相匹配的雇员的姓名、部门编号、薪水。
第二部分:
自己设计实例完成在CREATE,UPDATA,INSERT,DELETE语句中使用子查询的实践;
三、实验报告
按模版要求规范填写电子档实验报告,按时提交。
实验三PL/SQL程序设计
一、实验目的
1、掌握PL/SQL程序设计的基本知识。
2、掌握PL/SQL中控制结构的使用。
具体包括:
选择结构(IF语句和CASE语句);
循环结构(三种循环语句):
3、掌握PL/SQL中SELECT语句和DML语句的正确使用方法。
二、实验内容和要求
1、编写匿名块,查询指定条件(如员工编号、姓名、部门、工作、工资、工资等级等)的记录并输出;
2、编写匿名块,向表中插入一条记录,数据由键盘输入;
3、编写匿名块,修改表中的某些数据;
4、修改3,更新条件、数据等由键盘输入,对不同的条件,修改的数据不同(参考例10.19);
5、编写匿名块,删除表中的记录;
6、修改5,条件由键盘输入;
7、设计循环结构的应用处理;
三、实验报告
1、实验内容与完成情况(记录所有的实验过程);
2、出现的问题解决方案(列出遇到的主要问题和解决办法,列出没有解决的问题);
3、实验总结;
4、按模版要求规范填写电子档实验报告,按时提交。
实验四过程、函数和包
一、实验目的
1、掌握正确使用异常处理的方法;
2、掌握存储过程、函数的正确使用方法;
3、掌握包的正确使用方法。
二、实验内容和要求
1.创建一个过程,向DEPT插入一个新单位,只提供单位编号和单位名称,部门位置为空;
2.创建一个过程,修改DEPT中的某一单位的单位名称,过程应包括异常处理;
3.创建一函数,以确认指定的DEPTNO是否存在,返回BOOLEAN型值;
4.创建一个过程,新增一员工,调用上题函数判断DEPTNO的存在,如果不存在发出警告,员工各数据项均有默认值;
5.将以上过程、函数加到包的定义中,并查看包的有关信息,参考例12.29;
6.调用包中的过程和函数;
7.删除以上过程、函数和包,并确认。
三、实验报告
1、实验内容与完成情况(记录所有的实验过程);
2、出现的问题解决方案(列出遇到的主要问题和解决办法,列出没有解决的问题);
3、实验总结;
4、按模版要求规范填写电子档实验报告,按时提交。
实验五触发器
一、实验目的
1、理解触发器的功能;
2、掌握正确使用触发器的方法。
二、实验内容和要求
1、创建一个触发器,禁止在非工作时间段更新员工信息(参考例:
12.38),检验该触发器并查看信息-参考例:
12.40;
2、创建一个触发器,当员工的工资变化时,保存工资修改前后的值以及操作者、修改日期到指定表(需自行建立),并检验;
3、修改1.触发器,根据触发事件的不同给出相应错误信息并检验(参考例:
12.46);
4、创建一个视图,包含员工编号、姓名,工资和部门名称,在该视图上创建INSTEADOF触发器,允许通过该视图向基表EMP和DEPT插入数据,对于DEPT表应判断有否该部门名称,有则不操作,无则新增该部门,部门号为最大部门号加1。
三、实验报告
1、实验内容与完成情况(记录所有的实验过程);
2、出现的问题解决方案(列出遇到的主要问题和解决办法,列出没有解决的问题);
3、实验总结;
4、按模版要求规范填写电子档实验报告,按时提交。
《数据库开发技术》
实验指导书
2010-2011学年第一学期
计算机0905-0906
福建工程学院信息科学与工程学院
软件工程教研室陈宇
实验一Oracle常用管理工具和DDL实践
一、实验目的
1、认识并熟悉Oracle常用的管理工具:
SQLPlus。
2、熟悉常用的SQL*Plus命令。
3、掌握Oracle表的数据定义(DDL)语言,实现表的定义、删除与修改。
4、掌握创建Oracle表各种约束的方式和方法。
5、掌握利用数据字典视图查看各种有用信息的方法。
二、实验内容和要求
1、用Oracle的默认用户登录到SQLPlus,并运用该工具。
2、常用的SQL*Plus命令。
3、根据以下实验内容的要求认真填写实验报告,记录所有的实验用例。
(1)Oracle表的DDL实践
设有如下关系表S:
S(SNO,SNAME,SSEX,SAGE,SDEPT),主关键字是SNO。
其中SNO为学号,NUMBER(5),学号不能为空,值是惟一的;SNAME为姓名,VARCHAR2(20);SSEX为性别,char
(2);SAGE为年龄,NUMBER
(2);SDEPT为所在系名,VARCHAR2(10)。
写出实现下列功能的SQL语句。
1)创建此表、插入以下数据并提交数据;
INSERTINTOSTUDENTVALUES(95001,'李明勇','男',20,'CS');
INSERTINTOSTUDENTVALUES(95002,'刘晨','女',19,'IS');
INSERTINTOSTUDENTVALUES(95003,'王名','女',18,'MA');
INSERTINTOSTUDENTVALUES(95004,'张立','男',19,'CS');
INSERTINTOSTUDENTVALUES(95005,'张军','男',21,'MA');
INSERTINTOSTUDENTVALUES(95006,'王张凤','女',19,'FL');
INSERTINTOSTUDENTVALUES(95011,'王敬','女',18,'IS');
INSERTINTOSTUDENTVALUES(95021,'张名惠','男',19,'FL');
2)查看此表的数据结构和数据;
3)向S表添加“入学时间(comedate)”列,其数据类型为日期型(date);
4)将年龄的数据类型改为NUMBER(3)且默认值为’19’,并查看这些修改后的表结构;
5)截断student表;
6)删除生成的表S;
(2)创建约束,要求按普遍采用的约定为这些约束命名,约束创建后要进行约束测试。
(参见所附的表结构和数据)
1)为COURSE表添加一个主键约束;
2)创建SC表的主键约束和外键约束(一个列级和一个表级);
3)为S表的SSEX创建CHECK约束;
4)为S表创建一个合适的Notnull和unique惟一性约束;
(3)使用数据字典视图
利用数据字典视图查看数据库对象的信息,如查看表、表空间信息和约束信息等。
三、实验报告
1、实验内容与完成情况(记录所有的实验过程);
2、出现的问题解决方案(列出遇到的主要问题和解决办法,列出没有解决的问题);
3、实验总结。
实验二SQL函数与高级查询
一、实验目的
1、掌握子查询的使用,包括在:
having子句中;from子句中;CREATE,UPDATA,INSERT,DELETE语句中;
2、掌握多列子查询和相关子查询的使用;
3、掌握常用函数的使用方法;
4、掌握内连接、外连接的查询方法。
二、实验内容和要求
第一部分:
使用SQL语句完成以下查询要求。
1、查询每一部门的职工人数,要求:
1)结果显示部门号、部门名称和职工人数;2)部门表中的所有部门都要统计。
2、查询其他部门中比10号部门所有职工工资都少的职工完整信息,至少用两种方法实现。
3、从emp表中查找出和10部门中任意一个雇员的薪水和岗位完全相同的雇员,并显示其姓名、部门编号、薪水和佣金,但是该雇员不能来自10部门。
4、查询哪些部门的平均工资大于该全部职工的平均工资。
(两种方法:
from子句中的子查询和相关的子查询)
5、查询工资第4高的员工的工号、姓名和薪水(假设SAL子段作了惟一限制。
)(提示:
使用from子查询语句、内嵌视图和ROWNUM伪列)
6、设计左外连接查询、右外连接查询和全外连接查询。
第一部分的附加题部分:
1、查询emp表中各部门职工数占全部人数的百分比
2、查询工资低于本部门平均工资的员工信息
3、显示与30部门任何雇员薪水及岗位相匹配的雇员的姓名、部门编号、薪水。
第二部分:
自己设计实例完成在CREATE,UPDATA,INSERT,DELETE语句中使用子查询的实践;
三、实验报告
按模版要求规范填写电子档实验报告,按时提交。
实验三对象管理与控制访问
一、实验目的
1、掌握表、视图、序列、索引等数据库对象的管理;
2、掌握对用户访问数据库的权限的控制。
二、实验内容和要求
1、创建用户,密码修改;
2、授权给用户,验证用户权限(连接数据库、建表、查询、更新等);
3、在数据字典中查看用户权限;
4、新建表,设置约束;对已有表进行添加、删除、禁用、启用约束;
5、修改表结构、查询表的基本信息;
6、建索引及查看索引信息;
7、建视图、使用视图、查看索引信息掌握插入、删除和更新表中数据的方法。
三、实验报告
1、实验内容与完成情况(记录所有的实验过程);
2、出现的问题解决方案(列出遇到的主要问题和解决办法,列出没有解决的问题);
3、实验总结;
4、按模版要求规范填写电子档实验报告,按时提交。
实验四PL/SQL程序设计
一、实验目的
1、掌握PL/SQL程序设计的基本知识。
2、掌握PL/SQL中控制结构的使用。
具体包括:
选择结构(IF语句和CASE语句);
循环结构(三种循环语句):
3、掌握PL/SQL中SELECT语句和DML语句的正确使用方法。
二、实验内容和要求
1、编写匿名块,查询指定条件(如员工编号、姓名、部门、工作、工资、工资等级等)的记录并输出;
2、编写匿名块,向表中插入一条记录,数据由键盘输入;
3、编写匿名块,修改表中的某些数据;
4、修改3,更新条件、数据等由键盘输入,对不同的条件,修改的数据不同(参考例10.19);
5、编写匿名块,删除表中的记录;
6、修改5,条件由键盘输入;
7、设计循环结构的应用处理;
三、实验报告
1、实验内容与完成情况(记录所有的实验过程);
2、出现的问题解决方案(列出遇到的主要问题和解决办法,列出没有解决的问题);
3、实验总结;
4、按模版要求规范填写电子档实验报告,按时提交。
实验五异常处理
一、实验目的
掌握正确使用异常处理的方法。
二、实验内容和要求
1、检索指定编号的员工,有则输出员工的编号、姓名、工作、受雇日期、工资、部门号,加入异常处理;
2、测试被0除的异常处理例:
10.30;
3、参考例:
10.34,删除某一部门信息的异常处理;
4、参考例:
10.35,增加一员工,处理其部门编号没有出现在dept表中的情况;
5、自定义异常处理:
插入一个员工记录,设定工资超过6000时异常。
三、实验报告
1、实验内容与完成情况(记录所有的实验过程);
2、出现的问题解决方案(列出遇到的主要问题和解决办法,列出没有解决的问题);
3、实验总结;
4、按模版要求规范填写电子档实验报告,按时提交。
实验六游标
一、实验目的
1、掌握游标和参数化游标的使用方法;
2、掌握游标FOR循环、SELECT…FORUPDATE游标和WHERECURRENTOF子句的使用方法
二、实验内容和要求
1.依次检索所有的员工,逐条输出员工的编号、姓名、工作、受雇日期、工资、部门号,每各员工信息都应包括行头“编号姓名工作受雇日期工资部门号”
2.修改1,增加一项管理者姓名,修改部门号的信息为部门名称
3.输出指定部门编号的员工信息,部门编号由键盘输入,输出信息参考要求1
4.利用游标更新10部门员工的工资,工资在1000以下的增加15%,1001-1500的增加10%,1501-3000的增加5%,3000以上不变
5.输出各部门及其所有员工的信息,格式如下:
部门号:
...部门名称:
...
---------------------------------------------------------
编号姓名工作受雇日期工资
7369JOHNCLERK......
.................
三、实验报告
1、实验内容与完成情况(记录所有的实验过程);
2、出现的问题解决方案(列出遇到的主要问题和解决办法,列出没有解决的问题);
3、实验总结;
4、按模版要求规范填写电子档实验报告,按时提交。
实验七过程、函数和包
一、实验目的
1、掌握正确使用异常处理的方法;
2、掌握存储过程、函数的正确使用方法;
3、掌握包的正确使用方法。
二、实验内容和要求
1、创建一个过程,向DEPT插入一个新单位,只提供单位编号和单位名称,部门位置为空;
2、创建一个过程,修改DEPT中的某一单位的单位名称,过程应包括异常处理;
3、创建一函数,以确认指定的DEPTNO是否存在,返回BOOLEAN型值;
4、创建一个过程,新增一员工,调用上题函数判断DEPTNO的存在,如果不存在发出警告,员工各数据项均有默认值;
5、将以上过程、函数加到包的定义中,并查看包的有关信息,参考例12.29;
6、调用包中的过程和函数;
7、删除以上过程、函数和包,并确认。
三、实验报告
1、实验内容与完成情况(记录所有的实验过程);
2、出现的问题解决方案(列出遇到的主要问题和解决办法,列出没有解决的问题);
3、实验总结;
4、按模版要求规范填写电子档实验报告,按时提交。
实验八触发器
一、实验目的
1、理解触发器的功能;
2、掌握正确使用触发器的方法。
二、实验内容和要求
1、创建一个触发器,禁止在非工作时间段更新员工信息(参考例:
12.38),检验该触发器并查看信息-参考例:
12.40;
2、创建一个触发器,当员工的工资变化时,保存工资修改前后的值以及操作者、修改日期到指定表(需自行建立),并检验;
3、修改1.触发器,根据触发事件的不同给出相应错误信息并检验(参考例:
12.46);
4、创建一个视图,包含员工编号、姓名,工资和部门名称,在该视图上创建INSTEADOF触发器,允许通过该视图向基表EMP和DEPT插入数据,对于DEPT表应判断有否该部门名称,有则不操作,无则新增该部门,部门号为最大部门号加1。
三、实验报告
1、实验内容与完成情况(记录所有的实验过程);
2、出现的问题解决方案(列出遇到的主要问题和解决办法,列出没有解决的问题);
3、实验总结;
4、按模版要求规范填写电子档实验报告,按时提交。
《数据库开发技术》
实验指导书
2010-2011学年第二学期
计算机0801-0804
福建工程学院信息科学与工程学院
软件工程教研室陈宇
实验一Oracle常用管理工具和DDL实践
一、实验目的
1、认识并熟悉Oracle常用的管理工具:
SQLPlus。
2、熟悉常用的SQL*Plus命令。
3、掌握Oracle表的数据定义(DDL)语言,实现表的定义、删除与修改。
4、掌握创建Oracle表各种约束的方式和方法。
5、掌握利用数据字典视图查看各种有用信息的方法。
二、实验内容和要求
1、用Oracle的默认用户登录到SQLPlus,并运用该工具。
2、常用的SQL*Plus命令。
3、根据以下实验内容的要求认真填写实验报告,记录所有的实验用例。
(1)Oracle表的DDL实践
设有如下关系表S:
S(SNO,SNAME,SSEX,SAGE,SDEPT),主关键字是SNO。
其中SNO为学号,NUMBER(5),学号不能为空,值是惟一的;SNAME为姓名,VARCHAR2(20);SSEX为性别,char
(2);SAGE为年龄,NUMBER
(2);SDEPT为所在系名,VARCHAR2(10)。
写出实现下列功能的SQL语句。
1)创建此表、插入以下数据并提交数据;
INSERTINTOSTUDENTVALUES(95001,'李明勇','男',20,'CS');
INSERTINTOSTUDENTVALUES(95002,'刘晨','女',19,'IS');
INSERTINTOSTUDENTVALUES(95003,'王名','女',18,'MA');
INSERTINTOSTUDENTVALUES(95004,'张立','男',19,'CS');
INSERTINTOSTUDENTVALUES(95005,'张军','男',21,'MA');
INSERTINTOSTUDENTVALUES(95006,'王张凤','女',19,'FL');
INSERTINTOSTUDENTVALUES(95011,'王敬','女',18,'IS');
INSERTINTOSTUDENTVALUES(95021,'张名惠','男',19,'FL');
2)查看此表的数据结构和数据;
3)向S表添加“入学时间(comedate)”列,其数据类型为日期型(date);
4)将年龄的数据类型改为NUMBER(3)且默认值为’19’,并查看这些修改后的表结构;
5)截断student表;
6)删除生成的表S;
(2)创建约束,要求按普遍采用的约定为这些约束命名,约束创建后要进行约束测试。
(参见所附的表结构和数据)
1)为COURSE表添加一个主键约束;
2)创建SC表的主键约束和外键约束(一个列级和一个表级);
3)为S表的SSEX创建CHECK约束;
4)为S表创建一个合适的Notnull和unique惟一性约束;
(3)使用数据字典视图
利用数据字典视图查看数据库对象的信息,如查看表、表空间信息和约束信息等。
三、实验报告
1、实验内容与完成情况(记录所有的实验过程);
2、出现的问题解决方案(列出遇到的主要问题和解决办法,列出没有解决的问题);
3、实验总结。
实验二SQL函数与高级查询
一、实验目的
1、掌握子查询的使用,包括在:
having子句中;from子句中;CREATE,UPDATA,INSERT,DELETE语句中;
2、掌握多列子查询和相关子查询的使用;
3、掌握常用函数的使用方法;
4、掌握内连接、外连接的查询方法。
二、实验内容和要求
第一部分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库开发技术 数据库 开发 技术 实验 指导书