본문 바로가기
CS/DB

[DB] 데이터베이스 스키마 개념과 종류 (외부, 개념, 내부)

by jangThang 2023. 4. 22.
반응형

 데이터베이스 시스템을 이루는 3가지 스키마에 대해서 알아보고, 이를 구분하는 인터페이스를 살펴봅니다.

 

[ Contents ]

     

     

    1. 데이터베이스 시스템

     데이터베이스 시스템은 위와 같이 작동합니다.

     사용자나 응용프로그램에 맞게 외부 스키마를 나누어 놓으며, 외부 스키마가 모여 하나의 개념 스키마를 이룹니다.

     

     

     

    2. 스키마 (Schema)

    - 전반적인 DB의 논리적 설계를 의미하며, 관계형 DB에서 데이터가 구조화되는 방식을 정의
    - 데이터 객체, 성질, 관계, 제약조건에 관한 정의

     

     위 그림과 같이, 스키마는 대체로 데이터베이스 아키텍처를 그릴 때 들어갑니다. 그리고 스키마 설계 프로세스를 데이터 모델링이라고도 합니다. 이렇게 모델링된 스키마는 컴파일되어 데이터 사전에 저장됩니다.

     

     

     

    3. 스키마 종류

    1) 외부 스키마 (External Schema)

     사용자나 응용프로그래머가 데이터베이스에 접근할 수 있는 인터페이스 역할을 합니다. 각각의 사용자 그룹을 위한 외부 스키마가 존재하며, 외부 스키마가 모여 개념 스키마를 이룹니다.

     따라서 외부 스키마는 전체 DB 스키마의 일부분이므로, '서브 스키마(Sub Schema)'라고도 불립니다.

     

     

    2) 개념 스키마 (Conceptual Schema)

     DB의 전체의 논리 구조로서, 오로지 하나만 존재하며 DBA(DB 관리자)에 의해 구성됩니다.

     모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 DB이며, 단순히 스키마라고 하면 '개념 스키마'를 의미합니다.

     

     

    3) 내부 스키마 (Internal Schema)

     물리 저장장치 관점에서 본 DB구조입니다. 물리적 저장장치와 밀접한 계층으로, 전체 DB가 저장되는 방법을 명세합니다.

     내부 레코드 형식이나 물리적 순서, 인덱스 유무 등 실제 DB에 저장될 물리적 구조를 정의합니다. 이는 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이기도 합니다.

     

     

     

    4. 스키마로 본 데이터베이스 구조

     다시 위 그림을 살펴봅시다.

     사용자들은 쿼리문이나 응용 프로그램으로 DB에 접근하며, 이는 각각의 외부 스키마에서 필요한 기능과 권한을 제공합니다. 응용 프로그래머들은 직접 쿼리문을 실행하거나, java나 c언어 등 호스트 프로그램 언어를 사용할 수도 있습니다. 그리고 DBA는 직접 DBMS에 접근할 수도 있겠죠.

     

     외부 스키마에서 지원하는 기능과 권한을 모은 곳이 개념 스키마입니다. 그리고 그 개념 스키마를 물리적 구조로 정의한 것이 내부 스키마가 되겠습니다.

     

     

    star가 되고나서 Tistory

    반응형

    댓글