2.4 Oracle之DCL的SQL语句之用户权限以及三大范式

时间:2021-12-31 15:11:01

DCL   (Data Control Language,数据库控制语言)用于定义数据库权限

一、用户权限

1.1  建立用户以及授权:

    Eg :CREATE USER 用户名  IDENTIFIED BY 密码 ;

1.2 GRANT 权限 TO 用户名  ;

  Eg:GRANT CREATE SESSION TO test ;创建权限给test用户

  Eg:GRANT CONNECT,RESOURCE TO test ;把俩个角色权限覆给test用户

1.3修改test用户密码为hello :

  ALTER USER test IDENTIFIED BY hello ;

1.4清除test密码

  ALTER USER test PASSWORD EXPIRE ;

1.5 将用户账号锁住:ALTER USER 用户名 ACCOUNT LOCK ;

  解锁:ALTER USER 用户名 ACCOUNT UNLOCK ;

1.6 将scott用户查询和删除权限给test用户

  GRANT SELECT,DELETE ON scott.emp TO test ;

1.7 回收test用户的权限

REVOKE SELECT,DELETE ON scott.emp FROM test ;

二、数据库三大范式

第一范式:当关系模式R的所有属性都不能在分解为更基本的数据单位时,称R是满足第一范式的,简记为1NF。满足第一范式是关系模式规范化的最低要

求,否则,将有很多基本操作在这样的关系模式中实现不了。

  1.原子性不可再分    2.两列相近的合并成一个列(地址中省,市不符合第一范式)

第二范式:如果关系模式R满足第一范式,并且R得所有非主属性都完全依赖于R的每一个候选关键属性,称R满足第二范式,简记为2NF。

  1.一行数据只能对应一件事。数据重复就需要拆分表(联系人和订单分开)

第三范式:设R是一个满足第一范式条件的关系模式,X是R的任意属性集,如果X非传递依赖于R的任意一个候选关键字,称R满足第三范式,简记为3NF.

  1.没有间接关系。主键于属性有直接关系。

注:关系实质上是一张二维表,其中每一行是一个元组,每一列是一个属性