9.2. 데이터 사전(Data Dictionary) 정보조회
데이터 사전의 괄호 명칭(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 전체 데이터사전
'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 |