数据库结构 - 如何将用户链接到作业?

时间:2012-09-13 18:53:55

标签: sql database database-design

我正在启动一个项目,人们可以注册,登录他们的帐户,搜索他们所在地和行业等的工作岗位。

这些是我已经确定到目前为止我需要的表格,但是,我希望每个用户都能够申请工作并跟踪他们申请的工作。

例如,他们单击作业上的“应用”按钮,然后将该帐户的特定作业添加到某个位置,这样我就可以按照“SELECT * jobs WHERE(此用户已应用)”的方式运行查询

tblUser:
-userid
-firstname
-surname
-dob
-email
-address

tblJob
-jobID
-Title
-Description
-Position (全职/兼职)
-Salary
-DatePosted
-userid ???? < - 作为FK?
-LocationID
-industryID

tblIndustry
-IndustryID
-IndustryName

tblLocation
-LocationID
-LocationName

这是正确的吗?另外,对于我可以添加的任何额外功能,是否有任何建议?

3 个答案:

答案 0 :(得分:1)

你需要一张新桌子

user_applications
-----------------
user_id
job_id
application_dt
status
这样的事情。 不要将用户ID直接放在作业表中,如图所示。

答案 1 :(得分: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 = ?

答案 2 :(得分:1)

您需要多个类型的关系,因此只需创建一个新表,该表将包含作业的id和用户的id。此外,您需要制作两个主键。

编辑:

每当某人申请某个职位时,您在该表中插入职位的ID和用户的ID。