CSあるある

DB에서 NULL은 되도록 사용하지 말자

JIN_YOUNG _KIM 2025. 2. 5. 17:25

결론부터 말하면

"NULL은 여러 의미로 해석될 수 있기 때문에 사용을 되도록 하지 말아야 한다"

(개인적인 생각이지만 만약 NULL을 사용한다면 프로젝트 개발자들과 NULL의 용도를 1개로 통일해서 사용해야 함)

-> 아래에서 위 내용을 자세히 알아보자.

 

DB에서 NULL의 의미

1. 값이 존재하지 않는다. 

2. 값이 존재하지만 아직 그 값이 무엇인지 알지 못한다(업데이트가 안 된 상항)

3. 해당 사항과 관련 없다. 

-> 아래의 예시를 통해 NULL의 문제점을 알아 보자. 

 

toeic_score=NULL의 의미는 과연 무엇일까?

1. 토익을 안 쳐서 점수가 없는 경우

2. 토익을 쳤지만 아직 점수 발표가 안 난 경우

3. 해당 학생은 토익과는 전혀 관련이 없는 경우

-> 위와 같이 여러 해석이 존재하기에 어떤 용도로 NULL이 사용됬는 지 알기 어렵다 .

transfer_from==NULL의 의미는?

1. 편입을 안 한 학생인 경우

2. 편입을 하였지만 아직 편입 이전의 학생명이 업데이트 안 된 경우

3. 4년 장학금 제도로 입학을 한 학생이여서 편입과는 전혀 해당 사항이 없는 학생인 경우

-> 똑같이 여러 해석이 존재