Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (2nd Edition)

Author: Michael James Hernandez
All Stack Overflow 13


by anonymous   2017-08-20

While I agree with others that your question right now is much too broad and can't really be answered (except for the "it depends" approach :-)), there is one book I would wholeheartedly recommend for anyone beginning database design in general:

Michael Hernandez: Database Design for Mere Mortals(R): A Hands-On Guide to Relational Database Design

alt text,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA240_SH20_OU01_.jpg

It's a really hands-on, no-frills, down to earth book and introduces all the major and important concepts in a very understandable, very approachable fashion. Well written, interesting, very sound and useful - highly recommended!


by anonymous   2017-08-20


You have some elements of best practices, but there are some things missing.

Database design:

You seem to be using the word "database" where I would expect you to say "table." Yes, you can and should have multiple tables on your MySQL server. The application I support has over 120 tables, and there are certainly many applications with many more tables. It depends on the complexity of the data you need to store.

Here's a good book to start with: Database Design for Mere Mortals

If you want to get more into the theory behind the practice, I enjoyed SQL and Relational Theory: How to Write Accurate SQL Code 3rd Edition.

And I have to plug my own book: SQL Antipatterns: Avoiding the Pitfalls of Database Programming.

by anonymous   2017-08-20

It's commendable that you're willing to jump in to this project, but in my experience trying to do a real project at the same time as you're learning the basics of any technical subject is likely to result in a project that doesn't work. And it takes ten times as long.

So I would recommend spending some time educating yourself first, by doing some reading and some experimentation. Design a practice database and the code to use it, but not the database you need for your project.

Here's a well-regarded book that might help you:

After you are more comfortable with the basics of database design, then you can start your real project.