当前位置:文档之家› oracle实验报告

oracle实验报告

本科实验报告课程名称:大型数据库系统实验项目:数据库实验实验地点:逸夫楼402专业班级:软件1104班学号:2011004860 学生姓名:周升元指导教师:王会青2014年4 月20日实验一ORACLE的安装与配置一、实验目的⏹了解ORACLE数据库的基本原理,练习ORACLE 11g的安装与配置。

⏹练习在SQL*PLUS和sql developer下登录数据库。

二、实验内容⏹ORACLE 11g的安装与配置1)关闭所有正在运行的程序2)启动操作系统,以Administrator身份安装安装开始:1)启动universal installer2)设置Oracle主目录名和路径3)选择安装产品 Oracle10g Database4)选企业版(SERVER)5)选择数据库通用配置6)选全局数据库名7)选缺省数据库字符集8)开始安装9)自动安装配置工具,并通过(Database Configuration Assistant)自动创建新数据库10)显示数据库创建总结信息11)口令管理”,修改sys和system的口令,锁定别的用户口令12)退出安装参考操作:在上图所示的界面上输入相关的SQL语句:1)创建用户user1,user2(提示:create user user1 identified by pass1;)2)分别为user1,user2授予相应的权限(提示:grant connect,resource to user1;)3)退出SQL-plus (quit)4)在CLIENT端进入SQL-PLUS,分别试用user1,user2登录试验。

5)练习修改口令:alter user username identified by password;三、实验结果与分析:OEM界面SQL Plus界面SQL Developer界面创建表四、实验心得有效的练习并且学会了使用可视化方式创建数据库以及在数据库中创建表。

实验二创建Oracle数据库与表(1个小时)1、实验目的:熟悉使用SQL语言,并能够在SQL-PLUS环境下用SQL语句创建ORACLE数据表,并学会对表的操纵。

2、实验内容:⏹以user1用户登录,并用建表语句创建如下三张关系表。

(create table)(1)STUDENT表SNO(学号)SNAME(姓名)SEX(性别)SAGE(年龄)SDEPT(所在系)95001 李勇男20 CS95002 刘晨女19 IS95003 王名女18 MA95004 张立男19 IS 注:SNO为主键;SNAME列不为空;SEX的值为男或女;(2)COURSE表CNO(课程号)CNAME(课程名)CPNO(先行课)CCREDIT(学分)1 数据库 5 42 数学 23 信息系统 1 44 操作系统 6 35 数据结构7 46 数据处理 27 PASCAL语言 6 4注:CNO为主键;CNAME列不为空;(3)SC表SNO(学号)CNO(课程号)GRADE(成绩)95001 1 9295001 2 8595001 3 8895002 2 9095002 3 80注:(SNO,CNO)为主键;SNO为外键;CNO为外键;GRADE>=0且GRADE<=100⏹练习修改表结构。

⏹分别向三张表中插入相关的数据(insert into)⏹对表进行修改与删除的操作练习。

(update,delect)⏹创建修改后要用提交命令进行提交:commit四、实验结果与分析:五、讨论、心得(可选)学会了连接数据库以及对表数据的插入,删除和修改。

实验三、数据库的查询和视图一、实验目的和要求1.掌握SELECT语句的基本语法。

2.掌握子查询的表示方法。

3.掌握连接查询的表示方法。

4.掌握数据汇总的方法。

5.掌握SELECT语句的GROUP BY子句的作用和使用方法。

6.掌握SELECT语句的ORDER BY子句的作用和使用方法。

7.掌握视图的使用方法。

二、实验内容和结果1. SELECT语句的基本使用1)查询每个雇员的所有数据。

SQL> connect YGGL/111999 as sysdba已连接。

SQL> SELECT*2 FROM Employees;EMPLOYEEID NAME BIRTHDAY SEX ADDRESS ZIP---------- ---------- -------------- ---------- -------------------- -------PHONENUMBER DEP------------ ---000001 王林 23-1月 -66 1 中山路32-1-508 21000383355668 2 010008 伍容华 28-3月 -76 1 北京东路100-2 21000183321321 1 020010 王向荣 09-12月-82 1 四牌楼10-0-108 21000683792361 1 EMPLOYEEID NAME BIRTHDAY SEX ADDRESS ZIP---------- ---------- -------------- ---------- -------------------- -------PHONENUMBER DEP------------ ---020018 李丽 30-7月 -60 0 中山东路102-2 21000283413301 1 102201 刘明 18-10月-72 1 虎距路100-2 21001383606608 5 102208 朱俊 28-9月 -65 1 牌楼巷5-3-106 21000484708817 5 EMPLOYEEID NAME BIRTHDAY SEX ADDRESS ZIP---------- ---------- -------------- ---------- -------------------- -------PHONENUMBER DEP------------ ---108991 钟敏 10-8月 -79 0 中山路10-3-105 21000383346722 3 111006 张石兵 01-10月-74 1 解放路34-1-203 21001084563418 5 210678 林涛 02-1月 -77 1 中山北路24-35 21000883467336 3 EMPLOYEEID NAME BIRTHDAY SEX ADDRESS ZIP---------- ---------- -------------- ---------- -------------------- -------PHONENUMBER DEP------------ ---302566 李玉珉 20-9月 -68 1 热和路209-3 21000158765991 4 308759 叶凡 18-11月-78 1 北京西路3-7-52 21000283308901 4 504209 陈林琳 03-9月 -69 0 汉中路120-4-12 21001884468158 4已选择12行。

2)查询每个雇员的地址和电话。

SQL> SELECT Address,PhoneNumber2 FROM Employees;ADDRESS PHONENUMBER-------------------- ------------中山路32-1-508 83355668北京东路100-2 83321321四牌楼10-0-108 83792361中山东路102-2 83413301虎距路100-2 83606608牌楼巷5-3-106 84708817中山路10-3-105 83346722解放路34-1-203 84563418中山北路24-35 83467336热和路209-3 58765991北京西路3-7-52 83308901ADDRESS PHONENUMBER-------------------- ------------汉中路120-4-12 84468158已选择12行。

3)查询EmployeeID为000001的雇员的地址和电话。

SQL> SELECT Address,PhoneNumber2 FROM Employees3 WHERE EmployeeID='000001';ADDRESS PHONENUMBER -------------------- ------------ 中山路32-1-508 833556684)查询Employees表中所有女雇员的地址和电话,使用AS子句将结果中各列的标题分别指定为地址和电话。

SQL> SELECT Address AS 地址,PhoneNumber AS 电话2 FROM Employees3 WHERE sex=0;地址电话-------------------- ------------ 中山东路102-2 83413301 中山路10-3-105 83346722 汉中路120-4-12 844681585)计算每个雇员的实际收入。

SQL> SELECT EmployeeID,InCome-OutCome AS 实际收入2 FROM Salary;EMPLOY 实际收入------ ---------- 000001 1977.71 010008 1494.59 102201 2384.23 111006 1907.43 504209 1958.15 301566 2770.5 108991 2978.46 020010 2662 020018 2167.68 308759 2332.9 210678 2119 EMPLOY 实际收入------ ---------- 102208 1880 已选择12行。

6)找出所有姓王的雇员的部门号。

SQL> SELECT DepartmentID2 FROM Employees3 WHERE name LIKE'王%';DEP ---217)找出所有收入在2000~3000元之间的雇员号码。

SQL> SELECT EmployeeID2 FROM Salary3 WHERE InCome BETWEEN 2000 AND 3000;EMPLOY------000001102201504209301566020010020018308759210678已选择8行。

2.子查询的使用1)查找在财务部工作的雇员的情况。

SQL> SELECT*2 FROM Employees3 WHERE DepartmentID=4 (SELECT DepartmentID5 FROM Departments6 WHERE DepartmentName='财务部'7 );EMPLOYEEID NAME BIRTHDAY SEX ADDRESS ZIP---------- ---------- -------------- ---------- -------------------- -------PHONENUMBER DEP------------ ---010008 伍容华 28-3月 -76 1 北京东路100-2 21000183321321 1 020010 王向荣 09-12月-82 1 四牌楼10-0-108 21000683792361 1 020018 李丽 30-7月 -60 0 中山东路102-2 21000283413301 12)查找财务部年龄不低于所有研发部雇员年龄的雇员的姓名。

相关主题