Oracle数据库实验报告
oracle数据库实验报告

oracle数据库实验报告《Oracle数据库实验报告》在当今信息化时代,数据库管理系统扮演着至关重要的角色。
Oracle数据库作为全球领先的企业级数据库管理系统,在各行各业都有着广泛的应用。
本次实验旨在通过对Oracle数据库的实验操作,深入了解其基本功能和特点,并探讨其在实际应用中的优势和局限性。
实验一:数据库的创建与连接在实验中,我们首先学习了如何使用SQL命令创建一个新的数据库,并通过用户名和密码连接到该数据库。
通过这一步骤,我们了解了Oracle数据库的基本操作流程,包括数据库的创建、用户的授权和连接等。
实验二:数据表的创建与管理在本次实验中,我们学习了如何使用SQL命令创建数据表,并进行数据的插入、查询、更新和删除操作。
通过这些操作,我们深入了解了Oracle数据库的数据管理功能,包括数据表的设计和维护等。
实验三:索引的创建与优化索引是数据库中非常重要的组成部分,能够提高数据的检索效率。
在本次实验中,我们学习了如何使用SQL命令创建索引,并通过优化查询语句来提高数据库的性能。
这些操作让我们更加深入地了解了Oracle数据库的优化功能,以及如何通过索引来提高数据库的性能。
实验四:备份与恢复数据库的备份与恢复是数据库管理中至关重要的一环。
在本次实验中,我们学习了如何使用Oracle数据库提供的工具进行数据库的备份和恢复操作。
这些操作让我们了解了数据库的灾难恢复功能,以及如何保障数据的安全性。
通过本次实验,我们深入了解了Oracle数据库的基本操作和功能,包括数据库的创建与连接、数据表的管理、索引的优化以及备份与恢复等。
同时,我们也发现了Oracle数据库在实际应用中的优势,如稳定性、安全性和性能优化等方面。
然而,我们也意识到Oracle数据库在一些特定场景下存在一定的局限性,如高昂的成本、复杂的配置和维护等。
总的来说,本次实验让我们更加深入地了解了Oracle数据库的特点和功能,对我们今后的数据库管理工作有着重要的指导意义。
《Oracle数据库开发》报告

目录一、实践名称 (1)二、实践题目 (1)三、实践目的 (1)四、实践内容与结果 (1)1、Oracle数据库的基本操作 (1)2、简单Visual Basic访问Oracle数据库 (15)3、VB/Oracle学生成绩管理系统 (20)五、实践小结 (33)《Oracle数据库开发》实训报告一、实践名称ORACLE数据库开发二、实践题目1、Oracle数据库的基本操作2、简单Visual Basic访问Oracle数据库3、VB/Oracle学生成绩管理系统三、实践目的1、初步掌握Oracle关系数据库语言2、掌握Oracle的操作与使用3、数据库的建立与管理、数据表的建立与操作等4、PL/SQL语言的使用与编程5、设计和开发一个小型数据库应用系统四、实践内容与结果1、Oracle数据库的基本操作(1)创建数据库与表首先,创建数据库,步骤如图所示:紧接着创建表,进入SQLPlus Worksheet ,执行以下命令,结果如图 创建账号CREATE USER "GL_0911030201_HONGDJ" PROFILE "DEFAULT"IDENTIFIED BY "HONGDINGJIN" DEFAULT TABLESPACE "USERS" ACCOUNT UNLOCK;GRANT "CONNECT" TO "GL_0911030201_HONGDJ"; GRANT "DBA" TO "GL_0911030201_HONGDJ"; 1、创建部门表CREATE TABLE "GL_0911030201_HONGDJ"."DEPARTMENTS" ("DEPARTMENTID"CHAR(3) NOT NULL, "DEPARTMENTNAME" CHAR(20) NOT NULL, "NOTE"CHAR(16), PRIMARY KEY("DEPARTMENTID"));2、创建员工表CREATE TABLE "GL_0911030201_HONGDJ"."EMPLOYEES" ("EMPLOYEEID"CHAR(6) NOT NULL, "NAME" CHAR(10) NOT NULL, "BIRTHDAY" DATE NOT NULL, "SEX" NUMBER(1) NOT NULL, "ADDRESS" CHAR(20), "ZIP" CHAR(6), "PHONENUMBER" CHAR(12), "EMAILADDRESS" CHAR(30) NULL, "DEPARTMENTID" CHAR(3) NOT NULL, PRIMARY KEY("EMPLOYEEID"), FOREIGN KEY("DEPARTMENTID") REFERENCES "GL_0911030201_HONGDJ"."DEPARTMENTS"("DEPARTMENTID"));3、创建工资表CREATE TABLE "GL_0911030201_HONGDJ"."SALARY" ("EMPLOYEEID" CHAR(6) NOT NULL, "INCOME" NUMBER(8, 2) NOT NULL, "OUTCOME" NUMBER(8, 2) NOT NULL, PRIMARY KEY("EMPLOYEEID")) ;(2)表数据的插入、修改和删除在SQLPlus Worksheet执行如下命令,结果如图1、插入部门表数据INSERT INTO "GL_0911030201_HONGDJ"."DEPARTMENTS" ("DEPARTMENTID" ,"DEPARTMENTNAME" ,"NOTE" ) VALUES ('1' ,'财务部' ,'' );……2、插入职工表数据INSERT INTO "GL_0911030201_HONGDJ"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "EMAILADDRESS" ,"DEPARTMENTID" )V ALUES ('000001' ,'王林' ,'23-1月-1956' ,1 ,'中山路32-1-508' ,'210003' ,'3355668' ,'wl@' ,'2' );……3、插入工资表数据INSERT INTO "GL_0911030201_HONGDJ"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('000001' ,2100.8 ,123.09 );……(3)索引和完整性在执行如下命令,结果如图1、建立索引2、实现域完整性1、SELECT语句的基本使用(1)查找在财务部工作的雇员的情况(2)查找财务部年龄不低于研发部雇员年龄的雇员的姓名(1)查询每个雇员的情况及其薪水的情况(2)查找财务部收入在2200元以上的雇员姓名及其薪水情况4、数据汇总(1)求财务部雇员的平均水平(2)求财务部雇员的平均实际收入5、GROUP BY、ORDER BY 子句的使用(1)求各部门的雇员数(2)将各雇员的情况按收入由低到高排列6、视图(1)创建视图——限制查看雇员的某些情况(2)使用视图查询财务部雇员的信息张无忌从经理办公室转到市场部把张无忌从表EMPLOYEES中删除(5)PL/SQL编程1、条件结构的使用(例5.5)2、循环结构的使用(例5.9)3、选择和跳转语句(例5.13)4、自定义函数的使用(例5.27)例5.28(6)存储过程和触发器的使用1、创建触发器(1)修改DEPARTMENTS表中的DEPARTMENTID字段值(2)删除DEPARTMENTS表中一条记录的同时删除该记录DEPARTMENTID字段在EMPLOYEES表中对应的记录2、创建存储过程(1)添加职员记录的存储过程(2)修改职员记录的存储过程(3)删除职员记录的存储过程3、调用存储过程1、创建用户2、创建角色3、创建概要文件2、简单Visual Basic访问Oracle数据库首先是建立数据源,步骤如下:(1)选择“开始”→“程序”→“管理工具”→“数据源”(ODBC)命令。
《Oracle数据库》实验报告参考模板

河南财经政法大学计算机与信息工程学院
2011年---2012年第一学期
专业:信息管理与信息系统
课程名称:Oracle数据库
班级:
姓名:学号:
指导教师:张巧荣
实验一创建数据库和表
实验二表数据的插入、修改和删除
实验三数据库的查询
实验四数据库的视图
实验五索引和完整性
实验六用户、角色管理
实验七备份和恢复
实验八PL/SQL编程
实验九存储过程和触发器的使用
友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!。
oracle数据库数据库设计与实现实验报告

oracle数据库数据库设计与实现实验报告Oracle数据库设计与实现实验报告一、实验目的本次实验旨在通过使用Oracle数据库,掌握数据库的设计和实现方法,学习如何创建表、插入数据、查询数据以及对数据进行更新和删除等操作。
二、实验环境本次实验使用的是Oracle 11g Express Edition,操作系统为Windows 10。
三、实验步骤1. 创建表格在Oracle中创建表格需要使用CREATE TABLE语句。
下面是一个例子:CREATE TABLE employees (employee_id INT PRIMARY KEY,first_name VARCHAR2(50),last_name VARCHAR2(50),email VARCHAR2(100),phone_number VARCHAR2(20));这个例子创建了一个名为“employees”的表格,其中包含了五个列:employee_id、first_name、last_name、email和phone_number。
其中employee_id被指定为主键。
2. 插入数据在Oracle中插入数据需要使用INSERT INTO语句。
下面是一个例子:INSERT INTO employees (employee_id, first_name, last_name, email, phone_number)VALUES(1,'John','Doe','********************','555-1234');这个例子向“employees”表格中插入了一条记录,包含了五个值:employee_id为1,first_name为“John”,last_name为“Doe”,email为“********************”,phone_number为“555-1234”。
《Oracle数据库》实验报告

实验二Oracle数据库开发环境下PL/SQL编程(2学时)【实验目的】(1)掌握PL/SQL 的基本使用方法。
(2)在SQL*PLUS环境下运行PL/SQL的简单程序。
(3)应用PL/SQL 解决实际问题【实验内容与步骤】一、实验内容:1、用PL/SQL实现:输入eno的值,显示emp表中对应记录的内容。
2、用PL/SQL完成:读入三个数,计算并输出它们的平均值及三个数的乘积。
3、对职工表emp中的雇员SCOTT提高奖金,若工种为MANAGER,则奖金提高其原来的20%;若工种为SALESMAN,则奖金提高其原来的15%;若工种为ANALYST,则奖金提高其原来的10%,其它都按原来的7%提高。
4、用PL/SQL块实现下列操作公司为每个职工增加奖金:若职工属于30号部门,则增加$150;若职工属于20号部门,则增加$250;若职工属于10号部门,则增加$350。
(提示:游标请自行阅读相关内容)DECLAREaddcomm m%type;CURSOR emp_cursor IS select deptno from emp;BEGINFOR emprec IN emp_cursor LOOPIF emprec.deptno=30 THEN addcomm:=150;ELSIF emprec.deptno=20 THEN addcomm:=250;ELSIF emprec.deptno=10 THEN addcomm:=350;END IF;Update empset comm=comm+ addcomm where deptno= emprec.deptno;END LOOP;COMMIT WORK;END;实验三PL/SQL触发器和存储过程(2学时)【实验目的】(1)了解触发器的类型。
(2)掌握PL/SQL触发器的使用方法。
(3)了解存储过程的使用方法。
(4)掌握存储过程的使用方法。
【实验内容】实验内容:1、编写一个数据库触发器,当任何时候某个部门从dept表中删除时,该触发器将从emp 表中删除该部门的所有雇员。
Oracle实训报告

ORACLE数据库开发实践报告要求1.实践名称:Oracle数据库开发2.实践题目:(1)Oracle数据库的操作(2)小型数据库系统的设计与开发3.实践目的:初步掌握Oracle关系数据库语言;掌握 Oracle的操作与使用;数据库的建立与管理、数据表的建立与操作等;PL/SQL语言的使用与编程。
4.实践内容与结果:4.1 Oracle数据库的操作4.1.1实践操作11、熟悉Oracle运行环境,理解存储管理器、方案管理器和安全管理器的作用及操作过程。
要求:(1).登录到存储管理器中,查看表空间和回滚段中的情况。
(2).登录到方案管理器中,查看SYS方案下的ACCESS$表。
(3).在SQL Plus环境下,键入下面内容,执行并观察结果。
•SQL>SET SERVEROUTPUT ON;•SQL>DECLARE• 2 n1 NUMBER:=18;• 3 n2 NUMBER:=6;• 4 BEGIN• 5 IF n2<=10 THEN• 6 n1:=n1+n2;•7 DBMs_Output.Put_Line(To_Char(n1));•8 END IF;•9 END;•10 /•4.1.2实践操作21、建立数据库(熟悉DBCA工具的使用)2、利用OEM创建新用户SOL语句:CREATE USER "MENG072" PROFILE "DEFAULT"IDENTIFIED BY "m" DEFAULT TABLESPACE "USERS"ACCOUNT UNLOCK;GRANT UNLIMITED TABLESPACE TO "MENG072" GRANT "CONNECT" TO "MENG072";GRANT "DBA" TO "MENG072";3、利用OEM创建Departments表(1)设置一般信息(2)设置约束条件SQL语句:CREATE TABLE "MENG072"."DEPARTMENTS" ("DEPARTMENTID" CHAR(3) NOTNULL, "DEPARTMENGTNAME" CHAR(20) NOT NULL, "NOTE"V ARCHAR2(100) NOT NULL, PRIMARY KEY("DEPARTMENTID")) 4、创建Employees表SOL语句:CREATE TABLE "MENG072"."EMPLOYEES" ("EMPLOYEEID" CHAR(6) NOT NULL, "NAME" CHAR(10) NOT NULL, "BIRTHDAY" DATE NOT NULL, "SEX"NUMBER(1) NOT NULL, "ADDRESS" CHAR(20) NOT NULL, "ZIP"CHAR(6) NOT NULL, "PHONENUMBER" CHAR(12) NOT NULL, "DEPARTMENTID"CHAR(3) NOT NULL, PRIMARY KEY("EMPLOYEEID"))5、创建Salary表SOL语句:CREATE TABLE "MENG072"."SALARY" ("EMPLOYEEID" CHAR(6) NOT NULL, "INCOME"NUMBER(8, 2) NOT NULL, "OUTCOME" NUMBER(8, 2) NOT NULL,PRIMARY KEY("EMPLOYEEID"))6、用PL/SQL语句创建表Departments、表Employees、表Salary:4.1.3实践操作31、用OEM向表Employ、表Departments、表Salary中各插入记录:(1)表Departments插入记录SOL语句:INSERT INTO "DEPARTMENTS" V ALUES ('1' ,'财务部' ,'1' ); INSERT INTO "DEPARTMENTS" V ALUES ('2' ,'人力资源部' ,'2' ); INSERT INTO "DEPARTMENTS" V ALUES ('3' ,'经理办公室' ,'3' ); INSERT INTO "DEPARTMENTS" V ALUES ('4' ,'研发部' ,'4' ); INSERT INTO "DEPARTMENTS" V ALUES ('5' ,'市场部' ,'5' ); (2)表Employ插入记录SOL语句:INSERT INTO "MENG072"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "DEPARTMENTID" ) V ALUES ('000001' ,'王林' ,TO_DA TE('23-1月-1966', 'dd-Mon-yyyy HH:MI:SS AM') ,1 ,'中山路32-1-508' ,'210003' ,'83355668' ,'2' )INSERT INTO "MENG072"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "DEPARTMENTID" ) V ALUES ('010008' ,'伍荣华' ,TO_DA TE('28-3月-1976', 'dd-Mon-yyyy HH:MI:SS AM') ,1 ,'北京东路100-2' ,'210001' ,'83321321' ,'4' )INSERT INTO "MENG072"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "DEPARTMENTID" ) V ALUES ('020010' ,'王向荣' ,TO_DATE('09-12月-1982', 'dd-Mon-yyyy HH:MI:SS AM') ,1 ,'四牌楼10-0-108' ,'210006' ,'83792361' ,'1' )INSERT INTO "MENG072"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "DEPARTMENTID" ) V ALUES ('020018' ,'李莉' ,TO_DA TE('30-7月-1976', 'dd-Mon-yyyy HH:MI:SS AM') ,0 ,'中山东路102-2' ,'210002' ,'83413301' ,'1' )INSERT INTO "MENG072"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "DEPARTMENTID" ) V ALUES ('102201' ,'刘明' ,TO_DA TE('02-9月-1965', 'dd-Mon-yyyy HH:MI:SS AM') ,1 ,'虎踞路100-2' ,'210013' ,'83606608' ,'5' )INSERT INTO "MENG072"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "DEPARTMENTID" ) V ALUES ('102208' ,'朱俊' ,TO_DA TE('10-8月-1979', 'dd-Mon-yyyy HH:MI:SS AM') ,1 ,'牌楼巷5-3-106' ,'210004' ,'84708817' ,'5' )INSERT INTO "MENG072"."EMPLOYEES" ("EMPLOYEEID" ,"NAME" ,"BIRTHDAY" ,"SEX" ,"ADDRESS" ,"ZIP" ,"PHONENUMBER" , "DEPARTMENTID" ) V ALUES ('108991' ,'忠民' ,TO_DA TE('01-10月-1974', 'dd-Mon-yyyy HH:MI:SS AM') ,1 ,'中山路10-3-105' ,'210003' ,'83346722' ,'3' )(3)表Salary中插入记录SOL语句:INSERT INTO "MENG072"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('000001' ,2100.8 ,123.09 )INSERT INTO "MENG072"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('010008' ,1582.62 ,88.03 )INSERT INTO "MENG072"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('102201' ,2569.88 ,185.65 )INSERT INTO "MENG072"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('108991' ,3259.98 ,281.52 )INSERT INTO "MENG072"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('020010' ,2860.0 ,198.0 )INSERT INTO "MENG072"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('020018' ,2347.68 ,180.0 )INSERT INTO "MENG072"."SALARY" ("EMPLOYEEID" ,"INCOME" ,"OUTCOME" ) V ALUES ('102208' ,1980.0 ,100.0 )2、用PL/SOL语句向表Employ、表Departments、表Salary中插入记录:4.1.4实践操作41、建立索引:2、实现域完整性:注:该同学此题完成有误,下面给出另一同学的正确解答为数据库中的employees表的phonenumber列建立check约束:3、实现实体完整性:(1)为表Departments设置主键DepartmentID:(2)为表Departments的DepartmentName建立唯一性索引:4实现参照完整性:4.1.5实践操作51、SELECT语句的基本使用:(1)查询每个雇员的所有数据:(2)查询每个雇员的地址和电话:(3)查询EmployeeID为000000的雇员的地址和电话:(4)查询Employees表中女雇员的地址和电话;(5)计算每个雇员的实际收入:(6)找出所有姓王的雇员的部门号:(7)找出所有收入在2000~5000元之间的雇员号码:2 子查询的使用(1)查找在财务部工作的雇员的情况:(2)查找财务部年龄不低于研发部雇员年龄的雇员的姓名:(3)查找比所有财务部的雇员收入都高的雇员的姓名:3.连接查询的使用(1)查询每个雇员的情况及其薪水的情况:(2)查找财务部收入在2200元以上的雇员姓名及其薪水情况:4.数据汇总(1)求财务部雇员的平均水平:(2)求财务部雇员的平均实际收入:(3)求财务部雇员的总人数:5.GROUP BY、ORDER BY 子句的使用(1)求各部门的雇员数:(2)将各雇员的情况按收入由低到高排列:6.视图(1)创建视图——限制查看雇员的某些情况:各部门经理只能查找本部门雇员的薪水情况:(2)使用视图查询财务部雇员的信息:查询财务部雇员薪水情况:向表EMPLOYEES中插入一条记录:从经理办公室转到市场部:从表EMPLOYEES中删除:4.1.6实践操作61.条件结构的使用例5.52.循环结构的使用例5.92.选择和跳转语句例5.134.自定义函数的使用例5.27例5.284.1.7实践操作71.创建触发器(1)修改DEPARTMENTS表中的DEPARTMENTID字段值(2)删除DEPARTMENTS表中一条记录的同时删除该记录DEPARTMENTID字段在EMPLOYEES表中对应的记录2.创建存储过程(1)添加职员记录的存储过程:(2)修改职员记录的存储过程;(3)删除职员记录的存储过程:3.调用存储过程4.1.8实践操作8 1.创建用户2.创建角色3.创建概要文件5.实践小结:在实训之前,我对Oracle一无所知,后来经过老师课上耐心细致的讲解,我对Oracle 渐渐有了较为清晰的认识。
Oracle实验一报告

实验一实验名称:数据库的安装与管理实验学时:2实验目的:1)了解Oracle数据库的基本安装流程。
1)了解Oracle数据库的逻辑结构和物理结构。
2)熟悉Oracle的命令操作环境SQL*PLUS。
3)了解启动和关闭数据库的不同方式及其优缺点。
4)熟悉掌握各种启动、关闭方式。
实验内容及步骤:1、完成Oracle 12c数据库的安装2、SQL*Plus的启动与关闭(一)SQL*Plus的启动(二)断开与数据库的连接(三)退出SQL*Plus3、使用shutdown命令关闭数据库(1)正常关闭。
等待当前所有已连接的用户断开与数据库的连接,然后关闭数据库。
正常关闭的语句如下:SHUTDOWN NORMAL(2)立即关闭。
回退活动事务处理并断开所有已连接的用户,然后关闭数据库。
立即关闭语句如下:SHUTDOWN IMMEDIATE(3)事务关闭:完成事务处理后断开所有已连接的用户,然后关闭数据库。
事务处理关闭语句如下:SHUTDOWN TRANSACTIONAL4、使用startup命令启动数据库(1)启动数据库实例时不装载数据库。
执行此操作的命令如下:STARTUP NOMOUNT(2)启动数据库实例,装载数据库,但不打开数据库。
通常在数据库维护时执行此操作,对应的命令如下:STARTUP MOUNT4.改变数据库的状态(1)装载数据库实例。
ALTER DATABASE MOUNT(2)打开已关闭的数据库。
ALTER DATABASE OPEN(3)以只读方式打开数据库。
ALTER DATABASE OPEN READ ONLY思考题:1、在数据库的nomount、mount、open三种模式下,分别打开数据库的什么文件?nomount状态:读参数文件,启动实例和后台进程;mount状态:加载控制文件,让实例和数据库相关联;open状态:根据控制文件找到并打开数据文件和日志文件,从而打开数据库。
2、当关闭数据库时使用shutdown命令,好久没有关闭,随即将“命令提示符”窗口关闭,之后重新“启动命令提示符”并登录SQL*PLUS,使用shutdown immediate关闭数据库出现如下问题如何解决?ORA-24324: 未初始化服务句柄 ORA-24323: 不允许此值 ORA-01090: 正在关闭 - 不允许连接3、如何把数据库从nomount状态改为mount状态?alter database mount;。
Oracle 数据库实验报告

Oracle 数据库实验报告
一、实验目的
1、了解在Windows下安装Oracle 11g需要满足的软、硬件要求。
2、熟悉Oracle 11g在Windows下的安装步骤。
3、熟练掌握Oracle数据库配置工具及网络配置工具。
4、熟悉PL/SQL Developer环境,熟练掌握其操作方法。
5、掌握PL/SQL Developer环境下表的定义、数据的操作及表的导入/导出。
二、实验内容及过程
用SQL语言创建student,course,sc表,如下图:
表格如下图所示:
三.录入实验数据
四.修改表中的逻辑结构
(1)在Course表中添加课程所在学院列,列名为Dept,类型为varchar2(20),自己为Dept属性列添加数据。
(2)在Sudent表中为sex属性列添加取值只能为“男”或“女”的约束。
五.数据删除操作
(1)删除Sudent表中的某一行数据,看能否删除,分析出现的错误信息,找出原因并写入实验报告。
(2)删除SC表中的某一行数据,看能否删除,想想为什么可以删除,在实验
报告中分析原因。
在sc表中可以删除,因为在sc表中sno是外键,删除不会对主键产生影响。
六.创建的三张表通过PL/SQL Developer提供的导出表功能将其导出。
七.实验总结
实验,了解了oracle11g在windows条件下的安装步骤,掌握了 oracle数据库配置工具及网络配置工具,掌握PL/SQL Developer环境下表的定义、数据的操作及表的导入/导出。
并了解了对表的修改及删除等操作,最后将创建的表导出。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南林业科技大学实验报告课程名称:Oracle数据库专业班级:姓名:学号:年月日实验一安装和使用Oracle数据库【实验目的】1.掌握Oracle软件安装过程,选择安装组件2.掌握建立Oracle数据库,配置网络连接3.掌握Oracle企业管理器的基本操作4.使用SQL*Plus,登录到实例和数据库5.掌握命令方式的关闭和启动实例及数据库【实验内容】1.查看已安装的Oracle组件2.查看服务,记录下和数据库有关的服务名,将他们设为手动方式,启动相关服务。
3.配置监听器,查看是否在服务中有LISTENER,是否能启动。
4.配置本地net服务,提示:设置正确的服务器地址和端口号。
5.打开SQL*Plus,用SYS和SYSTEM用户名和密码登录。
6.思考题:有几种打开SQL*Plus的方法?分别是什么?7.用命令关闭实例和数据库,记录命令8.用命令以NOMOUNT的方式启动实例,再加载数据库,打开数据库。
【实验结论】1.查看已安装的Oracle组件2.查看服务,记录下和数据库有关的服务名,将他们设为手动方式,启动相关服务。
3.配置监听器,查看是否在服务中有LISTENER,是否能启动。
4.配置本地net服务,提示:设置正确的服务器地址和端口号。
5.打开SQL*Plus,用SYS和SYSTEM用户名和密码登录。
6.思考题:有几种打开SQL*Plus的方法?分别是什么?(1)直接打开sql plus 即窗口方式(2)cmd 命令行方式(3)WEB 页面中iSQL*Plus 方式7.用命令关闭实例和数据库,记录命令SQL>shutdown immediate8.用命令以NOMOUNT的方式启动实例,再加载数据库,打开数据库。
sql>startup nomountsql>alter database mount;sql>alter database open;sql>startup实验二体系结构、存储结构与各类参数【实验目的】1.理解Oracle体系结构2.了解初始化参数文件以及初始化参数的含义3.掌握查看三类数据字典视图和动态性能视图的方法【实验内容】1.如何查看初始化参数?有哪几种方法?2.初始化文件有几种?默认的保存位置在哪里?3.在SQL*Plus中查看数据字典和动态性能视图,完成下面题目将命令和结果写入实验报告。
(1)查看所有用户的用户名、默认表空间(dba_users)(2)查看SGA的信息视图,组成部分的大小分配信息(V$SGA)(3)查看v$session视图,列出SID,serial#,user#,machine, status各字段的信息4.打开OEM,查看三类物理文件信息5.分别用select命令查询V$parameter动态性能视图,用show命令查看全局数据库名、实例名、是否启动自动归档、标准数据块大小这四个参数的值,记录命令和结果。
6.如何用命令查看数据文件、控制文件的文件名、存储位置和状态信息?【实验结论】1. 如何查看初始化参数?有哪几种方法?(1).用SQLplus 命令:show parameters参数名(2).用select [列名] from 表名2.初始化文件有几种?默认的保存位置在哪里?初始化文件有三种:数据文件,日志文件,控制文件;默认的保存位置E:\oracle\product\10.2.0\oradata\orcl3.在SQL*Plus中查看数据字典和动态性能视图,完成下面题目将命令和结果写入实验报告。
(1)查看所有用户的用户名、默认表空间(dba_users)(2)查看SGA的信息视图,组成部分的大小分配信息(V$SGA)(3)查看v$session视图,列出SID,serial#,user#,machine, status各字段的信息4.打开OEM,查看三类物理文件信息三类物理文件:数据文件、控制文件、日志文件数据文件:.DBF存储表、索引及数据结构信息日志文件:.LOG记录对数据库的所有修改信息,用于恢复控制文件:.CTL二进制文件,记录数据库名、文件标识、检查点5.分别用select命令查询V$parameter动态性能视图,用show命令查看全局数据库名、实例名、是否启动自动归档、标准数据块大小这四个参数的值,记录命令和结果。
用select命令查询V$parameter动态性能视图用show命令查看全局数据库名、实例名用show命令查看是否启动自动归档、标准数据块大小6.如何用命令查看数据文件、控制文件的文件名、存储位置和状态信息?(1).查看数据文件的文件名、存储位置和状态信息(2).查看控制文件的文件名、存储位置和状态信息实验三Oracle数据库的创建和管理【实验目的】1.掌握Oracle数据库的创建方法2.使用DBCA创建数据库3.掌握命令方式手工创建数据库【实验内容】1.使用DBCA创建数据库,名为MYDB,找到其初始化文件(文本型和服务器型文件都要找到),查看各类默认位置并记录下来(包括物理文件所在目录,该数据库相关的各个目录等),登录到mydb数据库。
2.用命令方式手工创建数据库testorcl(1)创建批处理文件,建立必需的各级目录,参考第一题MYDB数据库的默认目录。
(2)创建初始化文件PFILE,由此创建SPFILE,并放到指定文件夹。
提示:pfile文件可以参考mydb数据库的pfile文件进行修改后另存。
(3)创建并启动实例testorcl,密码设为123,当前实例指向testorcl(4)运行数据库建立脚本,更改相关服务为手动启动方式(5)运行数据字典等创建脚本3.在DBCA中删除MYDB数据库。
【实验结论】1.使用DBCA创建数据库,名为MYDB,找到其初始化文件(文本型和服务器型文件都要找到),查看各类默认位置并记录下来(包括物理文件所在目录,该数据库相关的各个目录等),登录到mydb数据库。
2.用命令方式手工创建数据库testorcl(1)创建批处理文件,建立必需的各级目录,参考第一题MYDB数据库的默认目录。
(2)创建初始化文件PFILE,由此创建SPFILE,并放到指定文件夹。
提示:pfile文件可以参考mydb数据库的pfile文件进行修改后另存。
(3)创建并启动实例testorcl,密码设为123,当前实例指向testorcl(4)运行数据库建立脚本,更改相关服务为手动启动方式(5)运行数据字典等创建脚本3.在DBCA中删除MYDB数据库。
实验四SQL语言【实验目的】1.掌握在Oracle中添加示例方案的方法2.熟练掌握SQL语言的查询功能3.掌握SQL Plus常用命令【实验内容】一、需要访问HR示例方案中的表,如果机器上没有该示例方案,则运行相关包和相应配置装入HR方案。
1.将hr.rar解压到E:\oracle\product\10.2.0\db_1\demo\schema\human_resources目录下,然后在SQL*PLUS 中执行hr_main.sql 这个文件,以SYS用户登录执行。
即SQL>@E:\oracle\product\10.2.0\db_1\demo\schema\human_resources\hr_main.sql2.然后按提示依次输入如下:Specify passwordfor HR as parameter 1:Enter valuefor 1: hrSpecify default tablespeacefor HR as parameter 2:Enter valuefor 2: usersSpecify temporary tablespacefor HR as parameter 3:Enter valuefor 3: tempSpecify passwordfor SYS as parameter 4:Enter valuefor 4:runnerSpecify log path as parameter 5:Enter valuefor 5: D:\oracle\product\10.2.0\db_2\RDBMS\log二、完成下面的查询,记录查询命令和结果。
1.查询HR方案种有哪些表,列出表名2.设置行宽为160,每页行数为403.查询employees表中所有薪水在3000到6000元之间的员工编号、姓、名、受聘日期、工作代号、薪水、经理代号、部门号,按部门号升序排列,同一部门按员工编号降序排列4.查询每个部门的人数、平均薪水、最高薪水、最低薪水,按部门编号升序排列5.查询first_name的第三个字母是t的员工编号,first_name,电话号码,部门编号,部门名称6.在job_history表中查询任职时间超过1年的员工编号,任职历时月份(保留整数),工作代号,部门代号。
7.查询每个部门经理的员工编号、姓名、薪水、部门号。
【实验结论】一、需要访问HR示例方案中的表,如果机器上没有该示例方案,则运行相关包和相应配置装入HR方案。
1.将hr.rar解压到D:\oracle\product\10.2.0\db_2\demo\schema\human_resources目录下,然后在SQL*PLUS 中执行hr_main.sql 这个文件,以SYS用户登录执行。
即SQL>@D:\oracle\product\10.2.0\db_2\demo\schema\human_resou rces\hr_main.sql2.然后按提示依次输入如下:Specify passwordfor HR as parameter 1:Enter valuefor 1: hrSpecify default tablespeacefor HR as parameter 2: Enter valuefor 2: usersSpecify temporary tablespacefor HR as parameter 3: Enter valuefor 3: tempSpecify passwordfor SYS as parameter 4:Enter valuefor 4:runnerSpecify log path as parameter 5:Enter valuefor 5: D:\oracle\product\10.2.0\db_2\RDBMS\log二、完成下面的查询,记录查询命令和结果。
1.查询HR方案种有哪些表,列出表名2.设置行宽为160,每页行数为403.查询employees表中所有薪水在3000到6000元之间的员工编号、姓、名、受聘日期、工作代号、薪水、经理代号、部门号,按部门号升序排列,同一部门按员工编号降序排列4.查询每个部门的人数、平均薪水、最高薪水、最低薪水,按部门编号升序排列5.查询first_name 的第三个字母是t 的员工编号,first_name ,电话号码,部门编号,部门名称6.在job_history表中查询任职时间超过1年的员工编号,任职历时月份(保留整数),工作代号,部门代号。