본문 바로가기

개인 공부/기술 면접

[ #4 ] Primary Key, Foreign Key에 대해 설명해주세요

키워드 : 1:1, 1:N, N:M

PK : not null unique
FK : PK 참조

 

Primary Key : 
관계형 데이터베이스의 기본키이며 특정 레코드를 유일하게 식별하기 위해 사용되는 필드 또는 필드의 집합입니다
테이블의 각 레코드에는 하나의 Primary Key 값이 반드시 있어야 하고 NULL 값과 중복이 허용되지 않습니다
예를 들면, 사용자에게 할당되어 있는 고유한 ID가 될 수 있습니다

Foreign Key :
관계형 테이터베이스의 외래키이며 하나의 테이블에서 다른 테이블의 기본키를 참조하는 필드입니다
외래키를 통해 다른 테이블 간의 관계를 정의할 수 있으며
외래키 값이 참조하는 기본키 값과 일치하도록 데이터 무결성을 유지함으로써 참조 무결성을 보장합니다
CASCADE 제약 조건을 통해 기본키 값이 변경되거나 삭제될 때 외래키값도 자동으로 변경되거나 삭제되도록 설정할 수 있습니다

 

 


제약 조건이란?
기본키의 제약 조건은 데이터의 무결성을 지키기 위한 제한된 조건입니다
외래키의 제약 조건은 두 테이블 사이의 관계를 선언함으로써 데이터의 무결성을 보장해 주는 역할입니다


무결성 제약조건 종류


NOT NULL
NULL을 허용하지 않습니다.

UNIQUE
중복된 값을 허용하지 않습니다.

CKECK
저장 가능한 데이터 값의 범위나 조건을 지정하여 설정한 값만을 허용합니다.

DEFAULT
값이 추가되지 않을 때 기본 값이 들어가도록 명시해줍니다.

참조 무결성 제약 조건

NO ACTION
데이터베이스 엔진에서는 오류가 발생하며 부모 테이블의 행에 대한 삭제 또는 업데이트 동작이 롤백

CASCADE
부모 테이블에서 행이 업데이트 또는 삭제될 때 참조 테이블에서도 해당 행이 업데이트 또는 삭제

SET NULL
부모 테이블에서 해당 행을 업데이트 또는 삭제하면 해당 외래 키를 구성하는 모든 값이 NULL로 설정

SET DEFAULT
부모 테이블에서 해당 행을 업데이트 또는 삭제하면 외래 키를 구성하는 모든 값이 기본값으로 설정