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년 장학금 제도로 입학을 한 학생이여서 편입과는 전혀 해당 사항이 없는 학생인 경우
-> 똑같이 여러 해석이 존재