BOARD / 제약조건 / 2026-04-13

SQL 제약조건 정리

제약조건은 데이터 품질을 지키는 최소 규칙입니다. 어떤 값은 반드시 있어야 하고, 어떤 값은 중복되면 안 되며, 어떤 값은 다른 테이블과 연결돼야 한다는 기준을 정의합니다.

게시판 목록BLACK SQL 실습SQLD 문제은행

제약조건은 단순 암기보다 역할을 연결해서 이해하는 것이 중요합니다. 식별, 참조 무결성, 필수 입력, 도메인 제한 같은 관점으로 나누면 정리가 빨라집니다.

핵심 체크포인트

  • PRIMARY KEY는 식별, FOREIGN KEY는 참조 관계를 담당합니다.
  • UNIQUE와 NOT NULL은 중복과 필수 입력을 구분해서 봐야 합니다.
  • CHECK는 허용 값 범위를 제한할 때 사용합니다.

주제별 설명

PRIMARY KEY

행을 유일하게 식별하는 핵심 제약조건입니다.

  • 중복 불가와 NULL 불가 성격을 함께 가집니다.
  • 테이블당 대표 식별 기준이라고 생각하면 이해가 쉽습니다.

FOREIGN KEY

다른 테이블의 키를 참조해 관계를 유지하는 제약조건입니다.

  • 부모-자식 테이블 관계를 설명할 때 핵심입니다.
  • 참조 무결성이라는 표현으로 함께 기억하면 좋습니다.

UNIQUE

중복 값을 허용하지 않는 제약조건입니다.

  • PRIMARY KEY와 달리 일반적으로 NULL 허용 여부를 별도로 볼 수 있습니다.
  • 보조 식별자 후보 개념으로 자주 등장합니다.

NOT NULL

값이 반드시 존재해야 하는 컬럼에 적용하는 제약조건입니다.

  • 필수 입력 여부를 가장 직접적으로 표현합니다.
  • PRIMARY KEY도 결국 NOT NULL 성격을 내포합니다.

CHECK

허용 가능한 값 범위나 조건을 제한하는 제약조건입니다.

  • 상태값, 점수 범위, 플래그 값 제한에 적합합니다.
  • 도메인 무결성을 설명할 때 함께 연결하면 좋습니다.

실습 흐름 추천

  1. 식별과 참조 무결성을 PRIMARY KEY와 FOREIGN KEY로 먼저 구분합니다.
  2. UNIQUE와 NOT NULL의 차이를 NULL 허용 여부 중심으로 비교합니다.
  3. CHECK는 허용 범위 제약이라는 문장으로 정리하면 기억하기 쉽습니다.
바로 이어서 해보려면

이론만 읽지 말고 바로 blacksql.sqld.kr에서 실행해보고, 문제 풀이 감각은 www.sqld.kr에서 이어가면 학습 속도가 훨씬 빨라집니다.

자주 묻는 질문

UNIQUE와 PRIMARY KEY는 무엇이 다른가요?

둘 다 중복을 막지만, PRIMARY KEY는 대표 식별자 역할을 하며 일반적으로 NULL을 허용하지 않는다는 점이 핵심 차이입니다.

FOREIGN KEY는 왜 중요한가요?

테이블 간 관계를 강제해 잘못된 참조를 막고 데이터 일관성을 유지하기 때문입니다.