Null, değer eksikliğini temsil etmek için çok geçerli bir amaca hizmet eder.
Özellikle liberal olarak kullanıldığında, null suistimalleri ve baş ağrıları ve neden olabilecek acıları hakkında bildiğim en vokal insanım diyeceğim.
Benim kişisel duruşum, insanların sadece gerekli ve uygun olduğunu haklı çıkarabilecekleri zaman null kullanabilmeleridir .
Null'leri yasaklama örneği:
Ölüm Tarihi, tipik olarak nULL olabilecek bir alandır. Ölüm tarihi olan üç olası durum vardır. Ya kişi öldü, tarih belli, kişi öldü ve tarih bilinmiyor, ya da kişi ölmedi ve bu nedenle ölüm tarihi yoktur.
Ölüm Tarihi ayrıca bir DateTime alanıdır ve "bilinmeyen" veya "boş" bir değere sahip değildir. Kullanılan dile bağlı olarak değişen yeni bir tarih-saat oluşturduğunuzda çıkacak varsayılan tarihe sahip olmakla birlikte, teknik olarak o kişinin ölmesi ve teknik olarak “boş değeriniz” olarak işaretlenmesi gibi bir olasılık var. varsayılan tarihi kullanın.
Verilerin durumu doğru bir şekilde göstermesi gerekir.
Ölü kişinin ölüm tarihi olduğu biliniyor (3/9/1984)
Basit, '3/9/1984'
Kişi öldü ölüm tarihi bilinmiyor
Peki en iyisi nedir? Boş , '0/0/0000' veya '01 / 01/1869 '(veya varsayılan değeriniz nedir?)
Kişi ölü değil ölüm tarihi geçerli değildir
Peki en iyisi nedir? Boş , '0/0/0000' veya '01 / 01/1869 '(veya varsayılan değeriniz nedir?)
Öyleyse her değeri düşünelim ...
- Boş , dikkatli olmanız gereken bazı sonuçları ve endişeleri var, örneğin ilk önce boş olmadığını onaylamadan kazara manipüle etmeye çalışmak, örneğin bir istisna atar, ancak aynı zamanda en iyi durumu gösterir ... Kişi ölmezse ölüm tarihi yok ... hiçbir şey ... boş ...
- 0/0/0000 , Bu, bazı dillerde tamam olabilir ve tarihin uygun bir gösterimi bile olabilir. Ne yazık ki, bazı diller ve validasyon bunu geçersiz bir tarih olarak reddeder, bu da çoğu zaman işe yaramaz hale getirir.
- 1/1/1869 (veya varsayılan datetime değeriniz ne olursa olsun) , buradaki sorun işlenmesi zorlaşır . Bunu, değer eksikliğiniz olarak kullanabilirsiniz, tüm kayıtlarımı filtrelemek istersem, ölüm tarihim olmadığı için ne olur? Veri bütünlüğü sorunlarına neden olabilecek o tarihte ölen insanları kolayca filtreleyebiliyordum.
Aslında bazen edilir Do şey temsil etmek ve emin bazen değişken türü bunun için iyi çalışır, ama çoğu zaman değişken türlerinin hiçbir şey temsil etmek gerekiyor gerekir.
Elmaları yoksa 0 elmaları var, ama ne kadar elmaları olduğunu bilmiyorsam?
Elbette, null kötüye kullanılır ve potansiyel olarak tehlikelidir, ancak zaman zaman gereklidir. Bu sadece birçok durumda varsayılandır, çünkü ben bir değer verene kadar bir değerin olmaması ve bir şeyin onu temsil etmesi gerekir. (Boş)