Null은 가치 부족을 나타내는 매우 유효한 목적을 제공합니다.
나는 내가 무질서한 학대와 모든 두통과 그들이 자유로이 사용될 때 발생할 수있는 고통에 대해 내가 아는 가장 성실한 사람이라고 말할 것입니다.
내 개인적인 입장은 사람들이 필요하고 적절하다고 정당화 할 수있을 때만 null을 사용할 수 있다는 것입니다.
널을 정당화하는 예제 :
사망 날짜는 일반적으로 널 입력 가능 필드입니다. 사망일에는 3 가지 가능한 상황이 있습니다. 사람이 사망하고 날짜를 알거나, 사람이 사망하고 날짜를 알 수 없거나, 사람이 죽지 않았으므로 사망 날짜가 존재하지 않습니다.
사망 날짜도 DateTime 필드이며 "알 수 없음"또는 "빈"값이 없습니다. 기본 날짜는 사용 된 언어에 따라 달라지는 새로운 날짜 시간을 만들 때 나타나는 기본 날짜를 갖지만 기술적으로 실제로 그 시간에 사람이 죽어“빈 값”으로 표시 될 가능성이 있습니다 기본 날짜를 사용하십시오.
데이터는 상황을 올바르게 나타내야합니다.
사망자가 사망 한 것으로 알려져 있습니다 (1984 년 3 월 9 일)
간단한 '1984 년 3 월 9 일'
사람이 사망 한 날짜를 알 수 없음
가장 좋은 것은 무엇입니까? Null , '0/0/0000'또는 '01 / 01 / 1869 '(또는 기본값은 무엇입니까?)
사망하지 않은 사람 사망일은 해당되지 않습니다
가장 좋은 것은 무엇입니까? Null , '0/0/0000'또는 '01 / 01 / 1869 '(또는 기본값은 무엇입니까?)
따라서 각각의 가치를 생각해 봅시다 ...
- Null 은주의를 기울여야합니다. 예를 들어 null이 아닌지 확인하지 않고 실수로 조작하려고하면 예외가 발생하지만 실제 상황을 가장 잘 나타냅니다. 죽음의 날짜는 존재하지 않습니다 ... 아무것도 아닙니다 ... null입니다 ...
- 0/0/0000 , 일부 언어에서는 가능하며 날짜가없는 적절한 표현 일 수도 있습니다. 불행히도 일부 언어 및 유효성 검사는이를 유효하지 않은 날짜 시간으로 거부하므로 많은 경우에 실패하지 않습니다.
- 1/1/1869 (또는 기본 날짜 시간 값이 무엇이든) 여기서 문제는 다루기가 까다로워집니다. 사망일이없는 모든 기록을 걸러 내려면 어떻게됩니까?를 제외하고는 가치 가치가없는 것으로 사용할 수 있습니까? 나는 그 날짜에 실제로 죽은 사람들을 쉽게 걸러내어 데이터 무결성 문제를 일으킬 수 있습니다.
사실은 때때로 당신입니다 마십시오 아무것도 표현하지 있는지 때때로 변수 유형가 잘 작동하지만, 종종 변수 유형 아무것도 표현하지 할 수 있어야합니다.
사과가 없으면 사과가 0 개인데 사과가 몇 개인 지 모른다면 어떻게해야합니까?
반드시 null은 남용되고 잠재적으로 위험하지만 때때로 필요합니다. 값을 제공 할 때까지 값이없고 무언가를 나타내야하기 때문에 많은 경우에 기본값입니다. (없는)