Programming Language

[SQL] 4-1. SQL과 제약 조건

wakelight23 2024. 11. 25. 21:00

제약 조건(Constraint)이란?

● 각 칼럼들 간의 제한사항을 관리하고, 조건을 위반하는 데이터를 방지

  → 데이터베이스의 무결성(Intergrity)을 보장하는 규칙

 

왜 필요할까?

  - 사용자의 이메일이 중복되는 경우, 이메일이 아닌 다른 데이터로 사용자를
    고유하게 구분할 수 없다면, 해당 사용자의 정보를 정확하게 알 수 없다.

   → 이러한 문제를 해결하기 위해 제약 조건이 필요하다.

 

  - 제약 조건은 데이터베이스 테이블을 분석할 때 설정된 칼럼의 속성을 바탕으로
    해당 테이블이 어떤 역할을 하는지, 어떤 데이터를 저장하고 있는지 명확하게
    인지할 수 있도록 도와준다.

 

제약 조건의 종류

● 고유(Unique) 제약 조건 (=Unique)

  - 테이블에 소속된 특정 칼럼이 중복된 키를 가질 수 없는 조건

  ex) 사용자 아이디, 이메일과 같은 고유한 정보를 저장할 때 사용

 

● NULL 제약 조건 (=Null)

  - 특정 칼럼이 아무런 값을 입력받지 않도록 설정하거나, 무조건 값을 입력받도록 설정

  ex) 프로필 이미지 같은 경우는 무조건 넣을 필요가 없음으로 NULL (NULL이어도 된다)

        이름, 이메일은 필수적인 요소임으로 NOT NULL (NULL이 되어서는 안 된다)

  - 데이터가 없다면, NULL을 저장하여 데이터가 존재하지 않다는 것을 표현

 

● 기본 키 (Primary Key) 제약 조건 (Primary Key)

  - 테이블 내에서 각 행(row)을 고유하게 식별할 수 있도록 보장하는 조건

 

● 외래 키 (Foreign Key) 제약 조건 (Foreign Key)

  - 테이블 간의 관계를 설정하는 조건

  - 한 테이블의 컬럼(Column)이 다른 테이블의 특정 행(Row)을 참조하도록 설정하는 조건