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

数据字典

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


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

  • DICTIONARY

  • USER_OBJECTS

  • USER_TABLES

  • USER_TAB_COLUMNS

  • USER_CONSTRAINTS

  • USER_CONS_COLUMNS

  • USER_VIEWS

  • USER_SEQUENCES

  • USER_INDEXES

  • USER_SYNONYMS




本文转自 yuri_cto 51CTO博客,原文链接:http://blog.51cto.com/laobaiv1/1910559,如需转载请自行联系原作者
上一篇:【实践】工业用变频器上云 【3】 硬件开发,使用嵌入式硬件通过485通讯的ModBusRTU协议控制变频器


下一篇:[实践]在公共艺术型装置中应用IOT技术-湖州灯光节-无形万象