9.2 데이터 사전(Data Dictionary) 정보조회

출처 URL : http://www.gurubee.net/lecture/1850

데이터 사전의 괄호 명칭(dict, obj, tabs, cols..등)은 데이터사전의 시노님이다. 시노님을 이용하여 조회 할 수도 있다.

데이터 사전 뷰

DICTIONARY (DICT)
  • – 권한이 있는 데이터사전에 대한 데이터사전명과 설명 정보를 제공한다.
-- USER_INDEX로 시작하는 데이터사전을 조회하는 예이다. 
SELECT * 
  FROM DICT 
 WHERE TABLE_NAME LIKE 'USER_INDEX%';
DICT_COLUMNS
  • – 데이터사전의 컬럼에대한 정보를 조회 할 수 있다.
-- USER_INDEXES 데이터사전의 컬럼 정보를 조회하는 예이다 
SELECT * 
  FROM DICT_COLUMNS 
 WHERE TABLE_NAME ='USER_INDEXES';

자주 사용하는 데이터 사전

USER_OBJECTS (OBJ)
  • – 모든 객체(테이블, 인덱스, 시퀀스등..)에 대한 정보를 제공한다.
-- 사용자의 테이블명을 조회하는 예이다 
SELECT object_name 
  FROM USER_OBJECTS 
 WHERE object_type='TABLE';
 
 
-- 아래는 시노님을 이용해서 조회하는 예이다.
SELECT object_name 
  FROM obj 
 WHERE object_type='TABLE';
USER_TABLES (TABS)
  • – 테이블에 대한 정보를 제공한다.
-- 사용자가 소유한 테이블명과 테이블의 테이블스페이스를 조회하는 예이다. 
SELECT table_name, tablespace_name 
  FROM tabs;
USER_TAB_COLUMNS (COLS)
  • – 사용자가 소유한 테이블의 컬럼에 대한 정보를 제공한다.
-- DEPTNO 컬럼이 있는 테이블과 테이터타입, 데이터사이즈를 조회하는 예이다. 
SELECT table_name, data_type, data_length 
  FROM cols 
 WHERE column_name='DEPTNO' ;
USER_CONSTRAINTS, USER_CONS_COLUMNS
  • – USER_CONSTRAINTS : 사용자가 소유한 제약조건 정보 제공
  • – USER_CONS_COLUMNS : 컬럼에 할당된 제약조건 정보 제공
-- 입력받은 테이블의 제약조건 정보를 조회하는 예이다. 
SELECT SUBSTR(a.column_name,1,15) column_name,  
         DECODE(b.constraint_type,
             'P','PRIMARY KEY',
             'U','UNIQUE KEY',
             'C','CHECK OR NOT NULL',
             'R','FOREIGN KEY') constraint_type,  
       a.constraint_name  
  FROM user_cons_columns a, user_constraints b  
 WHERE a.table_name = UPPER('&table_name') 
   AND a.table_name = b.table_name  
   AND a.constraint_name = b.constraint_name  
 ORDER BY 1;  
 
-- 테이블 명을 입력 하면 된다.
table_name의 값을 입력하십시오: emp2 
 
COLUMN_NAME    CONSTRAINT_TYPE    CONSTRAINT_NAME
------------- ----------------- -----------------
DEPTNO           FOREIGN KEY         FK_DEPTNO
EMPNO            PRIMARY KEY         PK_EMP
USER_INDEXES (IND), USER_IND_COLUMNS
  • – USER_INDEXES(IND) : 사용자가 소유한 인덱스 정보 제공
  • – USER_IND_COLUMNS: 인덱스 컬럼에 대한 정보 제공
-- 사용자가 소유한 인덱스 정보를 조회하는 예이다. 
SELECT index_name, table_name, tablespace_name 
  FROM user_indexes;

주요 데이터 사전

USER_OBJECTS(OBJ) : 모든 오브젝트에 대한 정보를 지원, 오브젝트 유형, 작성시간, 오브젝트에 사용된 최종 DDL 명령, alter, grant 및 revoke 등

USER_TABLES(TABS) : 테이블에 대한 정보

USER_TAB_COLUMNS(COLS) : 컬럼에 대한 정보

USER_VIEWS : 뷰에 대한 정보

USER_SYNONYMS(SYN) : 동의어

USER_SEQUENCES(SEQ) : 시퀀스

USER_CONSTRAINTS : 제약조건

USER_CONS_COLUMNS : 제약 조건을 가진 열에 대한 정보

USER_TAB_COMMENTS : 테이블/뷰에 대한 주석

USER_COL_COMMENTS : 컬럼에 대한 주석

USER_INDEXES(IND) : 인덱스에 관한 정보

USER_IND_COLUMNS : 인덱스열에 대한 정보

USER_CLUSTERS(CLU) : 클러스터와 관련된 정보

USER_DB_LINKS : 데이터베이스 링크에 관련된 정보

USER_TRIGGERS : 트리거

USER_SOURCE : 프로시저, 함수 및 패키지

USER_ERRORS : 코드 오류

USER_TABLESPACES : 테이블스페이스

USER_USERS : 사용자

USER_TAB_PRIVS : 테이블 권한

USER_COL_PRIVS : 열 권한

USER_SYS_PRIVS : 시스템 권한

Oracle Database 전체 데이터사전


답글 남기기 0

Your email address will not be published. Required fields are marked *