创建视图,序列,索引 ,角色权限
使用视图
控制数据访问
简化查询
数据独立性
避免重复访问相同的数据
序列:
自动提供唯一的数值
共享对象
主要用于提供主键值
代替应用代码
将序列值装入内存可以提高访问效率
索引:
一种数据库对象
通过指针加速 Oracle 服务器的查询速度
通过快速定位数据的方法,减少磁盘 I/O
索引与表相互独立
Oracle 服务器自动使用和维护索引
权限:
数据库安全性:
系统安全性
数据安全性
系统权限: 对于数据库的权限
对象权限: 操作数据库对象的权限
方案: 一组数据库对象集合, 例如表, 视图,和序列
select table_name from user_tables;
select * from emp;
grant create any view to scott;
CREATE VIEW empne50 ----创建视图
AS SELECT ename, sal, empno
FROM emp
WHERE sal =1250;
select * from empne50;---查询视图
DESCRIBE empne50;----描述视图
create or replace view empne50(sal,ename,empno)--修改视图
as select sal,ename,empno from emp
where sal=3000;
drop view empne80; --- 删除视图 删除视图只是删除视图的定义,并不会删除基表的数据
create sequence DEPT_DEPTID_SEQ ---定义序列
INCREMENT BY 10
START WITH 120
MAXVALUE 9999
NOCACHE
NOCYCLE;
INSERT INTO EMP(SAL, ----插入值
ENAME, EMPNO)
VALUES (dept_deptid_seq.NEXTVAL,
'Support', 2500);
select DEPT_DEPTID_SEQ.CURRVAL from DUAL;---查询当前序列值
SELECT sequence_name, min_value,max_value, ---获取序列定义信息
increment_by, last_number
FROM user_sequences;
ALTER SEQUENCE dept_deptid_seq ---修改序列
INCREMENT BY 20
MAXVALUE 999999
NOCACHE
NOCYCLE;
DROP SEQUENCE amm; -------删除序列
CREATE INDEX anan ---创建索引
ON emp (sal);
SELECT ic.index_name, ic.column_name,---查询索引
ic.column_position col_pos,ix.uniqueness
FROM user_indexes ix, user_ind_columns ic
WHERE ic.index_name = ix.index_name
ND ic.table_name = 'emp';
CREATE USER scott
IDENTIFIED BY tiger;
GRANT create session, create table,
create sequence, create view
TO scott;
create role manager;-----创建角色
grant create table, create view to manager;----为角色赋予权限
grant manager to dehaan,kochhar; ---- 将角色赋予用户
浙公网安备 33010602011771号