1.同义词;
1.1 同义词是什么?
同义词就是对象的别名;
1.2 有啥用
a.同义词就是为方便跨数据库访问或跨用户访问对象;
b.隐藏对象所属的用户;
2.视图(重点);
2.1 是什么?
查看数据结果集的窗口;
2.2 什么作用
a.隐藏数据的结构
:一般,键保留表
user_indexes
3.索引(重点):
在表中建立一个目录;
(重点) 主键,唯一,组合,位图,反向键,基于函数的
1.1 同义词是什么?
同义词就是对象的别名;
1.2 有啥用
a.同义词就是为方便跨数据库访问或跨用户访问对象;
b.隐藏对象所属的用户;
2.视图(重点);
2.1 是什么?
查看数据结果集的窗口;
2.2 什么作用
a.隐藏数据的结构
:一般,键保留表
user_indexes
3.索引(重点):
在表中建立一个目录;
(重点) 主键,唯一,组合,位图,反向键,基于函数的
索引组织表(毛病)
/*
导出 export(exp)
*/
--导出该用户的对象
exp scott/tiger@orcl file=back owner=scott
--导出该用户的表
exp scott/tiger@orcl tables=(emp, dept) file=back_tab
--导出该用户的表空间
exp scott/tiger@orcl tablespaces=(users) file=users_tab
/*
导入 import(imp)
*/
--整个文件导入
imp scott/tiger@orcl file=back.dmp ignore=y full=y;
--用户scott中的表导给system用户
imp scott/tiger@orcl file=back fromuser=scott touser=system tables=(emp,dept);
/*
同义词 对象 关键字synonym
隐藏用户信息
*/
SELECT * FROM user_tables;
--select * from 模式.对象名
SELECT * FROM scott.test1 ;
--私有的同义词
CREATE SYNONYM s_test1 FOR scott.test1;
--公有的同义词
CREATE PUBLIC SYNONYM s_pb_test1 FOR scott.test1;
SELECT * FROM s_test1;
/*
视图 对象 关键字 view
隐藏原始数据(基表)的细节,提供更贴近用户需求的数据
*/
--可以这样做的 CREATE VIEW
GRANT CREATE VIEW TO scott;
CREATE OR REPLACE VIEW v_a
AS
SELECT empno emp_id,ename emp_name
,sal salary ,hiredate emp_hire_date FROM emp
WITH READ ONLY; --只读选项
SELECT * FROM v_a;
UPDATE v_a SET emp_name = 'SMIth'
WHERE emp_id = 7369;
CREATE OR REPLACE VIEW v_b
AS
SELECT empno emp_id,ename emp_name
,sal salary ,hiredate emp_hire_date,
job emp_job
FROM emp WHERE job = 'MANAGER'
WITH CHECK OPTION;
SELECT * FROM v_b;
UPDATE v_b SET emp_job = 'CLEAR'
WHERE emp_id = 7566;
UPDATE v_b SET salary = 100
WHERE emp_id = 7566;
CREATE OR REPLACE VIEW v_c
AS
SELECT empno emp_id,ename emp_name,
sal salary ,hiredate emp_hire_date,
job emp_job, dname dept_name,loc dept_loc
FROM emp e,dept t
WHERE e.deptno = t.deptno;
--联表视图中,唯一标识所在表叫键保留表,
---否则就是非键保留表
UPDATE v_c SET dept_name = 'kkkk'
WHERE emp_id = 7782;
SELECT * FROM v_c;
/**
索引 对象 关键字 index
目录 提高检索数据的效率
*/
SELECT * FROM emp WHERE sal > 1500;
CREATE INDEX index_sal ON emp(sal);
CREATE INDEX index_name ON emp(ename,job);
DROP INDEX index_sal;
--主键索引,唯一索引,
--位图索引,反向键索引
--唯一索引
CREATE UNIQUE INDEX uniq_index_ename
ON emp(ename);
--位图索引 列重复的数据(重复超过100次)比较多选择
CREATE BITMAP INDEX index_dept
ON emp(deptno);
--反向键索引 (有规律的顺序)
CREATE INDEX index_empid
ON emp(empno) REVERSE;
--索引组织表 某个表数据变动极少(大部分时候是检索的情况)时可以选择
CREATE TABLE tab_name
(
column1 NUMBER,
column2 VARCHAR2(10)
)
ORGANIZATION INDEX;