Oracle数据库学习
select * from system_privilege_map order by name;
select distinct privilege from dba_tab_privs;
select * from dba_roles;(25种)
select * from dba_sys_privs where grantee='DBA';(DBA是一个角色)
或者
select * from role_sys_privs where role='dba';
select * from dba_tab_privs where grantee='DBA';(DBA是一个角色)
select * from dba_role_privs where grantee='用户名';
select * from dict where comments like ‘%grant%’;
select * from global_name;
扩展表空间的三种方法:
故障处理:
表空间的小结:
1.了解表空间和数据文件的作用。
2.了解常用表空间,undo表空间和临时表空间的建立方法。
3.了解表空间的各个状态(online,offline,read,write,read only)的作用,及如何改变表空间的状态的方法。
4.了解移动数据文件的原因,及使用alter tablespace 和 alter datatable命令移动数据文件的方法。
其他表空间:
除了最常用 的数据表空间外,还用其他的表空间:
1.索引表空间。
2.undo表空间。
3.临时表空间。
4.非标准块的表空间。
数据的完整性:
介绍:数据的完整性用于确保数据库遵从一定的商业和业务逻辑。在oracle中数据的完整性可以使用约束、触发器、应用程序(过程、函数)三种方法开实现。在这三种方法中,因为约束易于维护,并且具有最好的性能,所以作为维护数据完整性的首选。
如果在列上定义了not null,那么当插入数据时,必须为列提供数据。
2. unique(唯一)
当定义了唯一约束后,该列值是不能重复的,但是可以为null。
3.primary key(主键)
用于唯一的标示表行的数据,当定义主键约束后,该列不但不能重复而且不能为空。
需要说明的是:一张表最多只能有一个主键,但是可以有多个unique约束。
4.foreign key(外键)
用于定义主表喝从表之间的关系。外键约束要定义在从表上,主表则必须具有主键约束或是unique约束,当定义外键约束后,要求外键列数据必须在主表的主键列存在或者为null。
5.check(检查)
用于强制数据满足的条件,假定在sal列上定义了check约束,并要求sal列的值在1000-2000之间,如果不在1000-2000之间就会报错。
删除约束:
表级定义和列级定义:
索引缺点的分析: