Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design (2nd Edition)
Database Design for Mere Mortals: https://www.amazon.com/Database-Design-Mere-Mortals-Hands/dp...
This is the book I recommend to everyone who is shy about DB's - I have owned several copies and given every one away. It breaks down not only functionality but how to create a good design in a sensible and easy to understand way. Worth every penny (and now somewhat cheap)
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 http://ecx.images-amazon.com/images/I/61XMDo4BFkL._BO2,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!
You have some elements of best practices, but there are some things missing.
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.
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.