데이터베이스/SQL

데이터 스키마

DS지니 2021. 3. 21. 13:42
728x90
반응형

1. 스키마의 정의

 

<위키백과>

컴퓨터 과학에서 데이터베이스 스키마(database schema)는 데이터베이스에서 자료의 구조, 자료의 표현 방법, 자료 간의 관계를 형식 언어로 정의한 구조이다.

데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한다.

데이터베이스 관리 시스템(DBMS)이 주어진 설정에 따라 데이터베이스 스키마를 생성하며, 데이터베이스 사용자가 자료를 저장, 조회, 삭제, 변경할 때 DBMS는 자신이 생성한 데이터베이스 스키마를 참조하여 명령을 수행한다.

 

 

 

2. 스키마의 3계층

DBMS는 외부적으로 스키마에 따라 명시된 사용자의 요구를 개념적 스키마에 적합한 형태로 변경하고, 이를 다시 내부적 스키마에 적합한 형태로 변환한다.

  • 외부 스키마(External Schema) 
    • 사용자 뷰(View)
    • 프로그래머나 사용자의 입장에서 데이터베이스의 모습으로 조직의 일부분을 정의한 것
    • 전체 데이터베이스의 한 논리적인 부분으로 볼 수 있으므로 서브 스키마(Sub Schema)라고도 한다.
    • 하나의 데이터베이스 시스템에는 여러개의 외부 스키마가 존재할 수 있으며, 외부 스키마를 여러개의 응용 프로그램이나 사용자가 공용할 수도 있다.
    • 같은 데이터 베이스에 대해서도 서로 다른 관점으로 정의하는 것을 허용한다.
    • 일반 사용자는 질의어(SQL)를 이용해 DB를 쉽게 사용할 수 있다
    • 응용프로그래머는 C, Java 등의 언어를 사용해 DB에 접근한다.

 

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

 

  • 내부 스키마(Internal Schema) 
    • 저장 스키마(Storage Schema)
    • 전체 데이터베이스의 물리적 저장 형태를 기술하는 것
    • 실제로 데이터베이스에 저장될 레코드의 물리적인 구조를 정의하고, 저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서 등을 나타낸다.
    • 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마

 

스키마 설명

 

 

3. 스키마의 특징

  • 스키마는 데이터 사전(Data Dictionary)에 저장되며, 다른 이름으로 메타데이터 라고도 한다.
  • 스키마는 현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해 만들어진다.
  • 스키마는 시간에 따라 불변인 특성을 갖는다.
  • 스키마는 데이터의 구조적 특성을 의미하며, 인스턴스에 의해 규정된다.
728x90
반응형