数据库结构 - 如何将用户与工作联系起来?

3
我正在启动一个项目,人们可以注册、登录他们的账户,并根据他们的位置和行业等搜索工作。
这是我目前已经确定需要的表格,但我希望每个用户都能申请工作并跟踪他们所申请的工作。例如,他们在工作上点击“申请”按钮,它会将该特定工作添加到他们的某个账户中,然后我就可以运行类似于“SELECT * jobs WHERE (this user has applied)” 的查询。
tblUser: -userID -firstname -surname -dob -email -address
tblJob -jobID -Title -Description -Position(全职/兼职) -Salary -DatePosted -userID???? <--as FK? -LocationID -industryID
tblIndustry -IndustryID -IndustryName tblLocation -LocationID -LocationName 这样做正确吗?此外,有没有关于我可以添加的任何额外功能的建议?
3个回答

1

你需要一张新桌子

user_applications
-----------------
user_id
job_id
application_dt
status

类似这样的操作不要直接将用户ID放入作业表中,就像你所展示的那样。


1

您可能需要一个名为tblJobApplications的表,其中包含对tblUsertblJob表的外键。

您可以像这样查询它:

SELECT * {or pick your specific fields here}
FROM tblJobApplications AS ja
INNER JOIN tblJob AS j ON ja.job_id = j.job_id
WHERE ja.user_id = ?

1

您需要一个多对多的关系类型,因此只需创建一个新表,该表将具有作业ID和用户ID。此外,您需要使两个主键。

编辑:

每次有人申请工作时,您都会在该表中插入作业ID和用户ID。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接