您的位置:首页 > 数据库 > Oracle

oracle初识9.25 权限和角色

2014-01-26 15:37 169 查看
Lesson 14

创建其他的数据库对象

   VIEW 视图

    
a.简单视图:在没有限制条件时可以有DML的语句

    
创建:CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view
[(alias[,alias]...)]
AS        

         
subquery 

         
[WITH CHECK OPTION [CONSTRAINT constraint]]

         
[WITH READ ONLY [CONSTRAINT constraint]](加此条件不允许修改);

         
AS后可以连接select 语句,从表中提取需要的信息,组成视图;例图一:



    
修改视图:用CREATE 或 REPLACE VIEW 可以理解为新建一个视图,覆盖原来的;

    
b.复杂视图

    
不能用DML语句对视图操作的情况:

        
1.有组函数;2.有GROUP
BY语句;3.有DISTINCT关键字;4.有ROWNUM关键字;5。用关系 

   式定义的列(如:12*salsry);

    
当视图含有一下情况时不能往视图中添加数据:

        
1.有组函数;2.有GROUP
BY语句;3.有DISTINCT关键字;4.有ROWNUM关键字;5。用关系 

  
式定义的列(如:12*salsry);6.主表中非空的列没有被选到视图中(NOT NULL columns in
the   

base table that not selected by the view).

    
删除视图

        
DROP VIEW view'name;

  序列(sequence),被所有对象所共享,不能产生重复的数字;

     
主要用途是生成主键的,生成一组数字;

     
语法:图二:




一般不用CYCLE  

     
NEXTVAL

     
CURRVAL 返回当前的值,但是执行此语句之前必须有一个NEXTVAL语句;

    删除序列:

     
DROP SEQUENCE dept_deptid seq;

  索引(index)
用来提升查询效率,是一个schema对象;可以减少对磁盘的读取次数;可以手动创

建或者系统创建;由Oracle server来维护;

     
创建:图三:





     
创建的要求:图四:





     
删除索引:drop index index'name;

  同义词(synonyms)

     
既是别名的应用,便于操作;

     
创建:create SYNONYM d_sm

          
for ______;

     
删除:drop synonym d_sm;

Lesson 15

  权限管理

     
系统级的权限

         
ANY

         
GRANT 例: grant creat session to 用户名(授予权限)

         
REVOKE 例:revoke creat session from 用户名(撤销权限)

     
可以给授予/撤销权限的用户两中情况:

         
1.grant creat session to 用户名(授予权限)with ADMIN OPTION;

         
2.由系统授予 ANY PRIVILEGE的用户;

     
PUBLIC 是定义在数据库中的一个用户组,数据库中的每一个用户都属于这个组;但是这个组

不是数据库的子;

     
SYSDBA 和 SYSOPER 是数据库中的两个用户;

     
DBA_SYS_PRIVS

     
SESSION_PRIVS

     
DBA_TAB_PRIVS

     
DBA_COL_PRIVS

     
对象级的权限   

   角色(权限组) (现在不做过多要求)

     
注意一下多对多关系的表的建立,需要一个中间表,并且需要联合主键;primary key(A,B)

既A B两个互为主键,插入的值可以为)(1,1)(1,2)(2,1)(2,2)但是不能再插入他们中的任何一个;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: