[DB] 스키마(Schema)란? 외부스키마, 개념스키마, 내부스키마

블로그 이사합니다

아래에서 확인 가능합니다.

 

https://code-lab1.com/%EC%8A%A4%ED%82%A4%EB%A7%88/

 

[DB] 스키마(Schema)란? 외부스키마, 개념스키마, 내부스키마 - 코드 연구소

스키마는 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 것이다. 스키마는 데이터베이스를 구성하는 데이터 개체(Entity), 개체의 특성을 나타내는 속성(Attribute), 개체 사이에

code-lab1.com

 

스키마(Schema)란?

스키마는 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 것이다. 스키마는 데이터베이스를 구성하는 데이터 개체(Entity), 개체의 특성을 나타내는 속성(Attribute), 개체 사이에 존재하는 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관하여 기술한다.  

 

쉽게 말해 DB 내에 데이터가 어떤 구조로 저장되는가를 나타내는 데이터베이스 구조를 스키마라고 한다.

스키마의 특징

1. 스키마는 데이터 사전(Data Dictionary)에 저장되며, 다른 이름으로 메타데이터(Meta Data)라고도 한다.

    -> 데이터 사전 : 시스템 전체에서 나타나는 데이터 항목들에 대한 정보를 지정한 중앙 저장소

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

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

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

스키마 3 계층

스키마 3계층
[그림 1] 스키마 3계층

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

  1. 외부 스키마는 사용자나 응용 프로그래머가 개인의 입장에서 필요한 데이터베이스의 논리적 구조를 정의한다.
  2. 외부 스키마는 전체 데이터베이스의 한 논리적인 부분으로 볼 수 있기 때문에 서브 스키마라고도 한다.
  3. 하나의 데이터베이스 시스템에는 여러 개의 외부 스키마가 존재할 수 있다.
  4. 하나의 외부 스키마를 여러개의 응용 프로그램 혹은 사용자가 공유할 수 있다.
  5. 일반 사용자는 SQL과 같은 질의어를 이용하여 DB를 쉽게 사용할 수 있다.
  6. 응용 프로그래머는 C나 JAVA 등의 언어를 사용하여 DB에 접근한다.

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

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

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

  1. 내부 스키마는 물리적인 저장장치 입장에서 데이터가 저장되는 방법을 기술한 것이다.
  2. 내부 스키마는 실제 데이터베이스에 저장될 레코드의 물리적인 구조를 정의한다. 
  3. 내부 스키마는 저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서, 인덱스 유/무 등을 나타낸다.
  4. 시스템 프로그래머나 시스템 설계자가 관리한다.
반응형

댓글

Designed by JB FACTORY