当前位置:文档之家› 典型数据库

典型数据库

典型数据库实验指导书____/____年第____学期姓名:_____________学号:_____________班级:_____________指导教师:_____________目录实验1 Oracle Database环境和SQL *Plus基础 (3)实验2 管理数据库表及其完整性 (5)实验3 SQL查询技术 (7)实验4 PL/SQL基础 (11)实验5 索引和视图 (13)实验6 存储过程和触发器 (15)实验一Oracle Database环境和SQL *Plus基础一、实验目的掌握Oracle Database数据库的安装,学会使用SQL *Plus环境的设置及应用。

二、实验环境本实验采用的RDBMS是Oracle公司的数据库管理系统,以Oracle Database 11g版本为软件平台。

三、实验内容与要求1.熟悉Oracle Database软件的获取和安装,简要说明Oracle Database 11g的安装过程。

2.启动和设置SQL *Plus环境,通过SQL *Plus环境执行SQL语句。

(1)打开SQL *Plus环境,登录Oracle数据库,以系统默认用户身份登录,用户名:system, 口令:Admin123。

登录成功后出现:“SQL>”提示符。

(2)以学生姓名拼音建立新的Oracle数据库用户(姓全拼,名字的首字母),并给用户授予连接和管理员权限。

参考代码:create user wangw identified by wangw; (前一个为用户名,后一个为口令)grant create session,dba to wangw; (session为连接权限,dba是具有100多个权限的角色)使用describe命令查看所定义的表结构。

4.使用insert语句向S表中插入至少10条数据。

参考代码:INSERT INTO EMP(EMPNO,ENAME,HIREDATE)VALUES(7844,'TURNER',to_date('8-9-1981','dd-mm-yyyy'));5.查询:(1)查询所有学生信息的信息;(2)格式化查询结果:改变deptno列的显示宽度为A10,将所有列标题设置成相应的中文含义。

6.打开并配置四、实验预习和准备参考相关书籍,能够熟练地使用SQL语言。

五、实验过程与结果六、实验小结和体会通过本次实验的学习,我掌握了如何通过CMD创建用户,然后通过ORCL软件创建新的连接,然后创建表并且添加新的数据进去,要注意的是某些数据的数据格式,比如说生日的格式要用到to_char,整体的查询显示语句还是有点相似的。

实验二管理数据库表及其完整性一、实验目的掌握Oracle中数据库和表以及数据类型的创建,同时能够熟练地进行表及表间数据完整性约束的创建。

二、实验环境本实验采用的RDBMS是Oracle公司的数据库管理系统,以Oracle Database 11g版本为软件平台。

三、实验内容与要求1. 在SQL *Plus或SQL Developer环境中建立如下结构表:(1(2(3示例:创建表CREATE TABLE EMP(EMPNO NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY,ENAME VARCHAR2(10),JOB VARCHAR2(9),MGR NUMBER(4) ,HIREDATE DATE,SAL NUMBER(7,2),COMM NUMBER(7,2),DEPTNO NUMBER(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT);2. 创建约束:同时添加相应的主键约束、外键约束,并给C表中的credit字段添加check 约束(0<credit<10),给sc表中的grade添加默认值(default为0),并验证。

若要创建外键约束可参阅如下代码:ALTER TABLE "SC" ADD CONSTRAINT "SC_C_FK1" FOREIGN KEY ("CNO")REFERENCES "C" ("CNO") ENABLE;检查约束可参考如下代码:ALTER TABLE "S" ADD CONSTRAINT "S_C_FK1"Check ( sex in(‘男’,’女’)));默认值约束可参考如下代码:ALTER TABLE "S" MODIFY ("SEX" CHAR(2 CHAR) DEFAULT '男');四、实验预习和准备完成本次实验首先要熟悉SQL语句如何创建数据库表,同时还要熟悉如何使用Alter 语句创建主、外键,创建默认值、规则等。

五、实验过程与结果七、实验小结和体会本次实验的目的是掌握Oracle中数据库和表以及数据类型的创建,同时能够熟练地进行表及表间数据完整性约束的创建。

上次实验已经掌握了如何创建表,本次实验则是比较注重约束条件,比如说主键约束等,条件约束在软件和DOS段都可以使用,本次实验受益很大,值得回味!实验三SQL查询技术一、实验目的掌握常用的查询技术,能够熟练的运用各种查询和汇总方式进行数据的查询和统计。

二、实验环境本实验采用的RDBMS是Oracle公司的数据库管理系统,以Oracle Database 11g版本为软件平台。

三、实验内容与要求1)查询所有学生的学号、姓名、年龄信息,并以年龄升序排列。

2)查询每一个学生选修课程的门数、最高分、最低分、平均分,以门数降序排列。

3)查询除“李明”外所有姓“李”和姓“张”的学生信息。

4)在选课关系中查询每门课程的选修人数、平均成绩,并将平均成绩大于70分的课程的课程号、选修人数和平均成绩显示出来。

5)查询“计算机系”选修“数据库系统概论”课程且成绩大于60分的学生姓名和成绩。

(分别用内连接和子查询实现)6)查询所有课程的选修情况(包含没有学生选修的课程),包括课程名称、学分、学生姓名和成绩。

7)查询至少选修了“3”号学生选修所有课程的学生的学号和姓名。

四、实验预习和准备参照相关书籍和文档,熟悉Select语句的各种用法。

五、实验过程与结果1、 select sno,sname,to_char(sysdate,’yyyy’)-to_char(birthday,’yyyy’)as age from S order by age;2、 select sno,count(cno),max(grade),min(grade),avg(grade) from SC group by sno order by count(cno) desc;3、 select * from S where sname like ‘李%’or sname like ‘张%’ minus select * from S where sname like ‘李明’;4、 select cno,count(sno),avg(grade), from SC group by cno having avg(grade)>70;5、内连接:select S.sname,SC.grade from S,SC,DEPT,C where S.sno=SC.sno and S.deptno=DEPT.deptno and DEPT.deptname like ‘计算机系’ and ame like ‘数据库系统概论’ and o=o and SC.grade >60;子查询:select S.sname,SC.grade from S JOIN SC on S.sno=SC.sno where S.sno in (select sno from S where S.deptno= (selectdeptno from DEPT where deptnamelike’计算机系’)) and o in (select cno from C where cname like’数据库系统概论’)and SC.grade >60;6、 select ,C.credit, SC.grade,S.snamefrom C LEFT OUTER JOIN SC on o=o LEFT OUTER join S on SC.sno=S.sno;7、 select DISTINCT sno from SC SCX where not EXISTS( select * from SC SCY where SCY.sno='3' and not EXISTS (select * from SC SCZ where SCZ.Sno=SCX.Sno and o= o));六、实验小结和体会通过本次实验,让我想起了SQL 语言和ORCL语言很多相似的地方,内链接和子查询等等,充分掌握好SQL语言,对学习ORCL语言的帮助很大。

实验四PL/SQL基础一、实验目的掌握常用的PL/SQL变量和语句,能够熟练的运用循环结构、条件语句等进行程序设计。

一、实验环境本实验采用的RDBMS是Oracle公司的数据库管理系统,以Oracle Database 11g版本为软件平台。

三、实验内容与要求(3)用数组实现C表中课程号和课程名的显示,要求将C表中的课程号赋给数组的索引,将课程名作为数组元素,同时反序输出数组的索引和元素。

(4)用多分支条件case语句实现sc表中成绩的等第转换,优秀(>=90)、良好(80-90)、中等(70-80)、及格(60-70)、不及格(<60)。

(5)用游标实现成绩学分绩点的计算,要求显示学生姓名、课程名、学分、成绩、学分如:某门课该学生的成绩为72分,该课程的学分为4,则该生该门课的学分绩点=4*3=12。

四、实验预习和准备了解PL/SQL的常变量的定义,熟悉流程控制语句和游标的使用。

五、实验过程与结果六、实验小结和体会实验五索引和视图一、实验目的掌握oracle中索引和视图的基本原理,能够熟练的创建使用索引和视图。

二、实验环境本实验采用的RDBMS是Oracle公司的数据库管理系统,以Oracle Database 11g版本为软件平台。

三、实验内容与要求1. 对s表的sname字段创建唯一索引。

2. 给sc表中的sno和cno两个字段创建连接索引。

3. 给dept表中的deptname字段创建B树索引,同时设定数据块的预留空间为40%。

相关主题