[DB] 필드의 NULL 허용에 대해

해질녘·2022년 7월 15일
0

SQL

목록 보기
4/9

NULL이란

아무것도 없음. 알 수 없음.

NULL 허용 속성

필드의 NULL 상태를 허용할 것인가, 허용하지 않을 것인가. 테이블 생성 시 필드 속성 뒤에 지정한다.

예시

create table movie
(
    movie_id int primary key,
    name char(10) not null,
    rate int not null
)

NULL 허용 속성을 사용할 것인가?

이론적으로는 데이터베이스의 무결성을 유지하는 데에 큰 도움이 되어 보인다. 그러나 문제점이 있다.

  1. null 허용은 데이터베이스의 성능을 저해한다.

    null 허용 값의 경우 null인지 아닌지 먼저 검사한 후 값을 읽기 때문에 보통 값과 다루는 방식이 달라 느리다.

  2. 현실적으로 null을 허용하게 되는 경우가 생긴다.

    위의 예시로 들은 영화 테이블의 경우, 영화 어플에서 당장 영화 정보가 필요한데... 영상물 등급 심사가 끝나지 않아 rate 값이 결정되지 않은 경우가 있다. 그런 경우에는 영상물 등급 심사가 끝날 때까지 해당 영화 정보를 이용하는 게 불가능해진다.

NULL 허용 속성의 대체

  • Undefined
  • default 값 지정
  • 그냥 null 허용으로 바꾼다

등등

0개의 댓글