[thelist] Newbie - DB Design Help

Todd Richards todd at promisingsites.com
Tue Jul 25 23:07:10 CDT 2006


Hi Everyone -
 
I'm a developer still "raw" in DB design.  Until now, I've had help with my
database designs and have been able to follow instead of lead.  This one I'm
on my own.  So I'd like to present the situation and see if I'm heading in
the right direction.

In this site, a list of services each company provides will be labled by
level of expertise (let's call it rookie, modertate, expert).  The example
would be:
Company A
	- Service a:  r
	- Service b:  r
	- Service c:  m
	- Service d:  e

My thought on the DB for this part would include this (names could change to
simply):
 
Table "company" (for all of the company information; obviously not all of
it)
    - company_ID
    - company_Name
    - ...
 
Table "services" (for the list of the various services)
    - services_ID
    - services_Name
    - services_Description
 
Table "level" (for the 3-4 levels of expertise)
    - service_level_ID
    - service_level_Name
    - service_level_Value (1, 2, 3, etc)
 
Table "services_level" (to hold the service, the level of expertise, and the
company)
    - services_ID
    - services_level_ID
    - company_ID


A few questions:
- First, does this look like I'm going in the right direction?  
- Does it make sense to list the 3-4 expertise levels in their own table?
Everything I've read said it does.
- If the "companies" will include companies from different associations (to
make matters worse), and the services are different for each association,
would it be better to have separate tables for the services for each company
(table a.services, table b.services, etc.), or leave them all in one table
(and add another column for association), knowing that only 25% of them will
be used by each association?

Hopefully this isn't too confusing.  Thanks in advance for any advice and
wisdom that can be offered!

Todd









More information about the thelist mailing list