Oracle数据库学习笔记三

来源:互联网 发布:财慧网软件下载 编辑:程序博客网 时间:2024/04/28 20:34

Oracle数据库学习

数据字典和动态性能视图
数据字典是Oracle中最重要的组成部分,它提供了数据库的一些系统信息。
动态性能视图记载了例程启动后的相关信息。

eg:


用户名、权限和角色

角色和权限的区别:
角色由权限构成,角色有两种权限(系统权限(140种),对象权限(16种))
查询Oracle中所有的系统权限
select * from system_privilege_map order by name;

查询Oracle中的所有 对象权限
select distinct privilege from dba_tab_privs;

Oracle中究竟有多少种角色?
select * from dba_roles;(25种)

如何查询一个角色包括的权限
1.一个角色包含的系统权限
select  *  from dba_sys_privs where grantee='DBA';(DBA是一个角色)
或者
select * from role_sys_privs where role='dba';

2.一个角色包含的对象权限
select  *  from dba_tab_privs where grantee='DBA';(DBA是一个角色)

3.如何查看某个用户具有什么样的角色?
select * from dba_role_privs where grantee='用户名'

4.显示当前用户可以访问的所有数据字典的视图
select * from dict where comments like ‘%grant%’;

5.显示当前数据库的全称
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中数据的完整性可以使用约束、触发器、应用程序(过程、函数)三种方法开实现。在这三种方法中,因为约束易于维护,并且具有最好的性能,所以作为维护数据完整性的首选。

维护数据完整性-约束
在Oracle中约束包括五中:not null、unique、 primary key、 foreign key和check五中约束。
1. not null(非空)

如果在列上定义了not null,那么当插入数据时,必须为列提供数据。

2. unique(唯一)

当定义了唯一约束后,该列值是不能重复的,但是可以为null。

3.primary key(主键)

用于唯一的标示表行的数据,当定义主键约束后,该列不但不能重复而且不能为空。

需要说明的是:一张表最多只能有一个主键,但是可以有多个unique约束。

4.foreign key(外键)

用于定义主表喝从表之间的关系。外键约束要定义在从表上,主表则必须具有主键约束或是unique约束,当定义外键约束后,要求外键列数据必须在主表的主键列存在或者为null。

5.check(检查)

用于强制数据满足的条件,假定在sal列上定义了check约束,并要求sal列的值在1000-2000之间,如果不在1000-2000之间就会报错。


删除约束:


表级定义和列级定义:


管理索引
索引是用于加速数据存取的数据对象,合理的使用索引可以大大降低i/o次数,从而提高数据访问性能。
创建索引
create index nameindex on customer(name)(在name列上建立索引)

索引缺点的分析:




0 0
原创粉丝点击