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?
Technorati Tags:Books, Database DesignYou Ought To Know
I'm the lead author of High Performance MySQL, Second Edition.
You can hire me! I work as a consultant for Percona with some of my co-authors and other performance experts. You can contact me like this:
SELECT REVERSE('moc.anocrep@norab');
If you're looking for free, fast, friendly MySQL help instead of expert consulting, please send your questions to the MySQL mailing list, or hop on #mysql at FreeNode on IRC. Thanks!
Hot Hot Headlines
- Using BASE instead of ACID for scalability
- Book Review: Building powerful and robust websites with Drupal 6
- Are you sure you’re reading the second edition of High Performance MySQL?
- High Performance MySQL is going to press, again
- Sphinx 0.9.8 is released!
- MySQL challenge: LIMIT rows accessed, not rows returned
- What if you find errors in High Performance MySQL?
- Percona wants to hire a Maatkit developer
- What it’s like to write a technical book, continued
- High Performance MySQL is here!
You Were Saying?
Respected Sites
Stuff To Do
Think Inside The Box
- July 2008 (5)
- June 2008 (11)
- May 2008 (15)
- April 2008 (18)
- March 2008 (9)
- February 2008 (4)
- January 2008 (9)
- December 2007 (11)
- November 2007 (19)
- October 2007 (18)
- September 2007 (11)
- August 2007 (12)
- July 2007 (9)
- June 2007 (12)
- May 2007 (13)
- April 2007 (12)
- March 2007 (17)
- February 2007 (6)
- January 2007 (10)
- December 2006 (8)
- November 2006 (8)
- October 2006 (12)
- September 2006 (9)
- August 2006 (19)
- July 2006 (14)
- June 2006 (15)
- May 2006 (15)
- April 2006 (12)
- March 2006 (10)
- February 2006 (5)
- January 2006 (12)
- December 2005 (18)
- November 2005 (14)
- October 2005 (9)
- September 2005 (16)

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.
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.
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.
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
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.
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.
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.
Something to begin with: http://www.dbdebunk.com/books.html
Head First SQL might be worth a look too.
http://headfirstlabs.com/books/hfsql/
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
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!
Database Management Systems
Silberschatz, Gagne, Sudharsan
The above mentioned is the best one for fundamentals in Theory
Another is the book authored by Navathe
Why the 2nd edition of High Performance MySQL: Optimization, Backups, Replication, and More of course ;)