Post

[DB 데이터베이스] 스키마(Schema)의 개념 및 특징

스키마(Schema)란?


스키마(Schema)는 DB의 구조와 제약 조건에 관한 전반적인 명세를 정의한 메타데이터집합입니다.

메타데이터(meta data)는 데이터에 대한 데이터로, 어떤 목적을 가지고 만들어졌는지 설명합니다.


개체의 특성을 나타내는 속성(Attribute)과, 속성들의 집합으로 이루어진 개체(Entity), 그리고 개체 사이에 존재하는 관계(Relation)에 대한 정의를 포함하여, 이들이 지켜야 할 제약 조건을 기술한 것입니다.


image-20240618110051789


개체(Entity)

  • 데이터로 표현하려고 하는 객체 (여러 속성들로 구성)

  • ER 다이어그램에서 네모로 표현

  • ex) 학생, 과목

속성(Attribute)

  • 개체가 갖는 속성

  • ER 다이어그램에서 으로 표현

  • ex) 홍길동, 이순신, 수학, 영어

관계(Relation)

  • 개체와 개체 사이의 연관성

  • ER 다이어그램에서 마름모로 표현

  • ex) 학생과 과목 간의 “수강”이라는 관계를 가짐



스키마의 특징


  1. 스키마는 데이터 사전(Data Dictionary)에 저장됩니다.

    데이터 사전 : 데이터 항목들에 대한 정보를 지정한 중앙 저장소 (테이블 및 뷰들의 집합)

  2. 스키마는 특정 데이터 모델을 이용해서 만들어집니다. (현실 세계의 특정한 부분의 표현)

  3. 스키마는 시간에 따라 불변인 특성을 가집니다.

  4. 스키마는 데이터의 구조적 특성을 의미하며, 인스턴스에 의해 규정됩니다.



스키마 3계층


스키마는 사용자의 관점에 따라 외부 스키마, 개념스키마, 내부 스키마로 나눠집니다.

image-20201204003948066


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

  • 개별 사용자들의 입장에서 데이터 베이스의 논리적 구조를 정의한 것입니다.

  • 동일한 데이터에 대해, 서로 다른 관점을 정의할 수 있도록 허용합니다.

  • 하나의 데이터베이스 시스템에는 여러개의 외부 스키마가 존재 가능하며, 하나의 외부 스키마를 여러개의 응용 프로그램이나 사용자가 공용 가능합니다.


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

  • 데이터베이스의 전체 조직에 대한 논리적인 구조로, 물리적인 구현은 고려하지 않습니다.

  • 각 데이터베이스에는 한 개의 개념 스키마만 존재합니다.

  • 개체 간의 관계 및 무결성 제약 조건에 대한 명세를 정의합니다.

    무결성 제약 조건 이란?

    데이터베이스의 정확성, 일관성을 보장하기 위해 저장, 삭제, 수정 등을 제약하기 위한 조건

  • 데이터베이스 파일에 저장되는 데이터의 형태를 나타내며, 이는 DBA에 의해 구성됩니다.


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

  • 물리적 저장장치의 입장에서 본 데이터베이스 구조입니다.

  • 개념 스키마를 디스크 기억장치에 물리적으로 구현하기 위한 방법을 기술한 것입니다.

  • 저장될 데이터 항목의 내부 레코드 형식, 물리적 순서 등을 나타냅니다.



데이터 독립성


데이터베이스 내의 데이터, 데이터를 사용하는 사용자 및 응용 프로그램, 데이터베이스의 저장 구조가 서로 영향을 받지 않는 성질을 의미합니다.

논리적 독립성

  • 개념 스키마가 변경되어도, 외부 스키마에 영향을 주지 않습니다.

물리적 독립성

  • 내부 스키마가 변경되어도, 개념 스키마, 외부 스키마에 영향을 주지 않습니다.

  • 저장 구조 등이 물리적으로 변경되어도 다른 스키마와 독립적인 것을 의미합니다.


This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.