Jump to content


relational database design question

  • Please log in to reply
2 replies to this topic

#1 dadoering

  • New Members
  • Pip
  • Newbie
  • 2 posts

Posted 12 October 2006 - 06:53 PM

First, I am very new to SQL.  I am using myPHPadmin and Dreamweaver to create a dynamic website.  I have worked through several tutorials involving inventory, but since I am using myPHPadmin I don't do the actual coding.

My question is a design question.  I understand the basic concept of relational databases, but before I do something completely wrong I wanted some professional feedback.

What I am creating is a database that has several categories and then the important data at the end; in this case, resources.
I will have over 20,000 resources that will be matched up to about 5,000 objectives.  EACH resource MAY be valid for MANY objectives.  The 5,000 objectives are unique and fit into about 1,000 unique categories called concepts.  The 1,0000 unique concepts fit into 200 categories called big ideas. Then another challenge...Those 200 unique big ideas fit into 4 shared categories called "levels".  The four "levels" branch up into about 20 unique strands.  The 20 strands fit into the broadest categories called subjects.  The challenge that I see in the middle there is this.  Each strand fits into one subject.  The "levels" can exist in any strand or subject; each strand will have the same 4 levels.  The big ideas (and so on down the line) really are unique to the level above it, for example concept number 12 only belongs to big idea number 5 (no other big idea), but big idea number 5 has between 2 and 8 concepts.
The only data that will change in the near future is the lowest level (resources) and the objectives that they belong to.  There may also be a need to categorize all 20,000 resources into 2 categories like free and requires payment.

How many tables do I need? Do I need thousands?  For example, 1,000 different concept tables each containing their unique objectives.  How will the final resources fit in?  Any description of what I need is greatly appreciated.  Thank you!

#2 fenway

  • Staff Alumni
  • MySQL Si-Fu / PHP Resident Alien
  • 16,199 posts
  • LocationToronto, ON

Posted 12 October 2006 - 07:57 PM

Just take your "base" records -- resources, objectives, concepts, big ideas, levels, subjects -- and make a table for each one of these.  Then you need a bunch of table relating each of the possible pairs (e.g. resources<=>objectives, subjects<=>levels, etc.).  Make sense?
Seriously... if people don't start reading this before posting, I'm going to consider not answering at all.

#3 dadoering

  • New Members
  • Pip
  • Newbie
  • 2 posts

Posted 13 October 2006 - 12:38 PM

The concept of what you propose makes sense.  It gives me a good starting point so that I know I am going in the right direction.  Thank you!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users