SQL 基礎之管理對象與數據字典視圖(十九)

數據字典

wKioL1jXzvHRH1WMAABwXlx4MVQ005.jpg


數據字典結構

wKiom1jXzzGzwjzvAABD3cJVJws784.jpg


數據字典結構

視圖命名約定:

視圖前綴含義
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;

wKiom1jX4PHxs4XCAACIY_uEJxI166.jpg


表添加註釋

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章