[Database] 시스템 카탈로그란?
[Database] 시스템 카탈로그란?
시스템 카탈로그
- 시스템 카탈로그는 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스이다
- 시스템 카탈로그 내의 각 테이블은 사용자를 포함하여 DBMS에서 지원하는 모든 데이터 객체에 대한 정의나 명세에 관한 정보를 유지 관리하는 시스템 테이블이다.
- 데이터 정의어(DDL)의 결과로 구성되는 기본 테이블, 뷰, 인덱스, 패키지, 접근 권한 등의 데이터베이스 구조 및 통계 정보를 저장한다.
- 카탈로그들이 생성되면 자료사전에 저장되기 때문에 좁은 의미로는 카탈로그를 자료 사전이라고도 한다.
- 카탈로그에 저장된 정보를 메타 데이터라고 한다.
카탈로그의 특징
- 카탈로그 자체도 시스템 테이블로 구성되어 있어 일반 이용자도 SQL을 이용하여 내용을 검색해 볼 수 있다.
- 어떠한 사용자도 INSERT, DELETE, UPDATE문으로 시스템 카탈로그를 직접 갱신하는 것은 허용되지 않는다.
- 데이터 정의어(DDL)을 통해서만 시스템 카탈로그를 갱신할 수 있다.
- ALTER TABLE EMPLOYEE DROP COLUMN MANAGER;
- 데이터베이스 시스템에 따라 상이한 구조를 갖는다.
- 시스템 카탈로그는 DBMS가 스스로 생성하고 유지한다.
- 카탈로그의 갱신
- 사용자가 SQL문을 실행시켜 기본 테이블, 뷰, 인덱스 등에 변화를 주면 시스템이 자동으로 갱신된다.
- 분산 시스템에서의 카탈로그
- 보통의 릴레이션, 인덱스, 사용자 등에 정보를 포함할 뿐 아니라 위치 투명성 및 중복 투명성을 제공하기 위해 필요한 모든 제어 정보를 가져야 한다.
시스템 카탈로그의 종류
SYSTABLES : 기본 테이블 및 뷰 테이블의 정보를 저장하는 테이블
SYSCOLUMNS : 모든 테이블에 대한 정보를 열(속성) 중심으로 저장하는 테이블
SYSVIEW : 뷰에 대한 정보를 저장하는 테이블
SYSTABAUTH : 테이블에 설정된 권한 사항들을 저장하는 테이블
SYSCOLAUTH : 각 속성에 설정된 권한 사항들을 저장하는 테이블
SYSCOLUMNS : 모든 테이블에 대한 정보를 열(속성) 중심으로 저장하는 테이블
SYSVIEW : 뷰에 대한 정보를 저장하는 테이블
SYSTABAUTH : 테이블에 설정된 권한 사항들을 저장하는 테이블
SYSCOLAUTH : 각 속성에 설정된 권한 사항들을 저장하는 테이블
출처
댓글
댓글 쓰기