SERIAL 데이터 유형은 주문번호처럼 특정한 규칙으로 자동생성되는 고유값을 의미한다. 각 값은 고유값이므로 중간 값이 삭제되는 경우에도 다른 값은 변화하지 않는다.
외래(기타)키란 다른 표의 행을 고유하게 식별하는 테이블의 필드이다. 다른 테이블과 어떤 관계를 가지고 있느냐에 따라 외래키의 숫자를 결정한다.
propertu
완벽하게 유니크하진 않지만 기본키를 식별하고 구별하는 데 도움이 된다.
대표적으로 고객 아이디 등이 있다.
기본키와 외래키는 무조건적인 것은 아니고, 해당 테이블이 어떤 값을 중점적으로 하고 있느냐에 따라 다르게 설정할 수 있다.
pgadmin에서는 테이블 내의 constraints의 황금키로 기본키를 식별할 수 있다.
혹은 constraints의 property값을 확인함으로서 해당 값이 무엇을 레퍼런스로 하고 있는지도 확인이 가능하다.
대표적인 제약 조건은
NOT NULL -> 빈값이 없게
UNIQUE -> 열 내의 모든 값이 유니크하게
=> UNIQUE (열 목록)
CHECK -> 행의 모든 값이 특정한 조건을 만족할 것 (20 이하 등)
=> CHECT (condition)
REFERENCES -> 모든 값이 특정 열에 있어야 함
PRIMARY KEY-> 열 내의 모든 값이 유니크하게, 기본적으로는 한개로 설정되나 다중 기본키도 가능하다.
=> PRIMARY KEY (열 목록)
CREATE TABLE 테이블이름
(열이름1 TYPE 열 데이터 유형,열이름2 TYPE 열 데이터 유형, 테이블 조건)
INHERITS 다른 테이블 (다른 테이블과 연결될 경우)
CREATE TABLE players (player_id SERIAL PRIMARY KEY, age SMALLINT NOT NULL)
CREATE TABLE account(
user_id SERIAL PRIMARY KEY,
username VARCHAR(50) UNIQUE NOT NULL,
password VARCHAR(50) NOT NULL,
email VARCHAR(250) UNIQUE NOT NULL,
created_on TIMESTAMP NOT NULL,
last_login TIMESTAMP
)
CREATE TABLE account_job(
user_id INTEGER REFERENCES account (user_id),
job_id INTEGER REFERENCES job (job_id),
hire_date TIMESTAMP
)
데이터 베이스에 쿼리툴을 실행하여 테이블 생성의 쿼리를 입력하면 신규 테이블이 생성됨
테이블 이름은 중복되어 생성될 수 없다.
필요시 기존 테이블 이름 등을 수정하는 것이 필요하다.