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

2019. 4. 24. 14:30 Database/Oracle SQL

데이터 사전의 괄호 명칭(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 전체 데이터사전


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

'Database > Oracle SQL' 카테고리의 다른 글

10.4. SYNONYM(동의어)  (0) 2019.04.24
10.3. 시퀀스(Sequence)의 이해 및 활용  (0) 2019.04.24
10.2. VIEW 테이블  (0) 2019.04.24
10.1. 인덱스(Index)  (0) 2019.04.24
9.1. 데이터 사전(Data Dictionary)이란?  (0) 2019.04.24
7.7. UNION [ALL], INTERSECT, MINUS 연산자  (0) 2019.04.19
7.6. Scalar Subquery  (0) 2019.04.19
7.5. Inline View (From절 Subquery)  (0) 2019.04.19