스키마와 인스턴스

스키마는 데이터의 약속이고, 인스턴스는 그 약속 안의 현재 값입니다

같은 데이터베이스를 구조와 상태로 나누어 보면 쉽습니다. 스키마는 컬럼, 타입, 키, 제약 조건처럼 비교적 안정적인 약속이고, 인스턴스는 특정 시점에 실제로 저장된 행과 값입니다.

스키마

테이블이 어떤 값을 받아들일지 미리 정한 기준

학생(학번 INT PRIMARY KEY, 이름 VARCHAR, 학과 VARCHAR)
인스턴스

그 구조 안에 특정 시점에 들어 있는 실제 행들

20240001 | 김철수 | 데이터공학 20240002 | 이영희 | 전자공학
역할

스키마는 허용 범위를 정합니다

컬럼, 타입, 키, 참조 관계처럼 데이터가 지켜야 할 약속입니다.

역할

인스턴스는 현재 상태입니다

그 약속 안에 실제로 저장된 행과 값의 집합입니다.

변화

스키마는 비교적 안정적입니다

구조 변경은 프로그램과 질의에 영향을 줄 수 있어 신중하게 다룹니다.

변화

인스턴스는 계속 변합니다

삽입, 수정, 삭제가 일어날 때마다 현재값이 바뀝니다.

1 타입과 변수값

프로그래밍으로 보면 스키마는 타입 정의, 인스턴스는 특정 순간의 변수 값입니다.

2 설계도와 실제 상태

설계도는 쉽게 바뀌지 않지만, 그 안을 채우는 사람과 물건은 계속 달라집니다.

3 질의의 기준

SQL은 스키마의 이름과 구조를 이용해 특정 시점의 인스턴스를 읽습니다.