3.视图:实际上是一张表或者多张表上的预定义查询
<span style="color:#cc0000;">语法:
CREATE [OR REPLACE] [{FORCE | NOFORCE}] VIEW view_name
AS
SELECT 查询
[WITH READ ONLY CONSTRAINT]</span>
注:OR REPLACE 如果视图已经存在,则替换旧视图
FORCE | NOFORCE 基表不存在,可以|不可以创建视图
WITH READ ONLY CONSTRAINT 视图为只读,不能进行增删改操作
<span style="color:#333399;">--创建视图
CREATE OR REPLACE VIEW EMPDETAIL AS
SELECT EMPNO,ENAME,JOB,HIREDATE,EMP.DEPTNO,DNAME
FROM EMP JOIN DEPT ON EMP.DEPTNO = DEPT.DEPTNO
WITH READ ONLY
/
--视图查询
select * from EMPDETAIL;
--删除视图
drop view EMPDETAIL;</span>
4.索引:对某些特定列中的数据排序,生成独立的索引表
<span style="color:#ff0000;">语法:
CREATE [UNIQUE] INDEX index_name ON table_name (column_name[,column_name…]);</span>
注:UNIQUE指唯一索引
<span style="color:#333399;">--创建索引
CREATE UNIQUE INDEX UQ_ENAME_IDX ON EMP(ENAME);
SELECT * FROM EMP;
--先把job列中的所有值转化为小写后创建索引,基于函数的索引
CREATE INDEX IDX_JOB_LOWER ON EMP(LOWER(JOB));
select sal from emp;</span>
5.表空间
• 表空间只是一个逻辑概念,若干操作系统文件可以组成一个表空间。
• 系统表空间:存放系统数据,系统表空间在数据库创建时创建。
• 用户表自定义空间:用户可以通过CREATE TABLESPACE 命令创建表空间
<span style="color:#cc0000;"> 语法:
CREATE TABLESPACE 空间名称
DATAFILE '文件名1' SIZE 数字 M //文件名包括完整的路径和文件名
['文件名2' 数字 …]
EXTENT MANAGEMENT LOCAL //指明表空间类型是:本地管理表空间。
UNIFORM SIZE 数字 M //指定每个分区的统一大小。</span>
<span style="color:#333399;">--创建表空间
CREATE TABLESPACE MYSPACE
DATAFILE 'D:/A.ORA' SIZE 10M,
'D:/B.ORA' SIZE 5M
EXTENT MANAGEMENT LOCAL
UNIFORM SIZE 1M
/
--扩充表空间
ALTER TABLESPACE MYSPACE
ADD DATAFILE 'D:/C.ORA' SIZE 10M
--为某一用户指定默认表空间
CREATE USER ACONG IDENTIFIED BY ACONG
DEFAULT TABLESPACE MYSPACE
/
--为表指定表空间
CREATE TABLE SCORES(
ID NUMBER,
TERM VARCHAR2(1),
STUID VARCHAR2(7),
EXAMNO VARCHAR2(7),
WRITTENSCORE NUMBER(4,1) NOT NULL,
LABSCORE NUMBER(4,1) NOT NULL
)
TABLESPACE MYSPACE
/
--为索引指定表空间
CREATE INDEX UQ_ID ON SCORES(ID)
TABLESPACE MYSPACE;
--删除表空间
drop tablespace myspace;</span>