[데이터베이스] 스키마 (Schema)

2023. 10. 17. 17:25CS/데이터베이스

스키마 (Schema)

정의

스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터(Meta-Data)의 집합이다. 또한 데이터베이스를 구성하는 데이터 개체(Entitiy), 개체의 성질을 나타내는 속성(Attribute), 개체 간 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 기술한다. 쉽게 말해서 데이터베이스 내에 데이터를 어떤 구조로 저장하는지를 나타내는 데이터베이스 구조를 스키마라고 한다.

 

메타데이터(Meta-Data)란?
다른 데이터를 정의하고 기술하는 데이터, 즉 다른 데이터를 설명해 주는 데이터를 의미한다.

특징

  • 스키마는 데이터 사전(DD : Data Dictionary)에 저장된다.
  • 스키마는 현실 세계의 특정한 부분의 표현으로 특정 데이터 모델을 사용하여 만들어진다.
  • 스키마는 시간에 구애받지 않는 불변성을 가진다.
  • 스키마는 데이터의 구조적 특성을 의미하며, 인스턴스에 의해 규정된다.

 

스키마의 3 계층

 

스키마의 3계층

 

스키마는 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나누어진다.

외부 스키마(External Schema) - 서브 스키마, 사용자 뷰

개별 사용자들의 입장에서 데이터베이스의 논리적 구조를 정의한 것으로 동일한 데이터에 대한 각기 다른 관점을 가진다. 하나의 데이터베이스 시스템에는 여러 개의 외부 스키마가 존재 가능하며 하나의 외부 스키마를 여러 개의 응용 프로그램이나 사용자가 공유 가능하다.

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

데이터베이스 전체적인 논리적 구조이며 물리적 구현은 고려하지 않는다. 모든 응용 프로그램이나 사용자들이 필요로하는 데이터를 종합한 조직 전체의 데이터베이스로 하나만 존재한다. 개념 스키마는 개체 간의 관계와 제약 조건을 나타내고 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의한다. 데이터베이스 파일에 저장되는 데이터 형태를 나타내는 것으로 단순히 스키마라 하면 개념 스키마를 의미한다.

내부 스키마(Internal Schema) - 시스템 설계자 뷰

내부 스키마는 물리적인 저장장치 입장에서 데이터가 저장되는 방법을 기술한 것이며 실제 데이터베이스에 저장될 레코드의 물리적인 구조를 정의한다. 내부 스키마는 개념 스키마를 디스크 기억장치에 물리적으로 구현하기 위한 방법을 기술한다.

 

데이터 독립성

 

데이터베이스 내의 데이터와 데이터를 사용하는 사용자 및 응용 프로그램, 그리고 데이터베이스의 저장 구조가 서로 영향을 받지 않는 성질을 의미한다. 쉽게 말해 각 스키마의 변경으로 인해 다른 스키마의 내용에 영향이 없다는 뜻이다.

 

데이터 독립성은 성질에 따라 논리적, 물리적 독립성으로 나뉘어진다.

  • 논리적 독립성 : 개념 스키마가 변경되어도, 외부 스키마에 영향을 주지 않는다.
  • 물리적 독립성 : 내부 스키마가 변경되어도, 개념 스키마/외부 스키마에 영향을 주지 않는다.