VIEW의 정의
하나 이상의 테이블에서 원하는 모든 데이터를 선택하여, 그들을 사용자 정의하여 나타낸 것이다. 관계 데이터베이스의 관계 모델의 관계의 일종인 도출 관계에 해당한다. 여러 테이블 또는 뷰의 데이터를 연결하여 조합할 수 있다.
뷰는 기본 테이블(table)과 같이 행(column)과 열(row)로 구성되지만, 다른 테이블에 있는 데이터를 보여줄 뿐이며, 실제 테이블과 달리 데이터 자체를 포함하고 있는 것은 아니다. 뷰를 사용하면 여러 테이블이나 뷰를 하나의 테이블인 것처럼 볼 수 있다.
1. 테이블조회
테이블 목록 조회
SELECT *
FROM all_tables
SELECT *
FROM ALL_OBJECTS
WHERE OBJECT_TYPE = 'TABLE'
테이블 코멘트 조회
SELECT *
FROM ALL_TAB_COMMENTS
WHERE TABLE_NAME = '테이블명'
SELECT *
FROM USER_TAB_COMMENTS
2. 컬럼 조회
컬럼 조회
SELECT *
FROM COLS WHERE TABLE_NAME = '테이블명'
SELECT *
FROM ALL_TAB_COLUMNS
WHERE TABLE_NAME = '테이블명'
SELECT *
FROM USER_TAB_COLUMNS
컬럼 코멘트 조회
SELECT *
FROM USER_COL_COMMENTS
3. 테이블 컬럼 & 코멘트 조회
SELECT A.COLUMN_NAME
, B.COMMENTS
FROM ALL_TAB_COLUMNS A
, ALL_COL_COMMENTS B
WHERE A.TABLE_NAME = '테이블명'
AND A.TABLE_NAME = B.TABLE_NAME
AND A.COLUMN_NAME = B.COLUMN_NAME
4. 데이터베이스 메타데이터
SELECT * FROM USER_OBJECTS; --모든 USER오브젝트
SELECT * FROM USER_TABLES; --테이블 정보
SELECT * FROM USER_TAB_COLUMNS; --테이블에 있는 컬럼의 정보
SELECT * FROM USER_VIEWS; --뷰정보
SELECT * FROM USER_SEQUENCES; --시퀀스 정보
SELECT * FROM USER_CONSTRAINTS; --각종 제약조건
SELECT * FROM USER_CONS_COLUMNS; --제약 조건을 가진 컬럼에 대한 정보
SELECT * FROM USER_TAB_COMMENTS; --테이블 주석정보
SELECT * FROM USER_COL_COMMENTS; --컬럼 주석 정보
SELECT * FROM USER_INDEXES; --인덱스 정보
SELECT * FROM USER_IND_COLUMNS; --인덱스 컬럼 정보
SELECT * FROM USER_DB_LINKS; --디비 링크 정보
SELECT * FROM USER_TRIGGERS; --트리거 정보
SELECT * FROM USER_PROCEDURES; --프로시져, 함수 , 패키징 정보
SELECT * FROM USER_SOURCE; --트리거, 함수, 프로시져, 패키지 소스
SELECT * FROM USER_TABLESPACES; --테이블 스페이스 정보
SELECT * FROM USER_USERS; --사용자 정보
SELECT * FROM USER_TAB_PRIVS; --테이블 권한 정보
SELECT * FROM USER_COL_PRIVS; --컬럼 권한 정보
SELECT * FROM USER_SYS_PRIVS; --시스템 권한 정보
SELECT * FROM USER_TAB_PRIVS_MADE; --내가 부여한 테이블 권한
SELECT * FROM USER_TAB_PRIVS_RECD; --내가 부여받은 테이블 권한
SELECT * FROM USER_COL_PRIVS_MADE; --내가 부여한 컬럼 권한
SELECT * FROM USER_COL_PRIVS_RECD; --내가 부여받은 컬럼 권한