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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

技术分享


表添加注释

使用 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

本文出自 “记录点滴学习生活” 博客,请务必保留此出处http://ureysky.blog.51cto.com/2893832/1910559

以上是关于SQL 基础之管理对象与数据字典视图(十九)的主要内容,如果未能解决你的问题,请参考以下文章

小菜鸟之oracle数据字典

SQL——数据定义

SQL 基础之创建其他方案对象(十五)

ClickHouse 创建数据库/建表/视图/字典 SQL

mysql数据库基础

SQL数据库语言基础之SqlServer视图的创建修改与视图数据的增删改查