Saya sangat tidak setuju dengan semua orang yang mengatakan untuk menggunakan NULL tanpa syarat. Mengizinkan kolom menjadi NULL memperkenalkan status tambahan yang tidak akan Anda miliki jika Anda mengatur kolom sebagai NOT NULL. Jangan lakukan ini jika Anda tidak membutuhkan status tambahan. Artinya, jika Anda tidak dapat menemukan perbedaan antara arti string kosong dan arti null, maka atur kolom sebagai NOT NULL dan gunakan string kosong untuk mewakili kosong. Mewakili hal yang sama dalam dua cara yang berbeda adalah ide yang buruk.
Sebagian besar orang yang menyuruh Anda menggunakan NULL juga memberikan contoh di mana NULL akan berarti sesuatu yang berbeda dari string kosong. Dan dalam contoh-contoh itu, mereka benar.
Namun, sebagian besar waktu, NULL adalah status tambahan yang tidak perlu yang hanya memaksa programmer untuk menangani lebih banyak kasus. Seperti yang telah disebutkan orang lain, Oracle tidak mengizinkan status tambahan ini ada karena memperlakukan NULL dan string kosong sebagai hal yang sama (tidak mungkin menyimpan string kosong di kolom yang tidak mengizinkan null di Oracle).