引入空值,可以方便于数据库的维护和建立,数字或者字符有时并不能解决想要解决的问题,毕竟它们是真实的存在,有了空值,那么有些操作,比如查询,插入,删除都可以更加方便,比如公司的部门,新增的部门,信息是不存在的,是之后数据库人员进行添加之后才有的,所以让它为空,比给它0更加贴近实际。
---
在物理世界中,描述一个事物有时候信息并不全面。比如在人员数据库中,某人的身高并不知道,但是又必须录入。对于身高属性,就不知道该取什么值。如果输入0,就表示他的身高是0。人虽然是活的,但机器是死的,不能用人的思维进行底层开发。
空就表示某记录的这个属性缺乏,尚不清楚,用Null表示。
换个角度说,其实Null也是值,比较特殊罢了。而0是表示具体的值,在数据库中,0的地位跟其它非空值是同等的,它不表示现实世界中的“没有”概念。