A Sane Approach to Database Design by Mark Johansen