[DB] 프라이머리 키 (primary key)

2022. 2. 16. 10:48DataBase

반응형

primary key는 주 식별자, 주 키 또는 줄여서 'PK' 라고 부른다.

데이터베이스를 설계할 때에는 보통 PK라고 쓴다.

프라이머리 키의 컬럼 값은 서로 달라야 하며, 빈 값을 허용하지 않아야 한다.

즉 unique 해야 하며, not null 해야 한다는 의미이다.

또한, 프라이머리키의 데이터 타입으로는 일반적으로 SERIAL을 사용한다.

 

DROP TABLE IF EXISTS contact;

CREATE TABLE contact(
	id SERIAL NOT NULL PRIMARY KEY,
    name VARCHAR(10)
);

일반적으로 프라이머리 키는 테이블에 하나1️⃣이다.

 

하지만, 외래 키(Foreign key) 제약조건에 의해 프라이머리 키가 여러 개일 경우, Unique 제약조건과 유사하게 다음과 같은 형태로 여러 개의 프라이머리 키를 선언 할 수 있다.

모든 컬럼들을 선언한 후 프라이머리 키를 설정하는 것이다.

CREATE TABLE book(
	id SERIAL NOT NULL,
    name VARCHAR(10) not null,
    admin_id SERIAL NOT NULL REFERENCES contact(id),
    email VARCHAR,
    PRIMARY KEY(id, admin_id)
);
반응형

'DataBase' 카테고리의 다른 글

[DB] 외래키2 (foreign key)  (0) 2022.02.16
[DB] 외래키 (Foreign key)  (0) 2022.02.16
[DB] 무결성이란? 도메인이란?  (0) 2022.02.15
[DB psql] 데이터 타입 이란? (자료형)  (0) 2022.02.11
[DB] PostgreSQL  (0) 2021.05.28