当前位置:文档之家› oracle结课总结

oracle结课总结

oracle结课总结
oracle结课总结

Oracle数据库课程

报告

院系软件学院

专业软件工程

班级

学生姓名

学号

任课教师

2012 年5月14日

1、为users表空间添加一个数据文件,文件名为users03.dbf,大小为50MB

答:ALTER TABLESPACE USER

ADD DATAFILE ‘D:\ORACLE\ORADATA\ORCL\userdata03.dbf’ SIZE 50M’;

2、为EXAMPLE表空间添加一个数据文件,文件名为example02.dbf,大小为20M

答:ALTER TABLESPACE EXAMPLE

ADD DATAFILE ‘D:\ORACLE\ORADATA\ORCL\example02.dbf’ SIZE 20M’;

3、将表空间USERS中的数据文件USERS03.DBF更名为userdata04.dbf,将表空间EXAMPLE中的数据文件example03.dbf更名为example04.dbf

答:SHUTDOWN IMMEDIATE;

在操作系统中重命名userdata03.dbf、example03.dbf 分别为userdata04.dbf、example04.dbf STARTUP MOUNT;

ALTER DATABASE RENAME FILE ‘D:\ORACLE\ORADATA\ORCL\userdata03.dbf’,

‘D:\ORACLE\ORADATA\ORCL\example03.dbf’ TO

‘D:\ORACLE\ORADATA\ORCL\u serdata04.dbf’,

‘D:\ORACLE\ORADATA\ORCL\example04.dbf’;

4、为数据库添加一个重做日志文件组,组内包含两个成员文件,分别为redo4a.log和redo4b.log,大小分别为5MB。

答:ALTER DATABASE ADD LOGFILE GROUP 4

(‘D:\ORACLE\ORADATA\ORCL\redo04a.log’,’D:\ORACLE\ORADATA\ORCL\redo04b.l

og’)SIZE 5M;

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

答:SHUTDOWN IMMEDIATE

STARTUP MOUNT

ALTER DATABASE ARCHIVELOG;

ALTER DATABASE OPEN;

ALTER SYSTEM ARCHIVE LOG START

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

答:create tablespace USERTBS1

datafile 'd:\oracle\oradata\orcl\usertbs1.dbf' size 50M

extent management local autoallocate;

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

答:alter database

datafile 'd:\oracle\oradata\orcl\usertbs1.dbf'

autoextend on next 5M maxsize 100M;

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

答:create temporary tablespace TEMPTBS

extent management local uniform size 16K;

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

答:alter tablespace USERTBS1 offline;

alter tablespace USERTBS1 online;

10、删除表空间USERTBS2,同时删除该表空间的内容以及对应的操作系统文件。答:drop tablespace USERTBS2 including contents and datafiles;

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

答:

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

答:

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

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

列名数据类型约束备注CNO NUMBER(2) 主键班号CNAME V ARCHAR2(20) 班名NUM NUMBER(3) 人数

列名数据类型约束备注SNO NUMBER(4) 主键学号SNAME V ARCHAR2(10) 唯一姓名SAGE NUMBER 年龄SEX CHAR(2) 性别CHO NUMBER(2) 班号答:(1)登陆界面及管理界面

(2)创建class表

(3)输入表信息

(4)添加约束条件

(5)查看表信息

(6)同样方法创建STUDENT表

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

答:CREATE USER usera_exer IDENTIFIED BY usera DEFAULT TABLESPACE USERS QUOTA 10M ON USERS ACCOUNT LOCK;

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

答:GRANT CREATE SESSION TO usera_exer WITH ADMIN OPTION;

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

答:REVOKE CREATE SESSION FROM usera_exer;

GRANT CREATE SESSION TO usera_exer;

18、创建角色rolea和roleb,将CREATE TABLE权限、scott.emp的INSERT权限和DELETE权限授予rolea;将CONNECT、RESOURCE角色授予roleb。

答:CREATE ROLE rolea;

CREATE ROLE roleb;

GRANT CREATE TABLE TO rolea;

GRANT INSERT,UPDA TE ON scott.emp TO rolea;

GRANT CONNECT ,RESOURCE TO roleb;

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

答:GRANT rolea,roleb TO usera_exer;

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

答:ALTER USER usera_exer DEFAULT ROLE ALL EXCEPT roleb;

21、在oem中,为用户usera_exer创建一个概要文件,限定该用户的最长会话时间为30分钟,如果连续10分钟空闲,则结束会话。同时限定其口令有效期为20天,连续登录4次失败后将锁定账户,10天后自动解锁。(插入图片说明)

答:

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

23、在OEM中,对表空间USERS进行备份。(插入图片说明)答:

24、运行P323页脚本文件,完成P324页(1)(2)小题,要求写出相对应有SQL语句。

答:(1)

INSERT INTO BOOK VALUES('100001','冶金工业出版社','李代平',

'冶金工业出版社',TO_DATE('2003-01-01','YYYY-MM-DD'),38);

INSERT INTO BOOK VALUES('100002','Oracle9i 中文版入门与提高','赵松涛', '人民邮电出版社',TO_DATE('2002-07-01','YYYY-MM-DD'),35);

INSERT INTO BOOK VALUES('100003','Oracle9i 开发指南:PL/SQL 程序设计', 'Joan Casteel','电子工业出版社',TO_DATE('2004-04-03','YYYY-MM-DD'),49);

INSERT INTO BOOK VALUES('100004','数据库原理辅助与提高','盛定宇',

'电子工业出版社',TO_DATE('2004-03-01','YYYY-MM-DD'),34);

INSERT INTO BOOK VALUES('100005','Oracle9i 中文版实用培训教程','赵伯山', '电子工业出版社',TO_DATE('2002-01-01','YYYY-MM-DD'),21);

INSERT INTO BOOK VALUES('100006','Oracle8 实用教程','翁正科等',

'电子工业出版社',TO_DATE('2003-07-08','YYYY-MM-DD'),38);

INSERT INTO READER VALUES('200001','张三');

INSERT INTO READER VALUES('200002','李凤');

INSERT INTO READER VALUES('200003','孟欣');

INSERT INTO READER VALUES('200004','谢非');

INSERT INTO READER VALUES('200005','刘英');

INSERT INTO BORROW VALUES('100001','200001',

TO_DATE('2004-08-10 10:06:14','YYYY-MM-DD HH:MI:SS'));

INSERT INTO BORROW VALUES('100002','200002',

TO_DATE('2004-08-10 10:06:27','YYYY-MM-DD HH:MI:SS'));

INSERT INTO BORROW VALUES('100003','200003',

TO_DATE('2004-08-10 10:06:36','YYYY-MM-DD HH:MI:SS'));

INSERT INTO BORROW VALUES('100004','200004',

INSERT INTO BORROW VALUES('100005','200005',

TO_DATE('2004-08-10 10:06:58','YYYY-MM-DD HH:MI:SS'));

(2)

①SELECT NO,TITLE FROM BOOK;

②SELECT NO,TITLE,AUTHOR FROM BOOK WHERE PUBLISH='电子工业出版社'

③SELECT * FROM BOOK WHERE PRICE>40;

④SELECT PUBLISH,COUNT(*) FROM BOOK GROUP BY PUBLISH;

⑤SELECT * FROM BOOK WHERE AUTHOR LIKE '赵%'

⑥SELECT RNAME,TITLE,BORROW_DATE FROM BOOK,READER,BORROW WHERE

BOOK.NO=BORROW.NO AND READER.RNO=BORROW.RNO;

⑦INSERT INTO BOOK VALUES('10000007','Java 网络编成','李程等',

'电子工业出版社',TO_DATE('2000-08-01','YYYY-MM-DD'),35);

⑧UPDATE BOOK SET PRICE=29 WHERE NO='100007';

⑨DELETE FROM BOOK WHERE NO='10000007'

⑩SELECT BOOK.NO,TITLE,RNAME FROM BOOK,READER,BORROW WHERE

BOOK.NO=BORROW.NO AND READER.RNO=BORROW.RNO;

25、完成P324页,2.根据oracle数据库scott模式下的emp表和dept表,完成下列操作(1)~(65)要求写出每小题相对应的sql语句。

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

Select * from emp where deptno=20;

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

Select empno,ename,deptno from emp where job=’CLERK’;

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

Select * from emp where comm>sal;

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

Select * from emp where comm.>sal*0.2;

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

Select * from emp where (job=’Manager’and deptno=10) or (job=’CLERK’and deptno=20);

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

Select * from emp where (job!= 'MANAGER' or job= 'CLERK') and sal>=2000;

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

Select job from emp where comm.>0 group by job;

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

Select ename,sal+nvl(comm,0) from emp;

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

Select * from emp where (comm is null) or comm< 100;

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

Select ename,hiredate from emp where last_day(hiredate)-hiredate=1;

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

Select * from emp where months_between(sysdate,hiredate)/25/12>=1;

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

Select initcap(ename) from emp;

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

Select ename from emp where length(ename)=6;

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

Select * from emp where ename not like '%S%';

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

Select * from emp where ename like '_M%';

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

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

Select replace(ename,'s','S') from emp;

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

Select ename,hiredate from emp order by hiredate ;

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

Select ename,job,sal,comm from emp order by job desc,sal;

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

Select ename,to_char(hiredate,'yyyy') year,to_char(hiredate,'mm') month from emp ;

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

Select * from emp where to_char(hiredate,'mm')=2;

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

Select ename, (trunc((sysdate-hiredate)/365)|| '年'||trunc(mod((sysdate-hiredate),365)/30)||'月' ||Trunc(mod(mod((sysdate-hiredate),365),30))||'日') days from emp;

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

Select * from dept where deptno in(select deptno from emp);

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

Select * from dept where deptno in(select deptno from emp where ename='SMITH');

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

Select a.ename,b.ename from emp a, emp b where a.mgr=b.empno;

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

Select a.*,b.* from emp a,emp b where a.mgr=b.empno and a.hiredate

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

Select a.*,b.* from emp a,dept b where a.deptno(+)=b.deptno;

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

Select a.*,b.* from emp a,dept b where a.deptno=b.deptno(+)

Select ename,empno,sal,dept.deptno,dname,loc

from emp right join dept on emp.deptno=dept.deptno;

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

Select ename,dname from emp,dept where job='CLERK' and emp.deptno=dept.deptno;

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

Select job,min(sal) from emp group by job having min(sal)>2500;

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

Select a.*,b.* from emp a,dept b where a.deptno in(

Select deptno from emp having avg(sal)<2000 group by deptno) and a.deptno=b.deptno;

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

Select ename from emp where deptno=(select deptno from dept where dname='SALES');

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

Select * from emp where sal >(select avg(sal)from emp);

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

Sselect * from emp where job=(select job from emp where ename='SMITH');

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

Select ename,sal from emp where sal in(select sal from emp where deptno=30);

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

Select ename,sal from emp where sal >all(select sal from emp where deptno=30);

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

Select count(*),avg(sal),avg(sysdate-hiredate) from emp group by deptno;

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

Select worker.ename,worker.empno,worker.sal,manager.ename,manager.empno,manager.sal from emp worker left join emp manager on worker.mgr=manager.empno;

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

a.deptno=

b.deptno;

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

Select job,min(sal) from emp group by job;

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

Select deptno,job,max(sal) from emp group by deptno,job;

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

Select a.*,b.* from emp a,emp b where a.mgr=b.empno and a.deptno=10;

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

Select count(*) ,avg(sal) from emp group by deptno;

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

Select * from emp where sal = any(select avg(sal) from emp group by deptno);

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

Select * from emp e where e.sal > (select avg(sal) from emp where deptno=e.deptno);

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

Select e.* ,(select avg(sal) from emp where deptno=e.deptno) from emp e

where sal>(select avg(sal) from emp where deptno=e.deptno);

47查询工资高于20号部门某个员工工资的员工信息。

Select * from emp sal>any(select sal from emp where deptno=20);

48统计各个工种的员工人数与平均工资。

Select job,count(*),avg(sal) from emp group by job;

49统计每个部门中各工种的人数与平均工资。

Select deptno,job,count(*), avg(sal) from emp group by deptno,job;

50查询工资、奖金与10号部门某员工工资、奖金都相同的员工信息。

Select * from emp where (sal, nvl(comm.,0)) in (select sal,nvl(comm,0) from emp where deptno=10);

51查询部门人数大于5的部门的员工信息。

Select * from emp where deptno in (select deptno from emp group by deptno having count(*)>5) 52查询所有员工工资都大于2000的部门的信息。

Select * from dept where deptno not in (select deptno from emp where sal<2000);

53查询所有员工工资都大于2000的部门的信息及其员工信息。

Select dept.deptno,dname,loc,ename,empno,sal from emp ,dept

where emp.deptno=dept.deptno and deptno not in (select deptno from emp where sal<2000); 54查询所有员工工资都在2000∽3000之间的部门的信息。

Select * from dept where deptno not in

(select deptno from emp where sal not between 2000 and 3000);

55查询所有工资在2000∽3000之间的员工所在部门的员工的信息。

Select * from emp where deptno in (select distinct deptno from emp where sal between 2000 and 3000);

56查询每个员工的领导所在部门的信息。

Select detp.deptno,dname,loc from dept, emp worker,emp manager

where dept.deptno=manager.deptno and worker.mgr=manager.empno;

57查询人数最多的部门信息。

Select * from dept

where deptno in (select deptno from emp group by deptno having count(*)>=all(select max(count(*)) from emp group by deptno));

58查询30号部门中工资排序前3名的员工的信息。

Select rownum,a.* from(select * from scott.emp order by sal desc)a where rownum<=3 and deptno=30 order by sal desc;

59查询所有员工中工资排序在5∽10之间的员工的信息。

Select * from(select t.*,rank()over (partition by n order by sal) r

from (select '' as n,tt.* from scott.emp tt) t) where r>=5 and r<=10;

60查询SMITH员工及其所有直接、间接下属员工的信息。

(a.mgr=(select empno from scott.emp where ename='SMITH'))

or (a.empno=(select mgr from scott.emp where ename='SMITH'))

or (a.empno=(select empno from scott.emp where ename='SMITH'))

or (a.empno=(select mgr from scott.emp where empno=

(select mgr from scott.emp where ename='SMITH')));

61查询SCOTT员工及其直接、间接上级员工的信息。

Select * from scott.emp a where

a.empno=(select empno from scott.emp where ename='SCOTT')

or a.mgr=(select empno from scott.emp where ename='SCOTT')

or a.mgr=(select empno from scott.emp where mgr=

(select empno from scott.emp where ename='SCOTT' ));

62以树状结构查询所有员工与领导之间的层次关系。

Select lpad(' ',5*level-1)||empno EMPNO,lpad(' ',5*level-1)||ename ENAME from scott.emp start with empno=7839 connect by prior empno=mgr;

63向emp中插入一条记录,员工号为1357,员工名为Oracle,工资为2050,部门号为20,入职日期为2002年5月10日。

Insert into emp(empno,ename,sal,deptno,hiredate)

values(1357,’oracle’,2050,20,TO_DATE(‘2002-5-10’,’YYYY-MM-DD’);

64向emp中插入一条记录,员工号为8000,员工名为FAN,其他信息与SMITH员工的信息相同。

Insert into emp(ename,empno,mgr,job,hirdate,sal, comm.,deptno)

select ‘FAN’,8000,mgr,job,hirdate,sal,comm.,deptno from emp where ename=’SMITH’;

65将各个部门员工的工资修改为该员工所在部门平均工资加1000

Update scott.emp e set sal=1000+(select avg(sal) from scott.emp where deptno=e.deptno);

Oracle中分析函数用法小结

Oracle中分析函数用法小结 一.分析函数适用场景: ○1需要对同样的数据进行不同级别的聚合操作 ○2需要在表内将多条数据和同一条数据进行多次的比较 ○3需要在排序完的结果集上进行额外的过滤操作 二.分析函数语法: FUNCTION_NAME(,...) OVER () 例: sum(sal) over (partition by deptno order by ename) new_alias sum就是函数名 (sal)是分析函数的参数,每个函数有0~3个参数,参数可以是表达式,例如:sum(sal+comm) over 是一个关键字,用于标识分析函数,否则查询分析器不能区别sum()聚集函数和sum()分析函数 partition by deptno 是可选的分区子句,如果不存在任何分区子句,则全部的结果集可看作一个单一的大区 order by ename 是可选的order by 子句,有些函数需要它,有些则不需要.依靠已排序数据的那些函数,如:用于访问结果集中前一行和后一行的LAG和LEAD,必须使用,其它函数,如AVG,则不需要.在使用了任何排序的开窗函数时,该子句是强制性的,它指定了在计算分析函数时一组内的数据是如何排序的. 1)FUNCTION子句 ORACLE提供了26个分析函数,按功能分5类 分析函数分类 等级(ranking)函数:用于寻找前N种查询 开窗(windowing)函数:用于计算不同的累计,如SUM,COUNT,AVG,MIN,MAX等,作用于数据的一个窗口上 例: sum(t.sal) over (order by t.deptno,t.ename) running_total, sum(t.sal) over (partition by t.deptno order by t.ename) department_total 制表(reporting)函数:与开窗函数同名,作用于一个分区或一组上的所有列 例: sum(t.sal) over () running_total2, sum(t.sal) over (partition by t.deptno) department_total2 制表函数与开窗函数的关键不同之处在于OVER语句上缺少一个ORDER BY子句! LAG,LEAD函数:这类函数允许在结果集中向前或向后检索值,为了避免数据的自连接,它们是非常有用的. VAR_POP,VAR_SAMP,STDEV_POPE及线性的衰减函数:计算任何未排序分区的统计值 2)PARTITION子句 按照表达式分区(就是分组),如果省略了分区子句,则全部的结果集被看作是一个单一的组 3)ORDER BY子句

oracle学习

小型数据库:access,foxbase 中型数据库:mysql,sql server,informix 大型数据库:sybase,oracle,db2 该用什么数据库: 1.项目的规模: a.负载量多大,用户多大 b.成本 c.安全性 负载量小 100人,比如留言板,信息系统 成本1000元内,安全性要求不高(小型) 负载量5000--15000 成本在1W以内。比如商务网站(中型)负载可以处理海量数据,sybase

Oracle 安装会自动的生成sys用户和system用户 (1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认密码是manager (2)System用户是管理操作员,权限也很大,具有sysoper 角色,没有create database的权限。默认的密码是change_on_install (3)一般讲,对数据库维护,使用system用户登录就可以了 命令: conn user/pwd as SYSDBA.. show user passw 修改当前密码 alter user scott identfied by 1234 修改其他用户密码需要DBA权限 alter user scott account unlock; start和@:@d:\a.sql 或者 start d:\a.sql 运行sql脚本 edit d:\a.sql 可编辑sql脚本

Oracle实验报告

Oracle数据库实验报告 实验一:Oracle 10g安装卸载及相关工具配置 一、实验目标: 安装Oracle 10g,了解OEM,通过DBCA安装数据库,通过DBCA删除数据库,sqldeveloper连接数据库,卸载oracle 10g。 二、实验学时数 2学时 三、实验步骤和内容: 1、安装Oracle10g(默认安装数据库) 双击setup.exe, 选择基本安装,安装目录D:盘,标准版,默认数据库orcl,口令bhbh。 进入先决条件检查界面时:网络配置需求选项不用打勾,直接下一步,是。 直到安装成功。 2、登陆和了解OEM 主要是已网页的形式来对数据库进行管理。

http://主机IP:1158/em 用户名:sys 口令:bhbh 身份:sysdba 或者 用户名:system 口令:bhbh 身份:normal 3、通过DBCA删除已安装的默认数据库orcl 程序->Oracle - OraDb10g_home1->配置和移植工具->Database Configuration Assistant->删除数据库->…… 4、通过DBCA安装数据库xscj 程序->Oracle - OraDb10g_home1->配置和移植工具->Database Configuration Assistant->创建数据库->…… 5、sqldeveloper连接数据库 打开sqldeveloper,新建连接 连接名:system_ora 用户名:system 口令:bhbh 主机名:本机计算机名 SID:xscj 测试,显示成功,连接,保存。

6、卸载oracle 10g Windows下 1>停止所有Oracle服务,点Universal Installer卸载 2>删除注册表中的所有关于Oracle项 在HKEY_LOCAL_MACHINE\SOFTWARE下,删除Oracle目录 3>删除硬盘上所有Oracle文件。 (1)Oracle安装文件 (2)系统目录下,在Program files文件夹中的Oracle文件 四、上机作业 根据实验步骤完成逐个实验目标中的任务。 五、心得体会 通过这次的实验,我了解了oracle数据库的情况。懂得了数据库就是把数据存储在一个类似与仓库的地方,需要用时才从数据库里调出来。通过上机实践,知道了装数据库和卸载数据库,并且学会了怎样连数据库。 实验二:Oracle 10g手工建数据库 一、实验目标: 安装Oracle 10g数据库环境,手工建立数据库;通过Net Configuration Assistant建立监听,使用sqldeveloper连接数据库测试。 二、实验学时数 2学时 三、实验步骤和内容: 先安装好Oracle 10g数据库环境(不安装默认数据库)。 1.创建好相关的目录

oracle视图总结

oracle视图总结(转) 视图简介: 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表。视图是存储在数据字典里的一条select语句。通过创建视图可以提取数据的逻辑上的集合或组合。 视图的优点: 1.对数据库的访问,因为视图可以有选择性的选取数据库里的一部分。 2.用户通过简单的查询可以从复杂查询中得到结果。 3.维护数据的独立性,试图可从多个表检索数据。 4.对于相同的数据可产生不同的视图。 视图的分类: 视图分为简单视图和复杂视图。 两者区别如下: 1.简单视图只从单表里获取数据,复杂视图从多表获取数据; 2.简单视图不包含函数和数据组,复杂视图包含; 3.简单视图可以实现DML操作,复杂视图不可以。 视图的创建: CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name [(alias[, alias]...)] AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] [WITH READ ONLY] 其中: OR REPLACE:若所创建的试图已经存在,ORACLE自动重建该视图; FORCE:不管基表是否存在ORACLE都会自动创建该视图; NOFORCE:只有基表都存在ORACLE才会创建该视图: alias:为视图产生的列定义的别名; subquery:一条完整的SELECT语句,可以在该语句中定义别名; WITH CHECK OPTION :插入或修改的数据行必须满足视图定义的约束; WITH READ ONLY :该视图上不能进行任何DML操作。 例如: Sql代码 1.CREATE OR REPLACE VIEW dept_sum_vw 2.(name,minsal,maxsal,avgsal)

oracle湘潭大学数据库数据查询实验报告

湘潭大学 实验报告 课程: Oracle数据库 实验题目:数据查询 学院:信息工程学院 专业:计算机科学与技术2班 学号: 2013551417 姓名:韩林波 指导教师:郭云飞 完成日期: 2015.5.25

一.上机目的 1. 掌握Select语句的运用, 2. 掌握一些函数的应用, 3. 掌握子查询的运用, 4. 掌握连接和分组的应用, 5. 掌握视图的创建。 二.实验内容 常用oracle语句的学习,与相应视图的创建 三.上机作业 写出下列应用对应的SQL语句,并将查询语句定义为视图,视图名根据题号依次命名为V1、V2、…,如果一个应用要定义多个视图,则视图名根据题号依次命名为V1_1、V1_2、…。 针对基本表EMP和DEPT完成下列查询 1) 检索EMP中所有的记录。 create or replace view v1 as select * from emp;

2) 列出工资在1000到2000之间的所有员工的ENAME,DEPTNO,SAL。 create or replace view v2 as select ename,deptno,sal from emp where sal between 1000 and 2000; 3) 显示DEPT表中的部门号和部门名称,并按部门名称排序。 create or replace view v3 as select dname,deptno from dept group by DNAME,deptno;

4) 显示所有不同的工作类型。 create or replace view v4 as select distinct job from emp; 5) 列出部门号在10到20之间的所有员工,并按名字的字母排序。 create or replace view v5 as select ename from emp where deptno between 10 and 20 order by ename;

学习oracle数据库的总结(图文整理)

1、在开发环境中连接到数据库,进行基本的select查询操作; 2、熟悉plsql的使用; 3、熟悉sqlplus相关命令(登录、查询、导入导出等) 登录sqlplus: 第一:使用dos窗口登录sqlplus Sqlplus 用户名/密码@数据库实例名 Sqlplus system/密码@数据库实例名as sysdba 第二:使用oracle自带的一个sqlplus登录,提供界面,显得更简单一些。 显示当前用户名:show user; 创建一个用户:create user 用户名identified by 密码; 给用户赋予登录的权限:grant connect to 用户名;(此时才可以使用这个用户来登录这个数据库。)给其赋予dba的权限。 修改用户的密码:alter user 用户名identified by 新密码; 查询: Select * from t_user; Select id from t_user; Select name from t_user; Select birthday from t_user; Select id,name from t_user; 导入导出: 导出表: (注意,导出表的exp命令不是在sqlplus下使用的,是在dos窗口下使用的命令。) exp userid=test/sa@test tables=(qx) file=d:\e1223.dmp exp userid=test/sa@test tables=(t_user,qx) file=f:\test.dmp 导出方案: Exp userid=test/sa@test owner=test file=f:\test2.dmp 导出数据库: Exp userid=test/sa@test full=y inctype=complete file=f:\all.dmp 导入表: 下面以一个例子来说明: 看下面的图,我的用户名test,密码sa,数据库实例名test,所有的表都在这里 现在我执行导出表JD的操作:exp userid=test/sa@test tables=(jd) file=f:\jd.dmp 在我的f盘下就出现了这么一个.dmp文件

ORACLE数据库学习心得

ORACLE数据库结课论文 一个好的程序,必然联系着一个庞大的数据库网路... 今年我们学习了oracle数据库这门课程,起初的我,对这个字眼是要多陌生有多陌生,后来上课的时候听一会老师讲课,偶尔再跟上上机课,渐渐的学会了不少东西,但我感觉,我学到的仍是一些皮毛而已,怀着疑惑和求知的心态,我在网上搜索了关于oracle数据库的一些知识。 1.ORACLE的特点: 可移植性ORACLE采用C语言开发而成,故产品与硬件和操作系统具有很强的独立性。从大型机到微机上都可运行ORACLE的产品。可在UNIX、DOS、Windows等操作系统上运行。可兼容性由于采用了国际标准的数据查询语言SQL,与IBM的SQL/DS、DB2等均兼容。并提供读取其它数据库文件的间接方法。 可联结性对于不同通信协议,不同机型及不同操作系统组成的网络也可以运行ORAˉCLE数据库产品。 2.ORACLE的总体结构 (1)ORACLE的文件结构一个ORACLE数据库系统包括以下5类文件:ORACLE RDBMS的代码文件。 数据文件一个数据库可有一个或多个数据文件,每个数据文件可以存有一个或多个表、视图、索引等信息。 日志文件须有两个或两个以上,用来记录所有数据库的变化,

用于数据库的恢复。控制文件可以有备份,采用多个备份控制文件是为了防止控制文件的损坏。参数文件含有数据库例程起时所需的配置参数。 (2)ORACLE的内存结构一个ORACLE例程拥有一个系统全程区(SGA)和一组程序全程区(PGA)。 SGA(System Global Area)包括数据库缓冲区、日志缓冲区及共享区域。 PGA(Program Global Area)是每一个Server进程有一个。一个Server进程起动时,就为其分配一个PGA区,以存放数据及控制信息。 (3)ORACLE的进程结构ORACLE包括三类进程: ①用户进程用来执行用户应用程序的。 ②服务进程处理与之相连的一组用户进程的请求。 ③后台进程ORACLE为每一个数据库例程创建一组后台进程,它为所有的用户进程服务,其中包括: DBWR(Database Writer)进程,负责把已修改的数据块从数据库缓冲区写到数据库中。LGWR(Log Writer)进程,负责把日志从SGA中的缓冲区中写到日志文件中。 SMON(System Moniter)进程,该进程有规律地扫描SAG进程信息,注销失败的数据库例程,回收不再使用的内存空间。PMON (Process Moniter)进程,当一用户进程异常结束时,该进程负责恢复未完成的事务,注销失败的用户进程,释放用户进程占用的资源。

Oracle实验总结

Oracle实验总结 Oracle实验总结 Oracle实验总结 近日做了基于ORACLE的数据库安全、对象sql数据库,XML数据库的实验,其中遇到很多问题,先总结如下。 1、安装Oracle的过程中可以‘选择建立数据库’,也可以选择‘只安装软件’,后者可在安装好软件后,建立数据库,可参考网上的很多安装步骤。 2、Oracle的默认用户有sys和system,在命令行或者sQl*plus中登陆时,写法如下: Connectsys/123456assysdba;其中123456是密码,在创建数据库的时候设置的。 普通用户登录,connectzhangsan/123456; 3、grantselect不支持对表中选定的几列授权,只能将整个表的select权限授权出去。所以实验中先建立了基于选课信息表的视图SelectiveInfo1,视图中包含成绩列,学号列以及班级列(不包含其他的列),再将对视图SelectiveInfo1的select权限授予角色teacher。 4、创建用户的时候,一定要说明该用户对表空间的权限即(quotaunlimitedontablespace或者具体限定大小的句子),否则该用户即使被授予了建表权限,也不能建表。 创建用户的时候必须给用户授予createsession的权限,这是最基本的权限。 5、不同的用户可以创建相同的表格,例如,teacher用户创建了table1,student 用户也创建了table1,且这两个表格式完全相同的,那么其他用户需要用这两个表格时,可以用teacher.table1和student.table1加以区分。系统用户创建的

oracle实验报告总结

实验三数据库的启动和关闭 实验目的 (1)掌握使用DBCA创建数据库的方法 (2)掌握启动和关闭数据库的命令 实验内容 (1)使用DBCA创建数据库test,并通过SQLPLUS登录到test数据库。 (两种方式:A. set oracle_sid=test ,然后再正常登录 B.sqlplus sys/密码@test as sysdba 登录以后可以通过show parameter db_name查看数据库的名称)(2)练习启动数据库的五种命令,并理解它们的使用含义。练习使用TRANSACTIONAL、IMMEDIATE选项来关闭数据库。 (3)只有数据库处于open模式下scott用户才能连接上,nomount和mount 模式不行。试着设计一系列命令,验证这句话的正确性。 (4)对于startup restrict,分别使用system用户和scott用户连接,将命令结果和由此总结出来的结论记录到实验报告中,再使用alter命令结束限制 访问状态,并将使用的命令按顺序记录到实验报告中。 实验数据记录及分析(或程序及运行结果) (1)sqlplus sys/123@test as sysdba show parameter db_name (2)sqlplus sys/orcl@orcl as sysdba Shutdown immediate Startup nomount Alter database mount;

Shutdown immediate Startup force Shutdown transactional Startup restrict Shutdown immediate (3) sqlplus sys/orcl@orcl as sysdba Shutdown immediate Conn scott/tiger 没有打开数据库 conn sys as sysdba orcl shutdown immediate startup mount conn scott/tiger 没有打开数据库 conn sys as sysdba orcl shutdown immediate startup open conn scott/tiger (4)sqlplus sys/orcl@orcl as sysdba

oracle的sqlldr的使用总结

oracle的sqlldr的使用总结 part i一:sql loader 的特点 oracle自己带了很多的工具可以用来进行数据的迁移、备份和恢复等工作。但是每个工具都有自己的特点。比如说exp和imp可以对数据库中的数据进行导出和导出的工作,是一种很好的数据库备份和恢复的工具,因此主要用在数据库的热备份和恢复方面。有着速度快,使用简单,快捷的优点;同时也有一些缺点,比如在不同版本数据库之间的导出、导入的过程之中,总会出现这样或者那样的问题,这个也许是oracle 公司自己产品的兼容性的问题吧。 sql loader 工具却没有这方面的问题,它可以把一些以文本格式存放的数据顺利的导入到oracle数据库中,是一种在不同数据库之间进行数据迁移的非常方便而且通用的工具。缺点就速度比较慢,另外对blob 等类型的数据就有点麻烦了。 二:sql loader 的帮助 C:\>sqlldr SQL*Loader: Release 9.2.0.1.0 - Production on 星期六10月9 14:48:12 2004 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. 用法: SQLLDR keyword=value [,keyword=value,...] 有效的关键字: userid -- ORACLE username/password control -- Control file name log -- Log file name bad -- Bad file name data -- Data file name discard -- Discard file name discardmax -- Number of discards to allow (全部默认) skip -- Number of logical records to skip (默认0) load -- Number of logical records to load (全部默认) errors -- Number of errors to allow (默认50) rows -- Number of rows in conventional path bind array or between direct p ath data saves (默认: 常规路径64, 所有直接路径) bindsize -- Size of conventional path bind array in bytes(默认256000) silent -- Suppress messages during run (header,feedback,errors,discards,part itions) direct -- use direct path (默认FALSE) parfile -- parameter file: name of file that contains parameter specification s parallel -- do parallel load (默认FALSE) file -- File to allocate extents from skip_unusable_indexes -- disallow/allow unusable indexes or index partitions(默 认FALSE) skip_index_maintenance -- do not maintain indexes, mark affected indexes as unus

oracle体系结构总结

oracle体系结构总结 传统上Oracle体系结构由内存结构、进程结构、存储结构组成。其中,内存结构由SGA、PGA组成;进程结构由用户进程和Oracle进程组成;存储结构由逻辑存储、物理存储组成。 通过数据库的启动过程和一条sql的执行过程可以将oracle的内存结构、进程结构、存储结构串起来。 一、内存结构 (1)SGA(System Global Area):一个包含实例数据和控制信息的共享内存区域 (2)PGA(Program Global Area):一个包含服务器进程和后台进程的数据和控制信息的共享内存区域 1.1系统全局区SGA 系统全局区,是DB Server 中实例的必要组成部分,由很多小内存区共同构成,各个小内存区存放不同的信息,系统全局区用于暂存可以被所有进程(包括server process 以及background process)共享的信息,对系统的运行性能有好处,SGA 在实例启动的时候自动分配,实例关闭时自动释放。 SGA 暂存系统的大量共享数据,对系统有相当的性能影响,所以需要为SGA 选择适当的管理方式,根据所使用的数据库版本不同,SGA 的管理有三种方式:1)8i:SGA 的大小由所有内存组件大小之和决定,不能直接定义SGA 大小,对内存组件的大小可后台进行修改,但只能通过直接修改参数文件的内存参数大小,而且修改完数据库必须重起后才能生效,所以这种内存管理方法叫做SGA 的静态管理。 2)9i:SGA 的大小由初始化参数SGA_MAX_SIZ E 确定,各个内存组件大小之和不能超过这个参数。可以直接通过命令进行修改内存组件大小而不用重启,这种叫做SGA 的动态管理

四川师范大学《oracle》实验报告

声明:此文档只作为学习参考,不得用作它途! 实验一了解ORACLE环境,使用ORACLE数据库实用工具 1.目的要求: 了解ORACLE数据库的各个常用工具软件 2.实验内容: 在ORACEL数据库下使用SQL*PLUS ,SQL*PLUS Worksheet,PL/SQL Developer 工具,企业管理器等实用工具与Oracle交互。并在企业管理器中观察ORACLE的底层存储原理。在PL/SQL Developer中书写简单的SQL语言。 3.主要仪器设备及软件 1)PC 2)ORACLE数据库 实验二熟悉SQL语言 1.目的要求 在SQL*PLUS或PL/SQL Developer工具中编写SQL语句 2.实验内容

在ORACLE 数据库中定义用户,给用户赋权限,创建,修改和删除表格,视图等数据库对象,并向表格中插入,修改和删除数据。体会SQL语言中ORACLE的“方言”。 对自己建立的表做查询:包括单表查询,多表查询,嵌套查询,分组查询,相关查询 3.主要仪器设备及软件 1)PC 2)ORACLE数据库 自定义用户:create user taozi identified by taozi; 给用户赋DBA权限:grant dba to taozi; 创建表格 student,sc,course: Create table student (sno char(10) primary key, sname varchar(20) not null, sage smallint, ssex char(2), sdept varchar(20)); Create table course (cno char(10) primary key, cname varchar(50) not null, credit smallint); Create table sc (sno char(10), cno char(10), grade smallint, primary key(sno,cno)); 创建视图:create view oracle as (select sno,sname,sage from student); 删除视图:delete oracle; 为student 表增加一列 jiguan: alter table student add jiguan varchar(10); 删除jiguan 列:alter table student drop column jiguan; 删除student 表结构:drop table student; 插入数据:insert into student values('004','AA','21','f','MA'); insert into student values('005','BB','20','m','CS');

Oracle高级查询总结

高级查询总结 A.层次查询:start with……connec by prior…….. select lpad(' ',3*level)||ename,job,level from emp start with mgr is null connect by prior empno=mgr; 从根结点向下查,lpad()为左添加,level为第几层,prior为查找的方向;此句若省掉start with….则表示要遍历整个树型结构;若出现level,则后面一定要跟connect by B.交叉报表(case when then end 与decode()) select ename,case when sal>=1500then sal*1.01 else sal*1.1 end工资 from emp; select姓名, max(case课程when'语文'then分数end) 语文, max(case课程when'数学'then分数end) 数学, max(case课程when'历史'then分数end) 历史 from学生group by姓名;------(交叉报表与函数一起使用) select ename,sum(decode(sal,'sal',comm,null)) 奖金from emp group by ename;--可实现分支 decode(条件,(值),(返回值),…………,(默认值)) 部门 select sal,decode(sign(sal-1500),-1,1.1*sal,0,1.1*sal,1,1.05*sal) from emp; C.连接查询 1.等值: select * from emp,dept where emp.deptno(+)=dept.deptno; ‘+’在左则以右表为主,反之亦然 2.非等值:where的运算符不是等号 3.自然连接: select * from emp natural join dept 4.99乘法: select * from emp e full join dept d using (deptno) where deptno=10; --where必须放在using(on)的后面 D集合查询: 1.A Union B:消除重复行,有all则可以重复,默认第一列升序select ename,sal from deptno=20 union select ename,sal from job=’CLERK’; 2.A intersect B:A与B的交集 select ename,sal from deptno=20 intersect select ename,sal from job=’CLERK’; 3.A minus B:在A中减去既属于A又属于B的一部分

oracle学习心得体会

oracle学习心得 一、sqlserver的理解 sqlserver服务器就像一栋大楼,大楼里的机房就像服务器的数据库,机房里的电脑如同数据库里的表 1、登录用户可以登录服务器——可以进大楼 2、登录用户成为数据库用户才能进指定的数据库——进入大楼的人给了某个机房的钥匙 才能进入机房 3、登录用户有权限使用表——进入机房的人有电脑的密码才能使用电脑 二、oracle的理解 oracle服务器(全局数据库)就像一个商场,商场的每一家公司是表空间,公司的业务是表 1、数据库由多个表空间组成——商场里有多家公司组成 2、表空间由段组成——公司要有自己的经营业务,可以只有一个业务,就是一个表空 间中只有一个段,可以有多个业务,就是一个表空间有多个段 3、段由区组成——单个业务的细分类别。例如有家公司经营三个业务,卖书,卖家电,

卖衣服,则每个业务就是一个段。而每个业务又有细分,比如卖书的话要进行分类了。计算机区,人文区,小说区等,每一区都要放上书架存放书籍,则书架就是oracle块,存放数据的 三、数据库,表空间,用户(指定默认表空间),表统统由管理员管理 四、在oem中管理数据库的步骤 1、创建 1)存储——表空间——创建表空间(tomspace)(类似于在sql中创建数据库, 通常可以省略,使用默认表空间为users,,临时表空间为temp) 2)首先展开安全性——创建新用户(tom,指定表空间)(类似于在sql中指定 数据库用户) 3)创建表——指定方案(用户)和表空间(列名不要带<>) 4)设置约束 5)输入信息:方案——用户名——表——右击——查看/编辑目录… 2、修改 1)方案——用户名——表 2)修改表结构,添加约束

oracle实验--存储过程

实验八存储过程的使用 一、实验目的 1、熟练掌握存储过程的定义及使用 二、实验要求 1、实验前做好上机实验的准备,针对实验内容,认真复习与本次实验有关的知识,完成 实验内容的预习准备工作; 2、能认真独立完成实验内容; 3、实验后做好实验总结,根据实验情况完成实验报告。 三、实验内容 创建图书管理库的图书、读者和借阅三个基本表的表结构: 图书表: BOOK ( BOOK_ID NUMBER(10), SORT V ARCHAR2(10), BOOK_NAME V ARCHAR2(50), WRITER V ARCHAR2(10), OUTPUT V ARCHAR2(50), PRICE NUMBER(3)); 读者表 READER ( READER_ID NUMBER(3), COMPANY V ARCHAR2(10), NAME V ARCHAR2(10), SEX V ARCHAR2(2), GRADE V ARCHAR2(10), ADDR V ARCHAR2(50)); 借阅表 BORROW ( READER_ID NUMBER(3),

BOOK_ID NUMBER(10), BORROW_DA TE DA TE); 插入数据: BOOK表: insert into book values(445501,'TP3/12','数据库导论','王强','科学出版社',17.90); insert into book values(445502,'TP3/12','数据库导论','王强','科学出版社',17.90); insert into book values(445503,'TP3/12','数据库导论','王强','科学出版社',17.90); insert into book values(332211,'TP5/10','计算机基础','李伟','高等教育出版社',18.00); insert into book values(112266,'TP3/12','FoxBASE','张三','电子工业出版社',23.60); insert into book values(665544,'TS7/21','高等数学','刘明','高等教育出版社',20.00); insert into book values(114455,'TR9/12','线性代数','孙业','北京大学出版社',20.80); insert into book values(113388,'TR7/90','大学英语','胡玲','清华大学出版社',12.50); insert into book values(446601,'TP4/13','数据库基础','马凌云','人民邮电出版社',22.50); insert into book values(446602,'TP4/13','数据库基础','马凌云','人民邮电出版社',22.50); insert into book values(446603,'TP4/13','数据库基础','马凌云','人民邮电出版社',22.50); insert into book values(449901,'TP4/14','FoxPro大全','周虹','科学出版社',32.70); insert into book values(449902,'TP4/14','FoxPro大全','周虹','科学出版社',32.70); insert into book values(118801,'TP4/15','计算机网络','黄力钧','高等教育出版社',21.80); insert into book values(118802,'TP4/15','计算机网络','黄力钧','高等教育出版社',21.80); READER表: insert into reader values(111,'信息系','王维利','女','教授','1号楼424'); insert into reader values(112,'财会系','李立','男','副教授','2号楼316'); insert into reader values(113,'经济系','张三','男','讲师','3号楼105'); insert into reader values(114,'信息系','周华发','男','讲师','1号楼316'); insert into reader values(115,'信息系','赵正义','男','工程师','1号楼224'); insert into reader values(116,'信息系','李明','男','副教授','1号楼318'); insert into reader values(117,'计算机系','李小峰','男','助教','1号楼214'); insert into reader values(118,'计算机系','许鹏飞','男','助工','1号楼216'); insert into reader values(119,'计算机系','刘大龙','男','教授','1号楼318'); insert into reader values(120,'国际贸易','李雪','男','副教授','4号楼506'); insert into reader values(121,'国际贸易','李爽','女','讲师','4号楼510'); insert into reader values(122,'国际贸易','王纯','女','讲师','4号楼512'); insert into reader values(123,'财会系','沈小霞','女','助教','2号楼202'); insert into reader values(124,'财会系','朱海','男','讲师','2号楼210'); insert into reader values(125,'财会系','马英明','男','副教授','2号楼212'); BORROW表:

oracle index学习总结

oracle index 1.index需要储存空间和I/O操作。 2.index的目的是加快select的速度的。 3.insert,update,delete数据oracle会同时对索引进行相应的调整,因此会增加一定的消耗。 4.使用index一定能加快select速度吗?不是的,数据少和巨大时index会影响select的速度,因此如果查询速度可以满足,就不要建index。 5.Index 对null 无效。 分类: 一、从物理角度 1. partitioned or nonpartitioned : 分区或不分区索引。分区索引用于分区表。 2.B-tree(平衡树) : normal or reverse key 正常和倒序索引。 oracle默认索引方式,平衡树形索引,在叶子节点上有双向链表,加快索引定位速度,oracle有一定的优化,可以根据链表直接定位记录,而不走树,综合使用提高速度。见图1和图2。 图1 图2

3.bitmap(位图) :用二进制的0、1来构建索引,在进行or操作时非常快, 但要注意bitmap 对于并发操作时,改一条会锁了很多记录,因为所有的记录在一个索引条目上,所以修改或增加时会一起锁定,见图3. 图3

区别和使用场景 二、逻辑角度: 1.single column or concatenated单索引和组合索引。 2.unique or nonunique: 唯一索引和非唯一索引。 3.function-based: 基于函数的索引,把一些where条件作为函数。 4.domain:数据库以外的索引,如文件等。

ORACLE实训心得体会

O R A C L E实训心得体会 This model paper was revised by the Standardization Office on December 10, 2020

o r a c l e实训 总结 系别:信管院班级:姓名:浦江峰学号 日期: 2012年12月21日 实训总结: 由于感到oracle实训担子很重,而自己的学识、能力和阅历与其任职都有一定的距离,所以总不敢掉以轻心,总在学习,向书本学习、向周围的同学学习,向老师请教,这样下来感觉自己半年来还是有了一定的进步。 颠末一个星期的oracle数据库实训,让我体会到了日常仄凡是很多课堂上所无法实践知晓的,让人收获颇丰,明白如何去应用。而本次数据库实训的目标是让我们把握数据库系统的原理。将理论与实践相结合,利用现有的数据库管理系统硬件、范例、科学地完成一个设计。 这个星期是我们oracle 数据库管理课的实训,经过一个星期的实训,让我领会到了许多平时课堂上所没有接受的课外知识,很让人受益匪浅,懂得如何去运用,而进行的一次分析设计综合的训练。而本次实训的目的是让我们掌握数据库系统的原理、技术。将理论与实际相结合,应用现有的数据库管理系统软件,规范、科学地完成一个设计与实现。这次我们实训的内容是从数据库、数据表的创建和修改开始的,表是建立关系数据库的基本结构,用来存储数据具有已定义的属性,在表的操作过程中,有查看表信息、查看表属性、修改表中的数据、删除表中的数据及修改表和删除表的操作。从实训中让我更明白一些知识,表是数据最重要的一个数据对象,表的创建好坏直接关系到数数据库的成败,表的内容是越具体越好,但是也不能太繁琐,以后在实际应用中多使用表,对表的规划和理解就会越深刻。我们实训的另一个内容是数据库的约束、视图、查询。从中我们了解到查询语句的基本结构,和简单select语句的使用,多表连接查询。而在视图的操作中,也了解到了视图是常见的数据库对象,是提供查看和存取数据的另一种途径,对查询执行的大部分操作,使用视图一样可以完成。使用视图不仅可以简化数据操作,还可以提高数据库的安全性,不仅可以检索数据,也可以通过视图向基表中添加、修改和删除数据。存储过程、触发器也是我们实训的内容之一,在操作中有建立存储过程,执行存储过程,及查看和修改存储过程,这些都是非常基础的东西,但对用户却是非常重要的呢,只有熟悉了t_sql语言,才能更好的掌握更多的东西。我们还学习了,数据库的管理、数据的导入、导出、备份和还原。有oracle 安全访问控制;登录账户的管理;数据库角色的管理;用户权限管理。维护数据库的安全是确保数据库正常运行的重要工作。数据的备份是对oracle数据事务日志进行拷贝,数据库备份记录了在进行备份操作的数据库中所有数据的状态。而数据的备份还分为数据库完整备份、差异备份、事务日志备份、文件及文件组备份。做数据备份就是为了以后的数据库恢复用。在实训内容上我们还做了图书管理数据库,其中的要求包含了许多数据库的对象,综合了我们所学的许多知识,让我们更努力的把所学到的东西运用上去。 实训课是在学习与探索中度过的,短暂的一星期实训是结束了,但其中让我们学到了许多知识,出现许多未知的为什么,如仓库管理数据库的初步设置、数据备份与还原的步骤,如何建立视图、触发器等一系列的问题,正是在老师和同学的共同努力之下,我们才一步步把问题解决了,最终完成了不可能完成的任务。 日期:2012年12月21日篇二:oracle实训总结 oracle数据库管理与应用实训总结 在这一周oracle数据库管理与应用的实训的时间里,实训老师针对我们本学期的学习,有针对性地对我们进行了很有价值的实训工作,从最基础的字段类型,到一般的oracle语句,如创建数据表、视图、存储过程、触发器等,给我们细心讲解,虽然oracle数据库管理与应用的课已经学习了将近一学期,但对其简单的知识点运用的都不是很熟练,没能真正去融会贯通。 不过,经过为期一周的针对性实训,我学到了很多知识,把以前学的所有知识点都贯穿到一起,又温习了一遍,让我们能从真正意义上了解到oracle数据库的用处。 不论再用到什么软件编写网站,都会用到数据库连接,都要从那个数据库中调用数据,这说明了数据库的重要性,认识到学习数据库的必要性。oracle数据库是很重要的数据库系统。在数据库实训过程中,难免会出现小错误,但经过我们的讨论研究,加上老师认真的辅导,我们会解决这些错误,从而更加熟练掌握oracle数据库。这一周不仅学到了oracle数据库的知识,还培养了我们的团队合

相关主题
文本预览
相关文档 最新文档