본문 바로가기
Programming/Sql

[DB] Primary Key 와 Foreign Key

by hongchii 2021. 4. 2.
728x90
반응형

 

Primary Key (PK, 기본키)

기본키는 다른 항목과 절대로 중복되어 나타날 수 없는 단일 값을 가집니다. 그리고 절대 null값을 가질 수 없습니다.

사람의 주민등록번호를 생각하면 이해가 쉽습니다. 주민등록번호는 다른 사람과 절대 중복되지 않습니다. 그리고 주민등록번호가 없는 사람은 없죠. 기본키가 그런 개념입니다.

그리고 기본키의 조건엔 한가지가 더 있습니다. 변경될 수 있는 경우가 없어야 한다는 것입니다.

이렇게 기본키의 조건은 1) 단일 값 2) not null 3) 변경되지 않을 값 세가지가 있습니다.

기본키는 하나의 테이블에 중복된 데이터가 삽입되는 것을 방지해줍니다.

 

 

Foreign Key (FK, 외래키, 참조키)

외래키는 다른 테이블의 기본키를 참조하는 속성 또는 속성들의 집합을 의미합니다. 다른 테이블의 기본키를 참조하기 때문에 테이블 간의 관계를 표현할 때 사용합니다. 외래키는 제약조건 역할을 합니다.

 

흔히 FK가 정의된 테이블을 자식 테이블이라고 합니다. 그리고 PK가 있는 테이블을 부모 테이블이라고 합니다. 여기서 몇가지 주의할 점이 있는데, 부모테이블의 PK컬럼에 존재하는 데이터만 자식테이블에 입력할 수 있습니다. 단, 자식테이블의 데이터가 삭제되거나 자식 테이블이 삭제되어도 부모테이블은 전혀 영향을 받지않습니다. 그리고 참조하는 데이터 컬럼과 데이터 타입이 반드시 일치해야 합니다. 참조할 수 있는 컬럼은 PK이거나 UNIQUE여야 하지만 보통은 PK를 사용합니다.

 

 

PK와 FK의 개념에 대해 아주 간단하게 정리해보았습니다.

728x90
반응형

댓글