BACKEND/DATABASE

[Oracle SQL] 데이터 딕셔너리

우진하다 2023. 11. 8. 14:43

데이터 딕셔너리

데이터 딕셔너리는 데이터베이스 관리 시스템(DBMS)의 구조를 설명하는 시스템 테이블 + 뷰 들의 집합

데이터 베이스 스키마, 테이블, 뷰, 인덱스, 사용자, 권한 등에 관한 것이며, 데이터 베이스의 메타데이터라고도 볼 수 있다.

데이터 딕셔너리는 읽기 전용으로 DBMS만이 추가, 수정, 삭제가 가능하며 사용자는 저장된 정보 조회만 가능하다.

 

주요 구성 요소

테이블 메타데이터

테이블의 이름, 테이블에 있는 필드(컬럼), 각 필드의 데이터아입, 필드의 제약 조건(예: 기본키, 외래키)에 대한 정보를 포함한다.

 

뷰 메타데이터

뷰는 하나 이상의 테이블에서 유도된 가상 테이블로 데이터 딕셔너리는 뷰의 정의와 관련된 정보를 포함합니다.

데이터 딕셔너리 뷰는 데이터 딕셔너리에 저장된 메타데이터를 사용자가 쿼리할 수 있도록 만들어진 시스템 뷰이며

이 뷰를 통해 사용자는 데이터베이스 객체(테이블, 뷰, 인덱스, 사용자, 권한 등)에 관한 정보를 조회할 수 있다.

데이터 딕셔너리 뷰는 일반적으로 읽기 전용이며, DBMS가 자동으로 관리한다.

 

인덱스 메타데이터

인덱스는 검생 성능을 향상시키기 위해 테이블의 하나 이상의 열에 생성된다.

인덱스에 관한 세부 정보도 데이터 딕셔너리에 저장된다.

 

사용자 메타데이터

데이터베이스 사용자와 관련된 정보, 사용자가 가진 권한, 그리고 각 사용자가 소유한 객체에 대한 정보가 포함된다.

 

저장 프로시저와 함수

데이터베이스에 저장되어 있는 프로시저와 함수에 대한 정의와 권한이 포함된다.

 

 

기능

데이터베이스 설계 지원

데이터베이스 설계자는 데이터 딕셔너리를 참조해 데이터베이스 스키마를 이해하고, 테이블간의 관계를 파악하고, 데이터베이스의 구조를 설계할 때 필요한 정보를 얻을 수 있습니다.

 

쿼리 최적화

데이터베이스 엔진은 쿼리를 실행하기 전에 데이터 딕셔너리를 사용하여 쿼리플랜을 최적화 한다.

이를 통해 데이터베이스의 성능을 향상시킬 수 있다.

 

데이터베이스 관리

데이터베시으 관리자(DBA)는 데이터 딕셔너리를 사용하여 데이터베이스의 보안, 사용자 권한 및 기타 관리 작업을 수행할 수 있다.

 

데이터베이스 감사 및 보고

데이터베이스의 변경사항을 추적하고 보고서를 생성하는데 사용된다.

 

접근 방법

SQL 쿼리

'SELECT' 문을 사용하여 데이터 딕셔너리 정보를 조회할 수 있다.

-- 데이터베이스 내의 모든 테이블에 대한 정보를 반환
SELECT * FROM INFORMATION_SCHEMA.TABLES;

-- 일부 데이터베이스 시스템에서 현재 접속한 데이터베이스의 테이블 목록을 조회
select * from tab;