次のような求人情報用のテーブルがあります。
`job_post`
- name
- position
`job_application`
- profile (FK)
- job_post (FK)
つまり、誰かが求人を投稿するjob_post
と、その求人に応募することができますjob_application
。
個人にジョブを授与する機能を追加したいと考えています。たとえば、ユーザー 1 ~ 10 が配管工の職に応募した場合、その職はユーザー 6 に与えられます。
プロジェクトを授与するという概念をどこに追加すればよいですか? それほど小さいもののために追加のテーブルを追加したくありません。どちらが望ましいでしょう -
オプション 1 - オンjob_post
:
`job_post`
- name
- position
- awarded_to (FK to profile, else Null if hasn't been awarded yet)
オプション 2 - オンjob_application
:
`job_application`
- profile (FK)
- job_post (FK)
- awarded (boolean field, default = 0, if awarded = 1)
さらに、この列を上記のテーブルの 1 つに追加することは、db 構造を非正規化する例になりますか? もしそうなら、なぜですか?