Hacker News new | ask | show | jobs
by no-s 2600 days ago
"First not null, Middle null, Last not null" represents an a priori assumption that everyone has a First, Middle, and Last - but sometimes we don't know what the Middle is. Allowing a zero length string in any of those attributes implies that some rows in a table have First, Middle, or Last represented by a zero length string. What a zero-length string actually means is subject to interpretation and thus beyond the data model.

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.