Table Design Question?

D

Daryl G.

When making a join table linking mutliple tables should I make one table or
two?

Example
Table one is People
Table two is Jobs
Table Three is Skills

Both People and Jobs have skills. Later I will want to query to see from a
Person what jobs are open with the skills they have, or from a job what
people have the skills to do the job

Should my Join be SkillCode,JobCode,PeopleCode
or two tables SkillCode,JobCode and SkillCode,People code?

Thanks,

Daryl
 
J

John Vinson

Both People and Jobs have skills. Later I will want to query to see from a
Person what jobs are open with the skills they have, or from a job what
people have the skills to do the job

Should my Join be SkillCode,JobCode,PeopleCode
or two tables SkillCode,JobCode and SkillCode,People code?

Both designs have their place.

If you want to be able to produce a listing of all of the skills
required for a given job (independent of whether any people in the
database have that job or that skill), or a list of all the jobs that
require a given skill, then you probably want two tables (similarly
for the people-skills link).

If you want to link all three tables, you may want the unified table.

You might have a good reason to create *all three* tables - the
People/Skills table to find people with a particular skill set, the
Job/Skills table to identify required skill sets, and the three-field
table to identify who's in what job with which skills.
 
D

Daryl G.

Thanks John
John Vinson said:
Both designs have their place.

If you want to be able to produce a listing of all of the skills
required for a given job (independent of whether any people in the
database have that job or that skill), or a list of all the jobs that
require a given skill, then you probably want two tables (similarly
for the people-skills link).

If you want to link all three tables, you may want the unified table.

You might have a good reason to create *all three* tables - the
People/Skills table to find people with a particular skill set, the
Job/Skills table to identify required skill sets, and the three-field
table to identify who's in what job with which skills.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top