• Bit of a worry that the author has 8 years' experience in database design!  I had this exact argument with a new (front-end) developer on my current project who maintained it had been done the "generic" way at every previous place he'd worked.  Oh dear.