>Anyone who cares about storage bloating wouldn't even use DBF. DBF is one of most storage wasting structures (not as worse as XML but tons of unused space).
Over the years, I've come to conclusion that a well designed dbf would zip 90%. With binary fields (integers, datetimes, currency) somewhat less.
But I've seen badly designed tables which would zip 99%. Why? Zip algorithm thrives on repetition. Anything that's repeated, like a bunch of spaces in blank fields, will zip incredibly well. Any repeated strings, as in non-normalized tables, likewise. This guy had a dbf imitate an excel sheet - the users would sit in a simple browse and scroll endlessly left and right to put their numbers (daily deliveries of bread and stuff to about 30 shops, 3 or 4 times a day - so about 20*4 columns (item, shift) over 30 rows (shops), starting with a copy of yesterday's delivery. I got to do that from scratch when he ate all the space on disk.
The morale of my story is that it doesn't matter how wasteful the format, bad design can make it far worse :).