SQL의 제약조건

Uhan33·2024년 1월 30일
0

TIL

목록 보기
20/72

SQL의 제약조건

오늘은 SQL의 제약조건에 대해 알아보려 한다.
크게 4가지로 나눠볼 수 있다.

  • 기본키(Primary key) 제약조건
  • NULL 제약조건
  • 고유(Unique) 제약조건
  • 외래키(Foreign key) 제약조건

기본키 (Primary key) 제약조건

기본 키(Primary Key)는 테이블에 있는 데이터를 고유하게 구분할 수 있는 정보를 나타내기 위해서 사용한다.
만약, 기본 키를 설정하지 않은 테이블을 생성하려한다면,
특정 데이터를 찾기위한 고유한 정보가 존재하지 않기 때문에
에러메시지가 출력되면서 테이블이 생성되지 않게된다.

NULL 제약조건

NULL 속성은 특정 컬럼에서 NULL값을 허용하거나, 허용하지 않도록 설정하는 조건이며, NULL은 ‘값이 없음’을 나타내는 속성이다.
테이블에서 컬럼을 생성할 때 추가 조건을 작성하지 않으면 기본적으로 해당 컬럼은 NULL값을 허용하는 상태가 된다. 즉, 데이터가 입력되지 않아도 된다는 것.

하지만 NULL값을 허용하는 것은, 필수적으로 입력되어야 하는 데이터가 누락될 수 있는 위험이 발생할 수 있다.
특정 컬럼에서 NULL 값을 허용하지 않아야 할 때는 NOT NULL 제약 조건을 추가하여 해당 컬럼에 NULL 값이 입력되는 것을 방지해야 한다.

고유 (Unique) 제약조건

UNIQUE 제약 조건은 특정 컬럼에서 중복된 값이 허용되지 않도록 설정하는 조건이다.
추가적으로 1. 사용자 테이블의 이름 컬럼은 NULL을 허용하지 않으며,
2. 사용자 테이블의 이름 컬럼은 중복된 값을 허용하지 않는다.

외래키 (Foreign key) 제약조건

외래 키(Foreign Key) 제약 조건은 테이블과 다른 테이블간의 관계를 맺을 때 사용하는 제약 조건이다.

외래 키(Foreign Key)는 테이블간의 연관 관계(Relation Ship)를 표현할 때 사용한다.
연관 관계는 대표적으로 아래와 같다.

  • 1:1 - 1명의 사용자(User)는 1개의 사용자 정보(UserInfo)를 가질 수 있다.
  • 1:N - 1명의 사용자(User)는 여러개의 주문(Order)을 할 수 있다.
  • N:M - 여러명의 학생(Student)은 여러개의 학원(School)을 등록할 수 있다.

기본적으로, 외래 키 제약 조건은 CREATE TABLE 문을 사용하여 테이블을 생성함과 동시에 정의한다.

마치며..

SQL의 네 가지 제약조건에 대해 알아보았다!

0개의 댓글