I'm an American Expat living in the Philippines. My primary vocation is as a PHP web developer using MYSQL as my DB platform for my projects. I've done many projects so far, but none of my DBs so far could really be called "relational" - mostly just a number of different tables holding different information. When necessary, some of the tables are tied together via PKs and FKs. All of my projects work fine (I can get the proper result sets from various tables as well as add/update/delete records as necessary) but I'm sure if anyone who's been working professionally with relational DBs actually looked at my "relationships" - and how they're queried - there would probably be lots of gasps of horror and dismay. My main problem is that there are no resources here at my disposal that I can go to for help or peer-review.
Okay, that's the background. Now...
I've got a new project that entails an online contact database (names, addresses, phone numbers, email addresses, etc) and THIS TIME I really want to do it CORRECTLY using Many to One Relationships (many names will be tied to one business address and one website URL; some names from the same business may be tied to the same general phone and fax number, etc), the correct understanding and usage of NULL values in a field, full normalization (if possible), and so on.
A contact database is - I believe - typically used in college courses teaching relational DB theory and implementation, so I thought: "okay, now's the time!"
But then, When searching the web for a comprehensive tutorial on the subject I came up with a lot of hits but no real tutorial on how to create and query such a DB: i.e. if you've got 10 names that share one address, the name's table looks like this, the address table looks like this, and a query for extracting name and address information should be written like this.
So that's why I'm here.
Can anyone point me to a tutorial (that isn't too jargon-laden) that shows exactly how to create such a database? I don't want to download a pre-made one... I want to learn by doing it myself.
Sorry this post was so long, but I wanted those viewing this post to clearly understand what I'm after.
Any and all guidance and URLs are GREATLY APPRECIATED!