룰 있는 스프레드시트
테이블은 자기 자신에 대해 거짓말 안 하는 스프레드시트야. 모든 컬럼이 이름이랑 고정 데이터 타입을 가지고, 모든 행이 한 레코드. 스프레드시트랑 다르게, 숫자 컬럼에 문자열 슬쩍 넣거나 필수 필드 빼먹는 거 불가능 — DB 가 입구에서 거절.
익숙해질 어휘: 테이블이 행 들 (relational-algebra 교과서에선 record, tuple) 을 담고, 각 행은 테이블의 컬럼 (attribute) 에 대한 값을 가져. 스키마 = 테이블, 컬럼, 타입, 제약의 모음 = DB 가 어떤 모습일 줄 아는가.
CREATE TABLE 을 문장처럼 읽기
밑 예제를 이렇게 읽어: "employees 라는 테이블이 있다. 모든 행이 id (자동 생성, primary key), first_name + last_name (필수 텍스트), email (필수, 유일), 오늘 default 인 hired_on date 를 가진다." 이걸 능숙하게 할 수 있으면 다른 모든 PostgreSQL 개념이 쉬워져.