SQL 基础之管理对象与数据字典视图(十九)

发布时间:2020-06-04 17:33:32 作者:yuri_cto
来源:网络 阅读:662

数据字典

SQL 基础之管理对象与数据字典视图(十九)


数据字典结构

SQL 基础之管理对象与数据字典视图(十九)


数据字典结构

视图命名约定:

视图前缀含义
USER用户视图 (自己拥有的,自己方案下的)
ALL扩展的用户视图 (在user_的基础上,用户有权访问的)
DBA数据库管理员视图(所有方案下的)
V$性能相关数据


如何使用字典视图

DICTIONARY视图包括所有字典表和视图的名称及描述。

desc dictionary


select * from dictionary where table_name = 'user_objects';


USER_OBJECTS  和ALL_OBJECTS


USER_OBJECTS:

查询 USER_OBJECTS能看到你所拥有的所有对象。

使用 USER_OBJECTS你可以得到您拥有所有对象的名称和

类型还有以下信息:

– 创建日期

– 最后修改日期

– 状态 (有效或失效)


ALL_OBJECTS:

查询 ALL_OBJECTS 你可以看到所有你有权访问的对象。


USER_OBJECTS 视图

select object_name, object_type, created, status

from user_objects

order by object_type;


数据字典视图可以查询一下内容:

– 表信息

– 字段信息

– 约束信息


USER_TABLES:

desc user_tables;


select table_name from user_tables;


Column 信息

USER_TAB_COLUMNS:

desc user_tab_columns

 Name   Null?    Type

 ----------------------------------------- -------- ----------------------------

 TABLE_NAME   NOT NULL VARCHAR2(30)

 COLUMN_NAME   NOT NULL VARCHAR2(30)

 DATA_TYPE    VARCHAR2(106)

 DATA_TYPE_MOD    VARCHAR2(3)

 DATA_TYPE_OWNER    VARCHAR2(30)

 DATA_LENGTH   NOT NULL NUMBER

 DATA_PRECISION    NUMBER

 DATA_SCALE    NUMBER

 NULLABLE    VARCHAR2(1)

 COLUMN_ID    NUMBER

 DEFAULT_LENGTH    NUMBER

 DATA_DEFAULT    LONG

 NUM_DISTINCT    NUMBER

 LOW_VALUE    RAW(32)

 HIGH_VALUE    RAW(32)

 DENSITY    NUMBER

 NUM_NULLS    NUMBER

 NUM_BUCKETS    NUMBER

 LAST_ANALYZED    DATE

 SAMPLE_SIZE    NUMBER

 CHARACTER_SET_NAME    VARCHAR2(44)

 CHAR_COL_DECL_LENGTH    NUMBER

 GLOBAL_STATS    VARCHAR2(3)

 USER_STATS    VARCHAR2(3)

 AVG_COL_LEN    NUMBER

 CHAR_LENGTH    NUMBER

 CHAR_USED    VARCHAR2(1)


select column_name, data_type, data_length,

data_precision, data_scale, nullable

from user_tab_columns

where table_name = 'employees';


Constraint 信息

USER_CONSTRAINTS 描述你表中定义的约束

USER_CONS_COLUMNS 描述约束指定的字段


select constraint_name, constraint_type,

search_condition, r_constraint_name,

delete_rule, status

from user_constraints

where table_name = 'employees';


查询 USER_CONS_COLUMNS

desc  user_cons_columns


select constraint_name, column_name

from user_cons_columns

where table_name = 'employees';


View 信息

desc  user_views


select view_name from user_views;


select text from user_views where view_name = 'EMP_DETAILS_VIEW';


Sequence  信息

desc  user_sequences


确认 Sequences


在 USER_SEQUENCES 数据字典表中确认您的序列值


select sequence_name, min_value, max_value,increment_by, last_number from user_sequences;


如果指定了 NOCACHE 选项,那么LAST_NUMBER的内容即是下一个可用序号


Index  信息

USER_INDEXES 提供关于索引的信息。

USER_IND_COLUMNS 描述索引列,包括索引和字段


desc  user_indexes

Name   Null?    Type

 ----------------------------------------- -------- ----------------------------

 INDEX_NAME   NOT NULL VARCHAR2(30)

 INDEX_TYPE    VARCHAR2(27)

 TABLE_OWNER   NOT NULL VARCHAR2(30)

 TABLE_NAME   NOT NULL VARCHAR2(30)

 TABLE_TYPE    VARCHAR2(11)

 UNIQUENESS    VARCHAR2(9)

 COMPRESSION    VARCHAR2(8)

 PREFIX_LENGTH    NUMBER

 TABLESPACE_NAME    VARCHAR2(30)

 INI_TRANS    NUMBER

 MAX_TRANS    NUMBER

 INITIAL_EXTENT    NUMBER

 NEXT_EXTENT    NUMBER

 MIN_EXTENTS    NUMBER

 MAX_EXTENTS    NUMBER

 PCT_INCREASE    NUMBER

 PCT_THRESHOLD    NUMBER


select index_name, table_name,uniqueness

from user_indexes

where table_name = 'employees';


INDEX_NAME       TABLE_NAME      UNIQUENES

------------------------------ ------------------------------ ---------

EMP_JOB_IX       EMPLOYEES      NONUNIQUE

EMP_EMAIL_UK       EMPLOYEES      UNIQUE

EMP_EMP_ID_PK       EMPLOYEES      UNIQUE

EMP_MANAGER_IX       EMPLOYEES      NONUNIQUE

EMP_NAME_IX       EMPLOYEES      NONUNIQUE

EMP_DEPARTMENT_IX       EMPLOYEES      NONUNIQUE


6 rows selected.


查询 USER_IND_COLUMNS

desc user_ind_columns


 Name   Null?    Type

 ----------------------------------------- -------- ----------------------------

 INDEX_NAME    VARCHAR2(30)

 TABLE_NAME    VARCHAR2(30)

 COLUMN_NAME    VARCHAR2(4000)

 COLUMN_POSITION    NUMBER

 COLUMN_LENGTH    NUMBER

 CHAR_LENGTH    NUMBER

 DESCEND    VARCHAR2(4)


Synonym 信息


desc user_synonyms


select * from user_synonyms;

SQL 基础之管理对象与数据字典视图(十九)


表添加注释

使用 COMMENT 命令为表和字段添加注释:

comment on table employees is 'employee information';

comment on column employees.first_name is 'first name of the employee';


可以通过下列数据字典视图查看注释信息:

– ALL_COL_COMMENTS

– USER_COL_COMMENTS

– ALL_TAB_COMMENTS

– USER_TAB_COMMENTS


常用用户数据字典一般如下,可根据需要自行查看相关列信息:

推荐阅读:
  1. SQL优化:一文说清Oracle Hint的正确使用姿势
  2. Oracle学习篇之SQL语句的优化

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

sql 基础 管理对象

上一篇:有哪些MySQL必会的基础命令

下一篇:mysql表中重复的字段应该如何去掉

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》