테이블이 어떤 값을 받아들일지 미리 정한 기준
학생(학번 INT PRIMARY KEY, 이름 VARCHAR, 학과 VARCHAR)
같은 데이터베이스를 구조와 상태로 나누어 보면 쉽습니다. 스키마는 컬럼, 타입, 키, 제약 조건처럼 비교적 안정적인 약속이고, 인스턴스는 특정 시점에 실제로 저장된 행과 값입니다.
컬럼, 타입, 키, 참조 관계처럼 데이터가 지켜야 할 약속입니다.
그 약속 안에 실제로 저장된 행과 값의 집합입니다.
구조 변경은 프로그램과 질의에 영향을 줄 수 있어 신중하게 다룹니다.
삽입, 수정, 삭제가 일어날 때마다 현재값이 바뀝니다.
프로그래밍으로 보면 스키마는 타입 정의, 인스턴스는 특정 순간의 변수 값입니다.
설계도는 쉽게 바뀌지 않지만, 그 안을 채우는 사람과 물건은 계속 달라집니다.
SQL은 스키마의 이름과 구조를 이용해 특정 시점의 인스턴스를 읽습니다.