主キーはjob_offersで意味がありますか?理由はないと思います。
はい 。すべてのテーブルに独自のPKが必要であることに同意します。
すべてのテーブルに主キーが必要ですか?
私はもっと持っていますが、ケースが等しい場合、ユーザーは企業または独身者である可能性があります
job_offersには2つの外部キーがあり、1つは会社に関連し、もう1つはユーザーに関連しています。これに問題はありますか?同じタスクを実行する別の方法はありますか?
システムには、通常ユーザー(個人)と会社ユーザーの2種類のユーザーがあります。job_offersは、会社からの求人を保存するテーブルです。会社のユーザーがジョブを投稿する場合は、job_offersテーブルにレコードが挿入されます。次に、通常のユーザーがこの求人を取得すると、job_offers.company_user_id_userがこの通常のユーザーのユーザーIDに割り当てられます。
しかし、ERダイアグラムから、Company.users_id_user
はPKであり、これをnullにすることはできません。このPKはjob_offers.company_users_id_user
、でFKとして使用されます。したがってjob_offers.company_users_id_user
、nullにすることもできません。
その結果、会社のユーザーが求人を投稿するだけで、通常のユーザーがこの求人を取得する前、または最終的に誰もこの求人を取得しないという状況に対処できません。この場合、 nullに設定する必要があります。これは、 ' job_offers.company_users_id_user
snotに違反します。job_offers.company_users_id_user
null制約。
この設計を使用して同じタスクを実行します。
Users
=================
id_user (PK)
email
activation
password
Company
=================
id_company (PK)
activities
foundation
user_id (FK to Users)
description
job_offer
=================
id_job_offer (PK)
id_company (FK to Company)
description_offer
tags
user_offer
=================
id (PK)
user_id (FK to Users)
job_offer_id (FK to job_offer)