数据字典

数据字典
1.字典,用来帮人们查看一些信息,查看一些内容
2.被数据库服务器自动跟新和维护
oracle的数据字典就是oracle存放有关数据库信息的地方。用途就是用来描述数据的。
比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。
数据库数据字典是一组表和视图结构。他们存放在system表空间
当用户在对数据库操作遇到困难就可以访问数据字典来查看详细的信息。
用户使用sql语句访问数据库字典。
例如:1.查看当前用户可以访问的所有数据字典‘
select tablle name from dictionary;
根据查询的结果(按照前缀不同可以分为四类):
1,以user开头的数据字典,包含当前用户所拥有的相关对象信息–能够查到对象的所有者是当前用户的所有对象。
user_tables;
user_views;
user_sequences;
user_constrains;
2,以all开头的数据字典:包含当前用户权限访问的所有对象信息。能够查到对象的所有者是当前用户的所有对象。
3,以dba开头的数据字典:包含数据库所有相关对象的信息,只能是有dba权限的用户查询,能查到数据库中所有对象。
4,以V$开头是动态服务性能视图。
select table_name from dba_tables (sys system)

数据字典内容包括:
1,数据库中所有模式对象的信息,如表,视图,簇,以及索引等。
2,分配多少空间,当前使用了多少空间。
3,列的缺省值。
4,约束信息的完整性。
5,oracle用户的名字。
6,用户及角色被授予的权限。
7,用户访问或使用的审计信息。
8,其他产生的数据库信息。
所有的数据字典可以:
1查看当前用户拥有的对象名和对象类型:
select object_name,object_types from user_object;
2查看当前用户下的所有的表
select table_name from user_tables;
user_tables就是一个数据字典。
3.查看当前用户所定义的所有约束的名字和类型
select constraint_name ,constraint_type from user_constraints
where table_name=‘当前用户名’
4.查找约束名字和关联的列的名字
select constraint_name,colum_name from user user_cons_columns
where table_name =‘当前用户名ss’

你可能感兴趣的:(数据字典)