What is your favorite database design book?
My wife wants to learn database design. She is an archaeologist. She wants to read a book written in plain English, not h4×0r jargon. She is smart and capable and knows her own data, but does not know SQL or database theory. She wants to be able to design databases and be understood by others who know database design. She also wants to be able to explain her ideas to a programmer who will build the systems she’s designing. Is there a book for her?

Probably the MySQL Database Design, from Novice to Professional by Jon Stephens (MySQL Docs now), published by Apress. I don’t have it here (it’s on loan to another local MySQL user) so not 100% sure of the title.
Anyway, it explains the concepts in nice clean language, covers the spreadsheet syndrome, and moves rapidly but not too fast through lots of useful topics. It’s a good book. I haven’t checked it out from the perspective of a complete RDBMS novice, but it may well be suitable.
Arjen Lentz
1 Apr 08 at 10:06 pm
I would actually recommend the internet. Books are almost always full of code, or very textbook-like and boring. I would start with “Relational model” ( http://en.wikipedia.org/wiki/Relational_model ) and then keep exploring Wikipedia. That will teach her most of the things she needs to design a basic model and leave room for further learning. To be honest though, once you have a decent grasp on the Relational model and normal forms the rest is just a matter of programming and language, which the programmers should be able to do. No need to burden someone unfamiliar with databases with picking the correct field type, or index. If you can teach her to identify natural keys in her data and be able to split different logical entities into new relations you have everything done. If she can get it somewhat close, then normalizing the design and adjusting things here or there shouldn’t be hard at all. I know from my personal experience that that databases were fairly simple for me, even with a lack of knowledge about design, but SQL made me want to bang my head against a wall for weeks. If she really has decent programmers then she should never really need to know the JOIN lingo, which makes things much harder.
Guillermo Roditi
1 Apr 08 at 10:11 pm
My favorite book when I was first starting out in the database design world was “Database Design for Mere Mortals” by Micheal Hernandez. I really liked his approach and it served as a good foundation for further reading.
John
1 Apr 08 at 11:01 pm
Richard T. Watson’s “Data Management – Databases and Organizations” is a must-read if you want to learn about data organization from a not-too-techie viewpoint. It goes through understanding general aspects of data organization and storage, from the perspective of both software, hardware, wetware and corporations.
This is the best book I’ve seen for crossing the chasm between non-techies and techies. I’ve reviewed it here: http://www.bitbybit.dk/carsten/blog/?page_id=13#Watson
Carsten Pedersen
2 Apr 08 at 3:30 am
I second “Database Design for Mere Mortals” it is a truly amazing book, which still managed to teach me a lotta stuff even with 5 years of professional experience.
I also have a (non-programmer) friend who bought one and he is seemingly happy with it.
Svenne
2 Apr 08 at 3:38 am
I’d third the recommendation of the “Database Design for Mere Mortals” book – as soon as I saw the title of the post I thought of it. It literally walks you through the whole process of designing a database from gathering requirements to good table and field design, without getting into implementation specifics. The advice on requirements gathering is absolutely superb.
Stuart Ellis
2 Apr 08 at 8:04 am
I also agree that “Database Design for Mere Mortals†is a good book to learn basic SQL and db theory. It’s simple and concise, but more importantly, it keeps the read engaged.
Sean
2 Apr 08 at 10:01 am
Something to begin with: http://www.dbdebunk.com/books.html
Dmitri Mikhailov
2 Apr 08 at 3:53 pm
Head First SQL might be worth a look too.
http://headfirstlabs.com/books/hfsql/
Melanie
2 Apr 08 at 4:32 pm
This was a really good book that is time tested!
http://www.amazon.com/Conceptual-Database-Design-Entity-Relationship-Approach/dp/0805302441/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1207168569&sr=8-1
Richard Broersma Jr.
2 Apr 08 at 4:36 pm
One of her colleagues also recommended the Mere Mortals book so I think we’ve got enough recommendations to shoo that one in! Thanks for all the suggestions everyone!
Xaprb
2 Apr 08 at 4:39 pm
Database Management Systems
Silberschatz, Gagne, Sudharsan
The above mentioned is the best one for fundamentals in Theory
Another is the book authored by Navathe
Sakthi
3 Apr 08 at 1:21 am
Why the 2nd edition of High Performance MySQL: Optimization, Backups, Replication, and More of course ;)
William Newton
8 Apr 08 at 1:12 pm
I’d recommend A Sane Approach to Database Design. Of couse, I may be slightly biased. I’m the author.
Mark Johansen
4 Aug 08 at 11:14 pm