Somehow while reading through some Oracle blogs this weekend, I found myself re-reading a post from Tom Kyte last year about mis-used datatypes. Such things as people using string datatypes to hold date values, or people using VARCHAR2(4000) for every field in every table. Tom does a fantastic job (as always) explaining the many reasons this is just awful, including loss of data integrity and performance.

Always worth a (re)read.