Oracle练习题&&部分高校Oracle实验题
一、
1、登陆scott 用户基于 EMP 表和 DEPT 表创建视图 EMPDEPTVIEW,要求关联两张表,包括部门的名称和部门所在地 员工的部门编号和员工的名字;
2、登录scott用户,针对EMPDEPTVIEW 创建同义词epv;
3、通过同义词,查询到部门20的所有员工信息。
二、
创建序列,从50开始,要求运用序列给部门表中添加部门编号为50,名称为BUSINES地点为CHINA; 添加部门编号为60, 名称为PMO,地点为CHINA;
三
1.创建表emp_bak,复制emp表结构以及所有的数据.
2.给表emp_bak增加主键约束。
3.在emp_bak表的ename字段上创建索引
4.在emp_bak表的deptno和job的组合上创建索引
/*一、
1、登陆scott?用户基于?EMP?表和?DEPT?表创建视图?EMPDEPTVIEW,要求关联两张表,包括部门的名称和部门所在地?员工的部门编号和员工的名字;?
*/
SQL> grant create any view to scott;
授权成功。
SQL> conn scott/321321
已连接。
SQL> create or replace view empdeptview as
2 select ename,emp.deptno,dname,loc
3 from emp,dept
4 where emp.deptno=dept.deptno
5 with read only;
视图已创建。
SQL> select * from empdeptview;
ENAME DEPTNO DNAME LOC
---------- ---------- -------------- -------------
CLARK 10 ACCOUNTING NEW YORK
KING 10 ACCOUNTING NEW YORK
MILLER 10 ACCOUNTING NEW YORK
JONES 20 RESEARCH DALLAS
FORD 20 RESEARCH DALLAS
ADAMS 20 RESEARCH DALLAS
SMITH 20 RESEARCH DALLAS
SCOTT 20 RESEARCH DALLAS
WARD 30 SALES CHICAGO
TURNER 30 SALES CHICAGO
ALLEN 30 SALES CHICAGO
ENAME DEPTNO DNAME LOC
---------- ---------- -------------- -------------
JAMES 30 SALES CHICAGO
BLAKE 30 SALES CHICAGO
MARTIN 30 SALES CHICAGO
已选择14行。、
/*2、登录scott用户,针对EMPDEPTVIEW?创建同义词epv;?*/
SQL> show user;
USER 为 "SCOTT"
SQL> conn system/321321
已连接。
SQL> grant create any synonym to scott;
授权成功。
SQL> create or replace synonym epv for scott.empdeptview;
同义词已创建。
SQL> conn scott/321321
已连接。
SQL> create or replace synonym epv for scott.empdeptview;
同义词已创建。
/*3、通过同义词,查询到部门20的所有员工信息。*/
SQL> select * from epv
2 where deptno=20;
ENAME DEPTNO DNAME LOC
---------- ---------- -------------- -------------
SMITH 20 RESEARCH DALLAS
JONES 20 RESEARCH DALLAS
SCOTT 20 RESEARCH DALLAS
ADAMS 20 RESEARCH DALLAS
FORD 20 RESEARCH DALLAS
/*二、
创建序列,从50开始,要求运用序列给部门表中添加部门编号为50,名称为BUSINES地点为CHINA;?添加部门编号为60,?名称为PMO,地点为CHINA;
*/
SQL> show user;
USER 为 "SCOTT"
SQL> create sequence seq_dept
2 start with 50
3 increment by 10
4 nomaxvalue
5 nocycle
6 nocache;
序列已创建。
SQL> insert into dept(deptno,dname,loc)
2 values (seq_dept.nextval,'BUSINESS','CHINA');
已创建 1 行。
SQL> insert into dept(deptno,dname,loc)
2 values (seq_dept.nextval,'PMO','CHINA');
已创建 1 行。
/*三、
1.创建表emp_bak,复制emp表结构以及所有的数据.?
2.给表emp_bak增加主键约束。
3.在emp_bak表的ename字段上创建索引?
4.在emp_bak表的deptno和job的组合上创建索引?
*/
SQL> create table emp_bak as select * from emp;
表已创建。
SQL> alter table emp_bak add constraint emp_empno_pk
2 primary key(empno);
表已更改。
SQL> create index emp_empno_index on emp_bak(ename);
索引已创建。
SQL> create index emp_deptnojob_index on emp_bak(deptno