본문 바로가기
IT/DB

DB - 스키마(Schema)의 뜻과 특징, 외부 스키마, 개념 스키마, 내부 스키마

by 꿀코 2023. 2. 22.
반응형

DB를 공부하면서 가장 처음 배우는 것이 스키마(Schema)에 대한 개념입니다. 데이터베이스에서 가장 기초적인 내용이지만 처음 데이터베이스를 접하는 학생이나 비전공자들이 이해하기에는 쉽지 않은 개념입니다. 그럼 스키마의 개념 및 특징과 외부 스키마, 개념 스키마, 내부 스키마에 대해 알아보겠습니다.

스키마(Schema)란?

  • 스키마는 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 메타데이터의 집합입니다.
  • 스키마는 데이터베이스를 구성하는 데이터 개체(Entity), 개체의 특성을 나타내는 속성(Attribute), 개체 사이에 존재하는 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관하여 기술합니다.
  • 스키마는 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 정의합니다.

스키마의 특징

  1. 스키마는 데이터 사전(Data Dictionary)에 저장됨.
  2. 스키마는 현실 세계의 특정한 부분을 모델로 만들어짐.
  3. 스키마는 시간이 지나도 불변하는 특징을 가짐.
  4. 스키마는 데이터의 구조적 특성을 의미하며, 인스턴스에 의해 규정됨.

※ 데이터 사전(Data Dictionary)이란?
데이터베이스 전반에 대한 정보를 제공하는 테이블(Table) 및 뷰(View)들의 집합

스키마의 3 계층

스키마의 3 계층은 사용자의 관점에 따라 나뉜 것으로 다음과 같은 특성을 가집니다.

외부 스키마(External Schema) = 사용자 뷰(View)

  • 사용자의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것
  • 동일한 데이터베이스에도 여러 개의 외부 스키마가 존재할 수 있으며, 하나의 외부 스키마를 여러 사용자가 공유할 수 있음
  • 같은 데이터베이스에 대해서도 사용자의 관점에 따라 서로 다른 관점을 정의할 수 있도록 허용

사용자는 외부 스키마를 통해 구조를 확인하고 데이터 조작어(DML)로 데이터를 사용함.

개념 스키마(Conceptual Schema) = 전체적인 뷰(View)

  • 데이터베이스의 전체적인 논리적 구조로서 물리적 구현은 고려하지 않으며, 사용자가 필요로 하는 종합적인 데이터베이스로 존재
  • 데이터베이스에 개념 스키마는 하나만 존재
  • 개체간의 관계나 보안, 무결성 등 제약 조건에 대한 명세를 정의
  • 데이터베이스 파일에 저장되는 데이터 형태를 나타냄

DBA는 외부 스키마를 통해 전체적인 구조를 확인하고 데이터 정의어(DDL), 데이터 제어어(DCL)로 구조를 설계함.

내부 스키마(Internal Schema) = 저장 스키마(Storage Schema)

  • 물리적 저장장치의 관점으로 본 데이터베이스의 구조
  • 실제로 저장될 데이터 레코드의 물리적인 구조를 정의하며, 물리적 순서 등을 표현
  • 물리적 저장장치와 밀접한 관계로 개념 스키마를 저장장치에 구현하기 위한 방법을 기술

시스템 프로그래머는 내부 스키마를 통해 데이터 내부 구조를 확인하고 물리적인 데이터 구조를 설계함.

반응형

댓글