Computer >> 컴퓨터 >  >> 프로그래밍 >> SQL

데이터 사전(Data Dictionary)이란? 개념, 구성 요소, 종류까지 완벽 정리

데이터 사전(Data Dictionary)이란?

데이터 사전은 메타데이터(metadata), 즉 '데이터에 관한 데이터'를 담고 있는 저장소입니다. 데이터베이스 안에 어떤 데이터가 있는지, 누가 접근할 수 있는지, 데이터베이스가 물리적으로 어디에 저장되어 있는지 등의 핵심 정보를 포함하고 있기 때문에 매우 중요한 역할을 합니다.

일반 사용자는 데이터 사전과 직접 상호작용하지 않으며, 오직 데이터베이스 관리자(DBA)만 이를 관리하고 다룹니다.

데이터 사전에 포함되는 주요 정보

  • 데이터베이스 내 모든 테이블의 이름과 스키마(schema)
  • 각 테이블의 세부 정보: 소유자, 보안 제약 조건, 생성 시점 등
  • 테이블의 물리적 저장 위치 및 저장 방식
  • 기본 키(primary key) 속성, 외래 키(foreign key) 정보 등 테이블 제약 조건
  • 사용자에게 노출되는 뷰(view)에 대한 정보

데이터 사전 예시: 직원 정보 테이블

아래는 직원 정보를 담은 테이블을 설명하는 데이터 사전의 예시입니다.

필드명데이터 타입표시 크기설명예시
사원번호정수(Integer)10각 직원의 고유 식별 ID1645000001
이름문자(Text)20직원의 성명David Heston
생년월일날짜/시간(Date/Time)10직원의 생년월일08/03/1995
전화번호정수(Integer)10직원의 연락처6583648648

데이터 사전의 종류

데이터 사전은 관리 방식에 따라 크게 두 가지 유형으로 나뉩니다.

1. 능동형 데이터 사전(Active Data Dictionary)

데이터베이스의 구조나 명세가 변경될 때마다 그 변경 사항이 데이터 사전에도 반영되어야 합니다. 이 작업은 데이터 사전이 속한 데이터베이스 관리 시스템(DBMS)의 책임입니다.

즉, 데이터베이스에 변화가 생기면 DBMS가 자동으로 데이터 사전을 갱신합니다. 이처럼 스스로 업데이트되는 데이터 사전을 능동형(active) 데이터 사전이라고 부릅니다.

2. 수동형 데이터 사전(Passive Data Dictionary)

수동형(passive) 데이터 사전은 능동형만큼 유용하지 않고 관리도 번거롭습니다. 이 유형은 실제 데이터베이스와 별도로 분리되어 관리됩니다. 따라서 데이터베이스가 수정되더라도 능동형 데이터 사전과 달리 자동으로 갱신되지 않습니다.

그렇기 때문에 수동형 데이터 사전은 데이터베이스와 내용이 일치하도록 수동으로 업데이트해 주어야 합니다. 신중하게 관리하지 않으면 데이터베이스와 데이터 사전이 서로 동기화되지 않는 불일치 문제가 발생할 수 있습니다.