스키마schema

스키마schema (rev. 1.11)

database에 저장되는 데이터 구조와 제약조건constraint 등을 정의한 것.


ANSI/SPARC 3단계 아키텍처, 1978년

외부스키마1  외부스키마2  ...  외부스키마n
      ↘         ↓                   ↙
           개념스키마
                ↓
           내부스키마 (= 물리적 스키마)
                ↓
           데이터베이스


//from Elmasri p37

the three-schema architecture
  1. internal schema - DB의 physical storage structure를 기술함.
  2. conceptual schema - DB의 사용자 커뮤니티를 위한 구조를 기술함.
    Hides the details of physical storage structures.
    entities, data_types, relationships, user operations, constraints를 기술하는 데 집중함.
  3. external schema = user views
    보통 representational data model로 구현됨

그림 참조:
https://www.javatpoint.com/dbms-three-schema-architecture


// 2021-03-17 34m - slide 'Schemas, Instances, and Database State' 대충 번역

DB스키마
  • database를 기술(describe)
  • DB 디자인 도중에 그 명세가 정해짐(specified)
  • 자주 바뀌지 않음 - 24h 돌아가고 있는 DB의 schema를 바꾸는 것은 쉽지 않거나 위험하다. DB schema는 처음 만들 때 잘 만들어야 한다.

Schema diagram
  • schema를 diagram으로 표시함.
  • record types, data items, constraints를 가짐.

DB 상태state(데이터베이스상태,database_state) 혹은 스냅샷snapshot
  • 어떤 특정한 순간 DB에 들어있는 data를 가리킴(indicate).
  • 상태는 operation(예: insertion) 순간에 바뀜.


내부스키마,internal_schema
DB의 물리적 표현만을 기술하는 것
데이터 구조의 형식을 구체적으로 정의[1]
개념 스키마conceptual schema = 논리 스키마
DB의 전반적인 논리 구조
데이터 전체의 구조를 정의[2]
개요 혹은 네트워크 모양의 표현 구조 같은 전체적 도식[3]
객체에 관한 정보를 활용할 수 있는 내용과 구조와 제약을 추상적으로 설명하고 정의한 것[4]
외부 스키마
실제로 이용자가 취급하는 데이터 구조를 정의[5]


Up: database


MongoDB는 문서형이라 schema가 필수가 아니고, 필드를 마음대로 추가/삭제 가능.


기타 정신의학psychiatry and 심리학psychology 에서는 schema란 '인지도식'. Namu:인지도식
----