Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Relationship Model

Posted on 2016-08-30
3
Medium Priority
?
82 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 1000 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 59

Accepted Solution

by:
Julian Hansen earned 1000 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

[Webinar] Lessons on Recovering from Petya

Skyport is working hard to help customers recover from recent attacks, like the Petya worm. This work has brought to light some important lessons. New malware attacks like this can take down your entire environment. Learn from others mistakes on how to prevent Petya like worms.

Question has a verified solution.

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

There are times when I have encountered the need to decompress a response from a PHP request. This is how it's done, but you must have control of the request and you can set the Accept-Encoding header.
In this blog post, we’ll look at how ClickHouse performs in a general analytical workload using the star schema benchmark test.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.
The viewer will get a basic understanding of what section 508 compliance can entail, learn about skip navigation links, alt text, transcripts, and font size controls.

715 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