1. Data Dictionary

- 데이터베이스 테이블은 사용자 테이블(user table, normal table)과 데이터 사전(data dictionary, base table)으로 나뉜다.

- 데이터 사전은 데이터베이스를 구성하고 운영하는데 필요한 모든 정보를 저장하는 특수한 테이블로 데이터베이스가 생성되는 시점에 자동으로 만들어진다.

- 데이터 사전에는 데이터베이스 메모리, 성능, 사용자, 권한, 객체 등 데이터베이스 운영에 중요한 데이터가 보관되어 있기 때문에 사용자가 데이터 사전 정보에 직접 접근하거나 작업하는 것을 허용하지 않는다. 대신 data dictionary view를 제공하여 SELECT문으로 정보를 열람할 수 있게 하고 있다.

 

2. 분류

- 데이터 사전 뷰는 용도에 따라 접두어를 지정하여 분류한다.

접두어 설명
USER_XXXX 현재 데이터베이스에 접속한 사용자가 소유한 객체 정보를 제공한다.
ALL_XXXX 현재 데이터베이스에 접속한 사용자가 소유한 객체 또는 다른 사용자가 소유한 객체 중 사용 허가를 받은 객체, 즉 사용 가능한 모든 객체 정보를 제공한다.
DBA_XXXX - 데이터베이스 관리를 위한 정보를 제공한다.
- 데이터베이스 관리 권한을 가진 SYSTEM, SYS 사용자만 열람 가능하다.
V$_XXXX - 데이터베이스 성능 관련 정보을 제공한다.
- X$_XXXX 테이블을 베이스로 하는 뷰이다.
X$_XXXX - 오라클의 메모리 정보를 볼 수 있는 SQL 인터페이스 뷰들로, 오라클 데이터베이스의 가장 숨겨진 영역 중 하나이다.
- V$_XXXX 뷰가 보여주지 않는 정보를 보여준다.
/* USER_XXXX 예시 : 접속한 유저가 소유한 테이블 정보 */
SELECT TABLE_NAME
FROM USER_TABLES;

/* ALL_XXXX 예시 : 접속한 유저가 사용할 수 있는 테이블 정보 */
SELECT OWNER, TABLE_NAME
FROM ALL_TABLES;

/* DBA_XXXX 예시1 : 데이터베이스에 존재하는 모든 테이블 출력 */
SELECT *
FROM DBA_TABLES;

/* DBA_XXXX 예시2 : 데이터베이스에 등록된 사용자 정보 조회 */
SELECT *
FROM DBA_USERS
WHERE USERNAME = 'SCOTT';

 

3. 사용 가능한 데이터 사전 확인

/* 사용 가능한 데이터 사전 확인 예시 */
SELECT * FROM DICT;
SELECT * FROM DICTIONARY;

 

 

참고

- 『오라클로 배우는 데이터베이스 입문』

- http://www.gurubee.net/lecture/1520

'Database' 카테고리의 다른 글

View  (0) 2021.10.28
Index  (0) 2021.10.26
DDL(Data Definition Language)  (0) 2021.10.25
Transaction & Session  (0) 2021.10.22
Schema  (0) 2021.10.21