Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 85
  • Last Modified:

Relationship Model

Hi,

I have built a very small niche job website.

I want to send new opportunities out to candidates who have already applied to a job on the site, however i only want to send jobs that are relevant to them... and not a list of every new job that is posted.

I'm trying to map out a relationship between jobs.

Here are the current attributes for each job:

Job Title (can't use this as it is free text)
Salary
Sector (can't use this as a job can belong in many different sectors... i.e an IT Manager could belong to several sectors (and not just Technology)... a HR manager working in Marketing will select Marketing as their job sector)
Job Details

I was thinking of adding 3 new fields:

Job Sector (IT Job)
Job Type (IT Manager)
Level (Junior, Mid, Senior)

I could then query use the Job Sector, Job Type and Level to match new jobs / opportunities with Talent who have applied to a previous job with the same match.

Can anyone offer any thoughts or advice on this?

Thanks in advance for your help.
0
oo7ml
Asked:
oo7ml
2 Solutions
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
as you said, a job could be "related" to several sectors, or "it" levels.
hence, you should define a table holding the list of possible values there, and make a intermediate "relation" table of what job is related to what item(s) in that list of values, making it a "many-to-many" relationship.
0
 
Julian HansenCommented:
Sounds like you need to implement some sort of tag system - each job can be assigned 3 (or whatever) tags - in order of preference.
Job seekers have their own tags linked in order of preference.

By combining tag and ordering on both job and seeker you can come up with a heuristic.

Make the ordering number in reverse - so preferred has a higher value. Then simply multiply each matching tag from seeker by its matching tag value in poster - and sum the results. Define a cutoff point and include only those with a score above cutoff

Example
Seeker has the following tags in the following preferred order
A - 3
B - 2
C - 1
Job #1 has the following tags
X - 3
B - 2
A - 1
Score is therefore
B (2 x 2)
A (3 x 1)
= 7
Job #2
A - 3
Y - 2
C - 1
Score
A (3 x 3)
C (1 x 1)
= 10
Max score is 14 - so if we say cutoff is 8 then Job #2 makes the grade and Job #1 does not
0

Featured Post

Get free NFR key for Veeam Availability Suite 9.5

Veeam is happy to provide a free NFR license (1 year, 2 sockets) to all certified IT Pros. The license allows for the non-production use of Veeam Availability Suite v9.5 in your home lab, without any feature limitations. It works for both VMware and Hyper-V environments

Tackle projects and never again get stuck behind a technical roadblock.
Join Now