目录
字典就是用来帮助人们查看一些信息,查看一些内容
1.数据字典在数据库被创建时创建。
2.被数据库服务器自动更新和维护
oracle的数据字典就是oracle存放有关数据库信息的地方。用途就是用来描述数据的。
比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。
数据库数据字典是一组表和视图结构。它们存放在SYSTEM表空间中
当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。
用户可以用SQL语句访问数据库数据字典。
例如:
1.查看当前用户可以访问的所有数据字典
select table_name from dictionary;
按前缀不同,作用范围的分为三类:
包含当前用户所拥有的相关对象信息。--能够查到对象的所有者是当前用户的所有对象
user_tables;
user_views;
user_sequences;
user_constraints;
包含当前用户有权限访问的所有对象的信息。--能够查到所有当前用户有权限访问的对象
包含数据库所有相关对象的信息。--只能是有dba权限的用户查询,能查到数据库中所有对象
select table_name from dba_tables (sys system)
1,数据库中所有模式对象的信息,如表、视图、簇、及索引等。
当前用户的对象信息存放在user_objects
2,分配多少空间,当前使用了多少空间等。
3,列的缺省值。
4,约束信息的完整性。
5,Oracle用户的名字。
6,用户及角色被授予的权限。
7,用户访问或使用的审计信息。
8,其它产生的数据库信息。
例如:
1.查看当前用户的拥有的对象名和对象类型:
select object_name,object_type
from user_objects;
2.查看当前用户下的所有的表
select table_name from user_tables;
user_tables就是一个数据字典。
3.查看当前用户所定义的所有的约束的名字和类型
SELECT constraint_name, constraint_type
FROM user_constraints
WHERE table_name = 'S_EMP';
4.查找约束名字和关联的列的名字
SELECT constraint_name, column_name
FROM user_cons_columns
WHERE table_name = 'S_EMP';