My Coldfusion Project - Part 1 (Database), Please help!

Guys,

Here is part 1 of my project and I need your input. I am trying to create a website for Job Search. Similar to www.job.com but a very much scale down version. Not trying to compete with any job search websites and only limited to a very specific industry, for fun, and to learn (from experts, of course). :) And, I am putting Access problem here as I will continue with Part II - Coldfusion later and put everything under the same topic.

Part 1 - Database

Required Info - Resume
----------------------
Personal Details
- AutoID
- LoginName
- Name, Etc.

Education (allow user to add Education records)
- Level (PhD, Master, etc.)
- Field of Study
- Grade, Etc.

Job Experience (allow user to add Job Experience)
- Company
- Title
- Salary
- Job Description (should use Memos for greater than 255 characters?), Etc.

References (2 Names)
- Name
- Company, etc.

Required Info - Job Application
-------------------------------
- Employer’s Name
- Job Position --> Job Details (easy, just a link, I have no problem with this)
- Job Status (Applied (default), Viewed)
- Apply Date

Required Info - Employer
------------------------
Resume submitted by job applicants for a particular vacancy
- Name --> Details (Click "Name" and go to Resume Details)
- Current Job Position
- Contact (Phone Number)
- Status (Applied (default), Viewed, Shortlisted, KIV)

I would like your opinion on how many "tables", the relationship of the tables should be setup to best fit the above requirements. User will be able to add additional "Job Experience" at later stage.

And, when the user submit resume for a particular vacancy, Employer will be able to view user's info (Resume). Do I need another table for this? Each vacancy could have hundreds of resumes. Do I create table for each vacancy? I just don't know how to put all vacancies and resumes in one table if this can and should be done.

SORRY FOR THE LONG STORY... :)

Thanks and regards,
Buybuy
buybuyAsked:
Who is Participating?
 
Ryan ChongConnect With a Mentor Commented:
As we can see each applicant can had been employeed more than 1 time, so the 'Job Experience' is definite a 1 to many relationship with the 'Personal Details' table. As well as 'Education', it's also a 1 to many condition, so another table 'Education' will be created.

For the 'References' (2 Names), it's depending on us whether the maximum references will be 2, or can be more (not flexible). So, if the maximum preference is confirm to be 2 then the References should included in 'Personal Details' table.

>> Employer will be able to view user's info (Resume). Do I need another table for this?
It's depending on how many resume can a user have. If the answer is 1, then you only need to create another table , like 'Job Application History', which includes the ID of the 'Job' table, the ID of the user in 'Personal Details', the [Apply Date], [Status], just similar to the 'Required Info - Job Application' table. The 'Job Application History' will be a many to many table.

Hope these helps.
0
 
DBrownCommented:
This is how I would do it, each table needs a reference to the user and therefore a FK(Foreign Key relationship) also each table should have a Primary key (ID)

Users
- ID (PK)
- LoginName
- Name, Etc.

Education (allow user to add Education records)
- ID (PK)
- USER_ID (FK_USERS_ID)
- Level (PhD, Master, etc.)
- Field of Study
- Grade, Etc.

Job Experience (allow user to add Job Experience)
- ID
- USER_ID (FK_USERS_ID)
- Company
- Title
- Salary
- Job Description (should use Memos for greater than 255 characters?), Etc.

References (2 Names)
- ID (PK)
- USER_ID (FK_USERS_ID)
- Name
- Company, etc.

Required Info - Job Application
-------------------------------
- ID (PK)
- USER_ID (FK_USERS_ID)
- Employer’s Name
- Job Position --> Job Details (easy, just a link, I have no problem with this)
- Job Status (Applied (default), Viewed)
- Apply Date
0
 
buybuyAuthor Commented:
Thanks guys...
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.