oracle结课总结Word文件下载.docx

上传人:b****5 文档编号:16478197 上传时间:2022-11-24 格式:DOCX 页数:22 大小:1.50MB
下载 相关 举报
oracle结课总结Word文件下载.docx_第1页
第1页 / 共22页
oracle结课总结Word文件下载.docx_第2页
第2页 / 共22页
oracle结课总结Word文件下载.docx_第3页
第3页 / 共22页
oracle结课总结Word文件下载.docx_第4页
第4页 / 共22页
oracle结课总结Word文件下载.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

oracle结课总结Word文件下载.docx

《oracle结课总结Word文件下载.docx》由会员分享,可在线阅读,更多相关《oracle结课总结Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。

oracle结课总结Word文件下载.docx

og’)SIZE5M;

5、将数据库设置为归档模式,并采用自动归档方式。

SHUTDOWNIMMEDIATE

STARTUPMOUNT

ALTERDATABASEARCHIVELOG;

ALTERDATABASEOPEN;

ALTERSYSTEMARCHIVELOGSTART

6、使用SQL命令创建一个本地管理方式下自动分区管理的表空间USERTBS1,其对应的数据文件大小为20MB

createtablespaceUSERTBS1

datafile'

d:

\oracle\oradata\orcl\usertbs1.dbf'

size50M

extentmanagementlocalautoallocate;

7、修改USERTBS1表空间的大小,将该表空间的数据文件改为自动扩展方式,最大值为100MB

alterdatabase

autoextendonnext5Mmaxsize100M;

8、使用SQL命令创建一个本地管理方式下的临时表空间TEMPTBS,并将该表空间作为当前数据库实例的默认临时表空间。

createtemporarytablespaceTEMPTBS

tempfile'

\oracle\oradata\orcl\temptbs.dbf'

size20M

extentmanagementlocaluniformsize16K;

9、使用SQL命令对USERTBS1表空间进行联机和脱机状态转换。

altertablespaceUSERTBS1offline;

altertablespaceUSERTBS1online;

10、删除表空间USERTBS2,同时删除该表空间的内容以及对应的操作系统文件。

droptablespaceUSERTBS2includingcontentsanddatafiles;

11、将数据库服务器设置为共享服务器模式(插入图片说明

12、将数据库服务器设置为专用服务器模式(插入图片说明)

13、利用OEM进行数据库的关闭与启动操作(插入图片说明)

14、利用OEM创建class、student两个表(插入图片说明)

列名

数据类型

约束

备注

CNO

NUMBER

(2)

主键

班号

CNAME

VARCHAR2(20)

班名

NUM

NUMBER(3)

人数

SNO

NUMBER(4)

学号

SNAME

VARCHAR2(10)

唯一

姓名

SAGE

NUMBER

年龄

SEX

CHAR

(2)

性别

CHO

(1)登陆界面及管理界面

(2)创建class表

(3)输入表信息

(4)添加约束条件

(5)查看表信息

(6)同样方法创建STUDENT表

15、创建一个口令认证的数据库用户usera_exer,口令为usera,默认表空间为users,配额为10MB,初始账户为锁定状态。

CREATEUSERusera_exerIDENTIFIEDBYuseraDEFAULTTABLESPACEUSERS

QUOTA10MONUSERSACCOUNTLOCK;

16、为usera_exer用户授予CREATESESSION权限、scott.emp的SELECT权限和UPDATE权限,同时允许该用户将获得的权限授予其它用户。

GRANTCREATESESSIONTOusera_exerWITHADMINOPTION;

GRANTSELECT,UPDATEONscott.empTOusera_exerWITHGRANTOPTION;

17、禁止用户usera_exer将获得的CREATESESSION权限再授予其它用户。

REVOKECREATESESSIONFROMusera_exer;

GRANTCREATESESSIONTOusera_exer;

18、创建角色rolea和roleb,将CREATETABLE权限、scott.emp的INSERT权限和DELETE权限授予rolea;

将CONNECT、RESOURCE角色授予roleb。

答:

CREATEROLErolea;

CREATEROLEroleb;

GRANTCREATETABLETOrolea;

GRANTINSERT,UPDATEONscott.empTOrolea;

GRANTCONNECT,RESOURCETOroleb;

19、将角色rolea,roleb授予用户usera_exer。

GRANTrolea,rolebTOusera_exer;

20、屏蔽用户user_exer的roleb角色。

ALTERUSERusera_exerDEFAULTROLEALLEXCEPTroleb;

21、在oem中,为用户usera_exer创建一个概要文件,限定该用户的最长会话时间为30分钟,如果连续10分钟空闲,则结束会话。

同时限定其口令有效期为20天,连续登录4次失败后将锁定账户,10天后自动解锁。

(插入图片说明)

22、在oem中,对数据库进行完全备份(插入图片说明)。

23、在OEM中,对表空间USERS进行备份。

24、运行P323页脚本文件,完成P324页

(1)

(2)小题,要求写出相对应有SQL语句。

(1)

INSERTINTOBOOKVALUES('

100001'

'

冶金工业出版社'

李代平'

'

TO_DATE('

2003-01-01'

YYYY-MM-DD'

),38);

100002'

Oracle9i中文版入门与提高'

赵松涛'

人民邮电出版社'

2002-07-01'

),35);

100003'

Oracle9i开发指南:

PL/SQL程序设计'

JoanCasteel'

电子工业出版社'

2004-04-03'

),49);

100004'

数据库原理辅助与提高'

盛定宇'

2004-03-01'

),34);

100005'

Oracle9i中文版实用培训教程'

赵伯山'

2002-01-01'

),21);

100006'

Oracle8实用教程'

翁正科等'

2003-07-08'

INSERTINTOREADERVALUES('

200001'

张三'

);

200002'

李凤'

200003'

孟欣'

200004'

谢非'

200005'

刘英'

INSERTINTOBORROWVALUES('

TO_DATE('

2004-08-1010:

06:

14'

YYYY-MM-DDHH:

MI:

SS'

));

27'

36'

48'

58'

(2)

①SELECTNO,TITLEFROMBOOK;

②SELECTNO,TITLE,AUTHORFROMBOOKWHEREPUBLISH='

③SELECT*FROMBOOKWHEREPRICE>

40;

④SELECTPUBLISH,COUNT(*)FROMBOOKGROUPBYPUBLISH;

⑤SELECT*FROMBOOKWHEREAUTHORLIKE'

赵%'

⑥SELECTRNAME,TITLE,BORROW_DATEFROMBOOK,READER,BORROWWHERE

BOOK.NO=BORROW.NOANDREADER.RNO=BORROW.RNO;

⑦INSERTINTOBOOKVALUES('

10000007'

Java网络编成'

李程等'

2000-08-01'

⑧UPDATEBOOKSETPRICE=29WHERENO='

100007'

;

⑨DELETEFROMBOOKWHERENO='

⑩SELECTBOOK.NO,TITLE,RNAMEFROMBOOK,READER,BORROWWHERE

25、完成P324页,2.根据oracle数据库scott模式下的emp表和dept表,完成下列操作

(1)~(65)要求写出每小题相对应的sql语句。

1查询20号部门的所有员工信息。

Select*fromempwheredeptno=20;

2查询所有工种为CLERK的员工的员工号、员工名和部门号。

Selectempno,ename,deptnofromempwherejob=’CLERK’;

3查询奖金(COMM)高于公子(SAL)的员工信息。

Select*fromempwherecomm>

sal;

4查询奖金高于工资的20%的员工信息。

Select*fromempwherecomm.>

sal*0.2;

5查询10号部门中工种为Manager和20号部门中工种为CLERK的员工信息。

Select*fromempwhere(job=’Manager’anddeptno=10)or(job=’CLERK’anddeptno=20);

6查询所有工种不是Manager和CLERK,且工资大于或等于2000的员工的详细信息。

Select*fromempwhere(job!

='

MANAGER'

orjob='

CLERK'

)andsal>

=2000;

7查询有奖金的员工的不同工种。

Selectjobfromempwherecomm.>

0groupbyjob;

8查询所有员工工资与奖金的和。

Selectename,sal+nvl(comm,0)fromemp;

9查询没有奖金或奖金低于100的员工信息。

Select*fromempwhere(commisnull)orcomm<

100;

10查询各月倒数第二天入职的员工信息。

Selectename,hiredatefromempwherelast_day(hiredate)-hiredate=1;

11查询工龄大于或等于10年的员工信息。

Select*fromempwheremonths_between(sysdate,hiredate)/25/12>

=1;

12查询员工信息,要求以首字母大写的方式显示所有员工的姓名。

Selectinitcap(ename)fromemp;

13查询员工名正好为6个字符的员工的信息。

Selectenamefromempwherelength(ename)=6;

14查询员工名字中不包含字母“S”的员工。

Select*fromempwhereenamenotlike'

%S%'

15查询员工姓名的第二个字母为“M”的员工信息。

Select*fromempwhereenamelike'

_M%'

16查询所有员工姓名的前三个字符

Selectsubstr(ename,1,3)fromemp;

17查询所有员工的姓名,如果包含字母s,则用“S”代替。

Selectreplace(ename,'

s'

S'

)fromemp;

18查询员工的姓名个和入职日期,并按入职日期从先到后进行排序。

Selectename,hiredatefromemporderbyhiredate;

19显示所有员工的姓名、工种、工资和奖金,按工种降序排序,若工种相同则按工资升序排序。

Selectename,job,sal,commfromemporderbyjobdesc,sal;

20显示所有员工的姓名、入职的年份和月份,按入职日期所在的月份排序,若月份相同则按入职的年份排序。

Selectename,to_char(hiredate,'

yyyy'

)year,to_char(hiredate,'

mm'

)monthfromemp;

21查询在2月份入职的员工信息

Select*fromempwhereto_char(hiredate,'

)=2;

22查询所有员工入职以来的工作年限,用**年**月**日的形式表示。

Selectename,(trunc((sysdate-hiredate)/365)||'

年'

||trunc(mod((sysdate-hiredate),365)/30)||'

月'

||Trunc(mod(mod((sysdate-hiredate),365),30))||'

日'

)daysfromemp;

23查询至少有一个员工的部门信息。

Select*fromdeptwheredeptnoin(selectdeptnofromemp);

24查询工资比SMITH员工工资高的所有员工信息。

Select*fromdeptwheredeptnoin(selectdeptnofromempwhereename='

SMITH'

25查询所有员工的姓名及其直接上级的姓名。

Selecta.ename,b.enamefromempa,empbwherea.mgr=b.empno;

26查询入职日期早于其直接领导的所有员工的信息。

Selecta.*,b.*fromempa,empbwherea.mgr=b.empnoanda.hiredate<

b.hiredate;

27查询所有部门及其员工的信息,包括那些没有员工的部门。

Selecta.*,b.*fromempa,deptbwherea.deptno(+)=b.deptno;

28查询所有员工及其部门信息,包括那些还不属于任何部门的员工。

Selecta.*,b.*fromempa,deptbwherea.deptno=b.deptno(+)

Selectename,empno,sal,dept.deptno,dname,loc

fromemprightjoindeptonemp.deptno=dept.deptno;

29查询所有工种为CLERK的员工的姓名及其部门名称。

Selectename,dnamefromemp,deptwherejob='

andemp.deptno=dept.deptno;

30查询最低工资大于2500的各种工作。

Selectjob,min(sal)fromempgroupbyjobhavingmin(sal)>

2500;

31查询平均工资低于2000的部门及其员工信息。

Selecta.*,b.*fromempa,deptbwherea.deptnoin(

Selectdeptnofromemphavingavg(sal)<

2000groupbydeptno)anda.deptno=b.deptno;

32查询在SALES部门工作的员工的姓名信息。

Selectenamefromempwheredeptno=(selectdeptnofromdeptwheredname='

SALES'

33查询工资高于公司平均工资的所有员工信息。

Select*fromempwheresal>

(selectavg(sal)fromemp);

34查询与SMITH员工从事相同工作的所有员工信息。

Sselect*fromempwherejob=(selectjobfromempwhereename='

35列出工资等于30号部门中某个员工工资的所有员工的姓名和工资。

Selectename,salfromempwheresalin(selectsalfromempwheredeptno=30);

36查询工资高于30号部门中工作的所有员工的工资的员工姓名和工资。

Selectename,salfromempwheresal>

all(selectsalfromempwheredeptno=30);

37查询每个部门中的员工数量、平均工资和平均工作年限。

Selectcount(*),avg(sal),avg(sysdate-hiredate)fromempgroupbydeptno;

38查询从事同一种工作但不属于同一部门的员工信息。

Selectworker.ename,worker.empno,worker.sal,manager.ename,manager.empno,manager.salfromempworkerleftjoinempmanageronworker.mgr=manager.empno;

39查询各个部门的详细信息以及部门人数、部门平均工资。

Selecta.*,b.*fromdepta,(selectdeptno,count(*),avg(sal)fromempgroupbydeptno)bwherea.deptno=b.deptno;

40查询各种工作的最低工资。

Selectjob,min(sal)fromempgroupbyjob;

41查询各个部门中不同工种的最高工资。

Selectdeptno,job,max(sal)fromempgroupbydeptno,job;

42查询10号部门员工及其领导的信息。

Selecta.*,b.*fromempa,empbwherea.mgr=b.empnoanda.deptno=10;

43查询各个部门的人数及其平均工资。

Selectcount(*),avg(sal)fromempgroupbydeptno;

44查询工资为某个部门平均工资的员工信息。

Select*fromempwheresal=any(selectavg(sal)fromempgroupbydeptno);

45查询工资高于本部门平均工资的员工的信息。

Select*fromempewheree.sal>

(selectavg(sal)

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

当前位置:首页 > IT计算机 > 计算机硬件及网络

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

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