정보처리기사/데이터베이스 활용

시스템 카탈로그 (System Catalog)

glorypang 2025. 10. 4. 00:59
728x90
반응형
SMALL

1. 정의

  • DBMS가 데이터베이스 자체에 관한 데이터(=메타데이터) 를 저장해두는 특수한 테이블 집합.
  • 데이터 딕셔너리(Data Dictionary)라고도 부름.
  • DBMS가 자동으로 생성·관리하며, 사용자가 직접 접근·조회 가능(수정은 불가).

2. 저장하는 내용

시스템 카탈로그에는 DB 객체와 제약조건, 권한 등 DB 전체 구조와 관리 정보가 들어 있음.

  • 테이블 정보: 테이블 이름, 속성명, 데이터 타입, 길이 등
  • 뷰(View) 정보: 뷰 정의, 기반 테이블 정보
  • 인덱스(Index) 정보: 인덱스 이름, 속성, 유형
  • 제약조건(Constraints): 기본키, 외래키, 유일성, 도메인 제약 등
  • 사용자 및 권한: 사용자 계정, 권한, 접근 제어 정보
  • 통계 정보: 레코드 개수, 접근 경로, 저장 공간 사용량 등

3. 특징

  • DBMS 내부 테이블일반 사용자가 임의로 변경 불가
  • 자동 갱신: DDL(테이블 생성, 인덱스 추가 등) 실행 시 DBMS가 시스템 카탈로그를 자동 수정
  • 메타데이터 관리: DBMS 스스로 DB 객체를 관리하기 위한 “뇌” 역할
  • 쿼리 가능: 일반 SQL로 조회 가능
    (예: Oracle의 USER_TABLES, MySQL의 INFORMATION_SCHEMA)

4. 예시

사용자가 테이블 생성:

CREATE TABLE Student (
    sid CHAR(5) PRIMARY KEY,
    name VARCHAR(20),
    dept VARCHAR(20)
);

→ DBMS는 시스템 카탈로그에 다음 정보를 자동 등록:

  • 테이블 이름 = Student
  • 속성 = sid, name, dept
  • sid 속성: CHAR(5), Primary Key
  • name 속성: VARCHAR(20)
  • dept 속성: VARCHAR(20)

5. 활용

  • DBMS 내부 최적화: 실행계획 세울 때 시스템 카탈로그의 통계 정보를 참조
  • 관리자 조회: 사용자 권한, 테이블 구조, 제약조건 확인
  • 보안 및 무결성: 참조 무결성, 도메인 제약 등 시스템 카탈로그 기반으로 검증

 

728x90
반응형
LIST