3

私は、人々がサインアップして自分のアカウントにログインし、場所や業界などで求人ベースを検索できるプロジェクトを開始しています.

これらは、これまでに必要になると特定したテーブルですが、各ユーザーが仕事に応募し、どの仕事に応募したかを追跡できるようにしたいと考えています。

たとえば、ジョブの「適用」ボタンをクリックすると、その特定のジョブがアカウントのどこかに追加され、「SELECT * jobs WHERE (this user has applied)」の行に沿ってクエリを実行できるようになります。

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

tblJob
-jobID
-Title -Description
-
ポジション(フルタイム/パートタイム)
-Salary
-DatePosted
-userID???? <--FKとして?
-場所ID -業界
ID

tblIndustry
-IndustryID
-IndustryName

tblLocation
-LocationID
-LocationName

これは正しく機能しますか?また、追加できる追加機能について何か提案はありますか?

4

3 に答える 3

1

新しいテーブルが必要です

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

そんな感じ。あなたが示したように、ユーザーIDをジョブテーブルに直接入れないでください。

于 2012-09-13T18:55:53.903 に答える
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 = ?
于 2012-09-13T18:56:01.780 に答える
1

多対多のリレーションが必要なので、ジョブの ID とユーザーの ID を持つ新しいテーブルを作成するだけです。また、両方の主キーを作成する必要があります。

編集:

誰かが求人に応募するたびに、求人の ID とユーザーの ID の両方をそのテーブルに挿入します。

于 2012-09-13T18:56:51.560 に答える