데이터베이스에 저장되는 데이터 구조와 제약조건을 정의
EX) 학번은 정수로, 이름은 최대 50자 문자열로, 학과는 최대 50자 문자, 입학년도는 정수로 이 모든 정해진 내용이 스키마
CREATE TABLE 학생 (
학번 INT PRIMARY KEY,
이름 VARCHAR(50),
학과 VARCHAR(50),
입학년도 INT
);
=>
여기서 학생 테이블을 "정의"한 전체 구조가 스키마
시간이 변하면 계속 달라짐
실제로 저장된 테이블 그 자체를 의미
“정의”까지, 릴레이션은 “정의 + 데이터” 까지스키마 VS 릴레이션 VS 인스턴스
-----------------------------
구분 | 스키마 | 릴레이션 | 인스턴스
-------------------------------------------------------------------------------------
의미 | 테이블 정의(틀) | 테이블 전체(정의 + 데이터)| 특성 시점의 데이터 상태
-------------------------------------------------------------------------------------
변동성 | 거의 변하지 않음 | 데이터 변동에 따라 변함 | 매 시점마다 달라짐
-------------------------------------------------------------------------------------
예시 | 학생(학번, 이름, 학과) | 학생 테이블 전체 | 9/18의 학생 테이블의 튜플들
-------------------------------------------------------------------------------------
++
* 릴레이션은 항상 존재하지만, 인스턴스는 시점에 따라 달라지는 릴레이션의 "데이터 스냅샷"