oracle上机实验报告.docx

上传人:b****8 文档编号:9229702 上传时间:2023-02-03 格式:DOCX 页数:19 大小:209.44KB
下载 相关 举报
oracle上机实验报告.docx_第1页
第1页 / 共19页
oracle上机实验报告.docx_第2页
第2页 / 共19页
oracle上机实验报告.docx_第3页
第3页 / 共19页
oracle上机实验报告.docx_第4页
第4页 / 共19页
oracle上机实验报告.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

oracle上机实验报告.docx

《oracle上机实验报告.docx》由会员分享,可在线阅读,更多相关《oracle上机实验报告.docx(19页珍藏版)》请在冰豆网上搜索。

oracle上机实验报告.docx

oracle上机实验报告

ORACLE数据库上机实验报告

专业班级:

09计算机1班姓名:

付向飞学号:

实验一创建数据库和表

目的与要求

(1)了解数据库的结构以及一些基本概念

(2)了解表的结构特点

(3)了解oracle11g的基本数据类型

(4)学会使用DCBA创建数据库

(5)学会使用界面方式创建表

(6)学会使用SQL语句手工创建数据库

(7)学会使用SQL语句创建表

实验准备

首先要明确,能够创建数据库的用户必须是系统管理员,或是被授权使用CREATEDATABASE语句的用户。

其次创建数据库必须要确定数据名、所有者(即创建数据库的用户)、数据库大小、SGA分配和存储数据的文件。

然后,确定数据库包含哪些表以及所包含的各表的结构,还要了解oracle11g的常用数据类型,以创建数据库表。

此外还要了解两种常用的创建数据库、表的方法,即利用DCBA创建和使用PL/SQL的CREATEDATABASE语句创建。

实验内容

在scott用户中创建表

1,Employees(员工信息表)表

createtableEmployees

EmployeeIDchar(6)primarykey,

Namechar(10)notnull,

Birthdaydatenotnull,

Sexnumber

(1)notnull,

Addresschar(20),

Zipchar(6),

PhoneNumberchar(12),

DepartmentIDchar(3)notnull

);

查看创建后的Employees表

2,Departments(部门信息)表

createtableDepartments

DepartmentIDchar(3)primarykey,

DepartmentNamechar(20)notnull,

Notevarchar2(100)

);

查看创建后的Departments表

3,Salary(员工薪水情况)表

createtableSalary

EmployeeIdchar(6)primarykey,

InComenumber(8,2)notnull,

OutComenumber(8,2)notnull

);

查看创建后的Salary表

实验二表数据插入,修改和删除

目的与要求

(1)学会使用PL/SQL语句对数据库表进行插入,修改,和删除数据的操作

(2)学会使用SQLDeveloper对数据库表进行,修改,和删除数据的操作

(3)了解数据库更新操作时要注意数据完整性

(4)了解PL/SQl语句对表数据操作的灵活控制功能

实验准备

首先了解对表数据的插入、删除、修改都属于表数据的更新操作。

对表数据的操作可以在SQLDeveloper中进行,也可以由PL/SQL语句实现。

其次要掌握PL/SQL中用于对表数据进行插入、修改和删除的命令分别是INSERT、UPDATE和DELETE(或TRANCATETABLE)。

要特别注意在执行插入、删除、修改等数据更新操作时,必须保证数据完整性。

此外,还要了解使用PL/SQL语句在对表数据进行插入、修改、及删除时,比在SQLDeveloper中操作表数据更灵活,功能更强大。

实验内容

一在表中插入数据

1,在Employees表中插入数据

insertintoEmployeesvalues('','王林',to_date('1966-01-23','YYYY-MM-DD'),1,'中山路32-1-508','','','2');

insertintoEmployeesvalues('','伍容华',to_date('1976-03-28','YYYY-MM-DD'),1,'北京东路100-2','','','1');

insertintoEmployeesvalues('','王向容',to_date('1982-12-09','YYYY-MM-DD'),1,'四牌楼10-0-108','','','1');

insertintoEmployeesvalues('','李丽',to_date('1960-07-30','YYYY-MM-DD'),0,'中山东路102-2','','','1');

insertintoEmployeesvalues('','刘明',to_date('1972-10-18','YYYY-MM-DD'),1,'虎距路100-2','','','5');

insertintoEmployeesvalues('','朱俊',to_date('1965-09-28','YYYY-MM-DD'),1,'牌楼巷5-3-106','','','5');

insertintoEmployeesvalues('','钟敏',to_date('1979-08-10','YYYY-MM-DD'),0,'中山路103-3-105','','','3');

insertintoEmployeesvalues('','张石兵',to_date('1974-10-01','YYYY-MM-DD'),1,'解放路34-1-203','','','5');

insertintoEmployeesvalues('','林涛',to_date('1977-04-02','YYYY-MM-DD'),1,'中山北路24-35','','','3');

insertintoEmployeesvalues('','李玉珉',to_date('1968-09-20','YYYY-MM-DD'),1,'热河路209-3','','','4');

insertintoEmployeesvalues('','叶凡',to_date('1978-11-18','YYYY-MM-DD'),1,'北京西路3-7-52','','','4');

insertintoEmployeesvalues('','陈林林',to_date('1969-09-03','YYYY-MM-DD'),0,'汉中路120-4-12','','','4');

查看插入数据后的Employees表

2,在Departments表中插入数据

insertintoDepartmentsvalues('1','财务部','null');

insertintoDepartmentsvalues('2','人力资源部','null');

insertintoDepartmentsvalues('3','经理办公室','null');

insertintoDepartmentsvalues('4','研发部','null');

insertintoDepartmentsvalues('5','市场部','null');

查看插入数据后的Departments表

3,在Salary表中插入数据

insertintoSalaryvalues('',2100.8,123.09);

insertintoSalaryvalues('',1582.62,88.03);

insertintoSalaryvalues('',2569.88,185.65);

insertintoSalaryvalues('',1987.01,79.58);

insertintoSalaryvalues('',2066.15,108.0);

insertintoSalaryvalues('',2980.7,210.2);

insertintoSalaryvalues('',3259.98,281.52);

insertintoSalaryvalues('',2860.0,198.0);

insertintoSalaryvalues('',2347.68,180.0);

insertintoSalaryvalues('',2531.98,199.08);

insertintoSalaryvalues('',2240.0,121.0);

insertintoSalaryvalues('',1980.0,100.0);

查看插入数据后的Salary表

二在表中修改数据

例如:

修改表Salary中某个记录的字段值

updateSalarysetINCOME=2890.5whereEmployeeID='';

查看修改后的数据

三在表中删除数据

例如:

删除表Salary中一行记录

deletefromSalarywhereEmployeeID='';

查看删除后的数据

 

实验三数据库的查询和视图

目的与要求

(1)掌握SELECT语句的基本语法

(2)掌握子查询的表示方法

(3)掌握连接查询的表示方法

(4)掌握数据汇总的方法

(5)掌握SELECT语句的GROUPBY子句的作用和使用方法

(6)掌握SELECT语句ORDERBY子句的作用和使用方法

(7)掌握视图的使用方法

实验准备

(1)了解SELECT语句的基本语法格式和执行方法

(2)了解子查询的表示方法、连接查询和数据汇总的方法

(3)了解SELECT语句的GROUPBY子句的作用和使用方法

(4)了解SELECT语句的ORDERBY子句的作用

(5)了解视图的作用和创建视图的方法

(6)了解视图的使用方法

实验内容

1,select语句的基本使用

(1)查询Employees表

select*fromEmployees;

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

selectAddress,PhoneNumberfromEmployees;

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

selectAddress,PhoneNumberfromEmployeeswhereEmployeeID='';

(4)查询Employees表中所有女雇员的地址和电话

selectAddress地址,PhoneNumber电话fromEmployeeswheresex=0;

(5)计算每个雇员的实际收入

selectEmployeeID,InCome-OutCome实际收入fromSalary;

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

selectDepartmentIDfromEmployeeswhereNamelike'王%';

(7)找出所有收入在2000元到3000元之间的雇员号码

selectEmployeeIDfromSalarywhereInComebetween2000and3000;

2,子查询使用

查找在财务部工作的雇员情况

select*fromEmployees

whereDepartmentID=(

selectDepartmentIDfromDepartments

whereDepartmentName='财务部'

);

3,连接子查询的使用

查询每个雇员的情况以及薪水情况

select*

fromEmployeesejoinSalarys

on(e.EmployeeID=s.EmployeeID);

4,数据汇总

求财务部雇员的平均收入

selectavg(InCome)财务部平均工资fromSalary

whereEmployeeIDin

(selectEmployeeIDfromEmployees

whereDepartmentID=

(selectDepartmentIDfromDepartments

whereDepartmentName='财务部'

);

5,groupby和orderby子句的使用

(1)求各部门的雇员数

selectcount(DepartmentID)fromEmployeesgroupbyDepartmentID;

(2)将各雇员的情况按收入由低到高排序

select*fromEmployeesejoinSalarys

on(e.EmployeeID=s.EmployeeID)

orderbyInComeasc;

6,使用视图

(1)创建视图

限制查看雇员的某些情况

createorreplaceviewcx_employeesas

selectEmployeeID,Name,Birthday,Sex,DepartmentID

fromEmployees;

查看创建好的视图

(2)使用视图

查询财务部雇员信息

select*fromcx_employees;

 

实验四索引和完整性

目的与要求

(1)掌握索引的使用方法

(2)掌握数据完整性的概念及分类

(3)掌握各种数据完整性的实现方法

实验准备

(1)了解索引的作用与分类

(2)掌握索引的创建

(3)理解数据完整性的概念及分类

(4)了解各种数据完整性的实现方法

实验内容

1,建立索引

对数据库中Employees表的DepartmentID列建立索引

createindexPK_XS_BAKonEmployees(DepartmentID);

2,实现域完整性

为Employees表的PhoneNumber列建立check约束.

altertableEmployees

add(constraintCH_PHONECHECK(PhoneNumberbetween'0'and'9'));

3,实现实体完整性

为Departments表的DepartmentName列建立唯一性索引

altertableDepartments

add(constraintUN_Departmentsunique(DepartmentName));

4,实现参照完整性

为Employees表中的DepartmentID列建立外键

altertableEmployees

add(constraintFK_EmployeesFOREIGNKEY(DepartmentID)

referencesDepartments(DepartmentID));

 

实验五PL/SQL编程

目的与要求

(1)进一步巩固第二章和第四章所学的内容

(2)掌握变量的分类及其使用

(3)掌握各种运算符的使用

(4)掌握各种控制语句的使用

(5)掌握系统函数及用户自定义函数的使用

实验准备

(1)了解PL/SQL支持的各种基本数据类型

(2)了解PL/SQL各种运算符、控制语句的功能及使用方法

(3)了解系统函数的调用方法

(4)了解用户自定义函数使用的一般步骤

实验内容

1,条件结构的使用

取出7369的薪水,如果<1200,则输出'low',如果<2000则输出'middle',否则'high'

declare

v_salemp.sal%type;

begin

selectsalintov_salfromemp

whereempno=7369;

if(v_sal<1200)then

dbms_output.put_line('low');

elsif(v_sal<2000)then

dbms_output.put_line('middle');

else

dbms_output.put_line('high');

endif;

end;

/

2,循环结构的使用

输出1到10

declare

ibinary_integer:

=1;

begin

loop

dbms_output.put_line(i);

i:

=i+1;

exitwhen(i>=11);

endloop;

end;

3,选择和跳转语句

declare

v_deptnodept.deptno%type;

v_dnamedept.dname%type;

begin

selectdeptnointov_deptnofromdeptwhereloc='BOSTON';

casev_deptno

when10thenv_dname:

='accounting';

when20thenv_dname:

='research';

when30thenv_dname:

='sales';

when40thenv_dname:

='operations';

else

v_dname:

='Nothing';

endcase;

dbms_output.put_line(v_dname);

end;

4,自定义函数的使用

定义函数

createorreplacefunctionsal_tax

(v_salnumber)

returnnumber

is

begin

if(v_sal<2000)then

return0.10;

elsif(v_sal<2750)then

return0.15;

else

return0.20;

endif;

end;

使用函数

selectlower(ename),sal_tax(sal)fromemp;

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1