《数据库开发技术》实验指导书_第1页
《数据库开发技术》实验指导书_第2页
已阅读5页,还剩143页未读 继续免费阅读

下载本文档

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

文档简介

《数据库开发技术》实验指导书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.输出指定部门编号的员工信息,部门编号由键盘输入,输出信息参考要求14.利用游标更新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、掌握内连接、外连接的查询方法。二、实验内容和要求第一部分:使用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、按模版要求规范填写电子档实验报告,按时提交。

《数据库开发技术》实验指导书2011-2012学年第一学期计算机1005-1006福建工程学院信息科学与工程学院软件工程教研室陈宇实验一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、实验总结。

实验二连接查询与子查询一、实验目的1、掌握子查询的使用,包括在:having子句中;from子句中;CREATE,UPDATA,INSERT,DELETE语句中;2、掌握多列子查询和相关子查询的使用;3、掌握TOP-N的使用方法;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、掌握游标FOR循环、SELECT…FORUPDATE游标和WHERECURRENTOF子句的使用方法二、实验内容和要求1.依次检索所有的员工,逐条输出员工的编号、姓名、工作、受雇日期、工资、部门号,每各员工信息都应包括行头“编号姓名工作受雇日期工资部门号”2.修改1,增加一项管理者姓名,修改部门号的信息为部门名称3.输出指定部门编号的员工信息,部门编号由键盘输入,输出信息参考要求14.利用游标更新10部门员工的工资,工资在1000以下的增加15%,1001-1500的增加10%,1501-3000的增加5%,3000以上不变5.输出各部门及其所有员工的信息,格式如下:部门号:...部门名称:...---------------------------------------------------------编号姓名工作受雇日期工资7369JOHNCLERK.......... .... ... ... ...三、实验报告1、实验内容与完成情况(记录所有的实验过程);2、出现的问题解决方案(列出遇到的主要问题和解决办法,列出没有解决的问题);3、实验总结;4、按模版要求规范填写电子档实验报告,按时提交。

实验六异常处理一、实验目的掌握正确使用异常处理的方法。二、实验内容和要求1、检索指定编号的员工,有则输出员工的编号、姓名、工作、受雇日期、工资、部门号,加入异常处理;2、测试被0除的异常处理例:10.30;3、参考例:10.34,删除某一部门信息的异常处理;4、参考例:10.35,增加一员工,处理其部门编号没有出现在dept表中的情况;5、自定义异常处理:插入一个员工记录,设定工资超过6000时异常。三、实验报告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、按模版要求规范填写电子档实验报告,按时提交。

《数据库开发技术》实验指导书2011-2012学年第一学期信管0801-0802福建工程学院信息科学与工程学院软件工程教研室陈宇实验一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、实验总结。

实验二连接查询与子查询一、实验目的1、掌握子查询的使用,包括在:having子句中;from子句中;CREATE,UPDATA,INSERT,DELETE语句中;2、掌握多列子查询和相关子查询的使用;3、掌握TOP-N的使用方法;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、按模版要求规范填写电子档实验报告,按时提交。

《数据库开发技术》实验指导书2011-2012学年第二学期计算机0901-0904,网络工程0901-0902福建工程学院信息科学与工程学院软件工程教研室陈宇实验一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、实验总结。

实验二连接查询与子查询一、实验目的1、掌握子查询的使用,包括在:having子句中;from子句中;CREATE,UPDATA,INSERT,DELETE语句中;2、掌握多列子查询和相关子查询的使用;3、掌握TOP-N的使用方法;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、掌握存储过程、函数的正确使用方法;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、按模版要求规范填写电子档实验报告,按时提交。

《数据库开发技术》实验指导书2011-2012学年第二学期信管0901-0904福建工程学院信息科学与工程学院软件工程教研室陈宇实验一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、实验总结。

实验二连接查询与子查询一、实验目的1、掌握子查询的使用,包括在:having子句中;from子句中;CREATE,UPDATA,INSERT,DELETE语句中;2、掌握多列子查询和相关子查询的使用;3、掌握TOP-N的使用方法;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、掌握存储过程、函数的正确使用方法;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、按模版要求规范填写电子档实验报告,按时提交。

《数据库开发技术》实验指导书2011-2012学年第二学期软件工程0901-0902福建工程学院信息科学与工程学院软件工程教研室陈宇实验一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表添加“入学时间(c

温馨提示

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

评论

0/150

提交评论