본문 바로가기
IT Basic/Data

[DB] 데이터 사전(Data Dictionary)

by HouseDust 2022. 1. 18.
반응형

※ 오라클 기준으로 작성된 글입니다.

 

데이터 사전(Data Dictionary) ?

대부분 읽기전용으로 제공되는 테이블 및 뷰들의 집합으로, 데이터베이스 전반에 대한 정보를 제공한다. 데이터베이스의 데이터를 제외한 모든 정보-데이터에 대한 데이터, 메타데이터-가 들어있다. 데이터 사전의 내용을 변경하는 권한은 시스템이 가진다. 

시스템 카탈로그(system catalog)라고도 불림.

데이터베이스 시스템 구성

데이터 사전에 저장되는 내용

- 데이터베이스 사용자 정보

- 권한과 롤 정보

- 데이터베이스 스키마 객체(TABLE, VIEW, INDEX, CLUSTER, SYNONYM, SEQUENCE 등)정보

- 무결성 제약조건에 관한 정보

- 데이터베이스의 구조 정보

- 데이터베이스의 함수와 프로시저 및 트리거에 대한 정보

- 기타 일반적인 데이터베이스 정보

 

데이터 사전에는 데이터베이스 운영에 중요한 데이터들이 저장되기 때문에, 데이터 사전에 문제가 발생할 시 데이터베이스 사용이 불가능해질 수 있다.

 

데이터 사전도 데이터를 저장하는 데이터베이스의 일종이기 때문에 시스템 데이터베이스(system database)라고도 한다. 데이터 사전은 데이터베이스 관리 시스템이 스스로 생성하고 유지하는 것으로, 데이터베이스 관리 시스템이 주로 접근하지만 일반 사용자도 접근이 가능하다. 하지만, 내용을 추가하거나 수정할 수는 없고 검색만 할 수 있다.

 

※ 데이터 디렉터리(data directory)는 데이터 사전에 있는 데이터에 실제로 접근하는 데 필요한 위치 정보를 담은 데이터 베이스다. 데이터 사전처럼 시스템을 위한 데이터베이스지만, 데이터 디렉터리는 사용자 접근이 불가하다.

 

 

데이터 사전의 분류

데이터 사전 조회

SELECT * FROM DICT;

SELECT * FROM DICTIONARY;

한 특정 사용자가 사용 가능한 데이터 사전 조회

 

ALL_XXXX  : 한 특정 사용자가 조회 가능한 모든 데이터 사전

SELECT table_name, tablespace_name
  FROM ALL_TABLES;

 

USER_XXXX  : 한 특정 사용자에게 종속되어 있고, 그 사용자가 조회 가능한 데이터 사전 뷰, ALL_XXXX의 부분집합

SELECT table_name, tablespace_name
  FROM USER_TABLES;

 

DBA_XXXX  : DBA 권한을 가진 사용자만이 조회할 수 있는 데이터 사전, 모든 데이터베이스 객체에 대한 정보를 볼 수 있다. 다른 사용자가 질의하려면 앞에 'SYS.'라는 접두어를 붙여야 한다.

SELECT OWNER, OBJECT_NAME
  FROM SYS.DBA_OBJECT;

 

V$XXXX  : Dynamic Performance View, 현재 Database 상태에 관한 정보. 모니터링 작업용 성능 분석/통계 정보를 제공하며, 주로 DBA에게만 권한이 부여된다. X$ 테이블에 대한 뷰

-  X$XXXX  : 성능 분석/통계 정보를 제공하는 테이블

 

 

 

 

참고 : 자세한 데이터 사전 정보 ↓

 

Oracle Data Dictionary (데이터 사전)

데이터 사전(Data Dictionary)이란 ? 데이터 사전(Data Dictionary)이란 대부분 읽기전용으로 제공되는 테이블 및 뷰들의 집합으로 데이터베이스 전반에 대한 정보를 제공 sql.bsq에 의해 생성되는 기본 TABL

isstory83.tistory.com

 

 


참고자료

김연희, 『데이터베이스 개론 2판』, 한빛문화원(2019), p69

Tistory, I's Story - Oracle Data Dictionary(데이터 사전)

Tistory, 넨이의 코딩 - 데이터 사전 검색(SQL_활용)

커뮤니티 구루비, 김정식, Oracle SQL 강좌, 데이터 사전(Data Dictionary)이란? 

 

반응형

댓글