The latter case, no middle name, should be stored as an empty string. In practice, not enough care is devoted to the difference between Null and empty string for text fields.
in the real world it turns out not to be useful to require that people have names just in order to keep data about them...nor does a name particularly distinguish one person from another.