Solved

Relationship Model

Posted on 2016-08-30
3
76 Views
Last Modified: 2016-10-19
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
Comment
Question by:oo7ml
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 143

Assisted Solution

by:Guy Hengel [angelIII / a3]
Guy Hengel [angelIII / a3] earned 250 total points (awarded by participants)
ID: 41777565
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
 
LVL 58

Accepted Solution

by:
Julian Hansen earned 250 total points (awarded by participants)
ID: 41777827
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

Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Containers like Docker and Rocket are getting more popular every day. In my conversations with customers, they consistently ask what containers are and how they can use them in their environment. If you’re as curious as most people, read on. . .
This post contains step-by-step instructions for setting up alerting in Percona Monitoring and Management (PMM) using Grafana.
The viewer will learn how to dynamically set the form action using jQuery.
This is a high-level webinar that covers the history of enterprise open source database use. It addresses both the advantages companies see in using open source database technologies, as well as the fears and reservations they might have. In this…

623 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question