본문 바로가기

BASIC/DataBase

[DB] 시스템 카탈로그

1. 시스템 카탈로그(System Catalog)의 의미

- 시스템 카탈로그는 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스이다.

- 시스템 카탈로그 내의 각 테이블은 사용자를 포함하여 DBMS에서 지원하는 모든 데이터 객체에 대한 정의나 명세에 관한 정보를 유지 관리하는 시스템 테이블이다.

- 데이터 정의어의 결과로 구성되는 기본 테이블, 뷰, 인덱스, 패키지, 접근 권한 등의 데이터베이스 구조 및 통계 정보를 저장한다.

- 카탈로그들이 생성되면 자료 사전에 저장되기 때문에 좁은 의미로는 카탈로그를 자료 사전이라고도 한다.

- 카탈로그에 저장된 정보를 메타 데이터라고 한다.


2. 카탈로그의 특징

- 카탈로그 자체도 시스템 테이블로 구성되어 있어 일반 이용자도 SQL을 이용하여 내용을 검색해 볼 수 있다.

- INSERT, DELETE, UPDATE문으로 카탈로그를 갱신하는 것은 허용되지 않는다.

- 데이터베이스 시스템에 따라 상이한 구조를 갖는다.

- 카탈로그는 DBMS가 스스로 생성하고 유지한다.

- 카탈로그의 갱신 : 사용자가 SQL문을 실행시켜 기본 테이블, 뷰, 인덱스 등에 변화를 주면 시스템이 자동으로 갱신한다.

- 분산 시스템에서의 카탈로그 : 보통의 릴레이션, 인덱스, 사용자 등의 정보를 포함할 뿐 아니라 위치 투명성 및 중복 투명성을 제공하기 위해 필요한 모든 제어 정보를 가져야 한다.


3. 시스템 카탈로그의 종류

- SYSTABLES : 기본 테이블 및 뷰 테이블의 정보를 저장하는 테이블

- SYSCOLUMNS : 모든 테이블에 대한 정보를 열(속성) 중심으로 저장하는 테이블

- SYSINDEXES : 인덱스 테이블에 대한 정보를 저장하는 테이블

- SYSVIEW : 뷰에 대한 정보를 저장하는 테이블

- SYSTABAUTH : 테이블에 설정된 권한 사항들을 저장하는 테이블

- SYSCOLAUTH : 각 속성에 설정된 권한 사항들을 저장하는 테이블

- SYSDEPEND : 기존 테이블과 뷰 사이의 종속 관계를 저장하는 테이블

- SYSUSERS : 사용자의 권한 등급 정보를 저장하는 테이블


4. 카탈로그/데이터 사전을 참조하기 위한 DBMS 내의 모듈 시스템

- 데이터 정의어 번역기(DDL Compiler) : DDL을 메타 데이터를 갖는 테이블(카탈로그)로 변환하여 데이터 사전에 저장시킨다.

- 데이터 조작어 번역기(DML Compiler) : 응용 프로그램에 삽입된 DML문을 주 언어로 표현한 프로시저 호출로 변환하여 질의 처리기와 상호 통신한다.

- Data Directory : 데이터 사전에 수록된 데이터를 실제로 접근하는 데 필요한 정보를 관리 유지하는 시스템이며 시스템 카탈로그는 사용자와 시스템 모두 접근할 수 있지만 데이터 디렉터리는 시스템만 접근할 수 있다.

- 질의 최적화기 : 사용자의 요구를 효율적인 형태로 변환하고 질의를 처리하는 좋은 전략을 모색한다.

- 트랜잭션 처리기 : 복수 사용자 환경에서 평행으로 동시에 일어나는 트랜잭션 문제를 해결하여, 각각의 사용자가 데이터베이스 자원을 배타적으로 이용할 수 있도록 한다.

'BASIC > DataBase' 카테고리의 다른 글

[DB] 병행제어(Concurrency Control)  (0) 2018.02.22
[DB] 트랜잭션의 개념  (0) 2018.02.21
[DB] 뷰(View)  (0) 2018.02.21
[DB] DML - SELECT  (0) 2018.02.21
[DB] SQL의 개념  (0) 2018.02.21