主キーを持つテーブル 1 と外部キーを持つuser_id
テーブル 2 があります。user_id
user_id
テーブル 2 に存在できるレコードは 1 つだけであり、テーブル 2 なしではレコードは存在できません。
質問:user_id
表 2 では、同時に外部キーと主キーの両方になることができますか? はいの場合、それは良い考えですか? 長所と短所は何ですか?
主キーを持つテーブル 1 と外部キーを持つuser_id
テーブル 2 があります。user_id
user_id
テーブル 2 に存在できるレコードは 1 つだけであり、テーブル 2 なしではレコードは存在できません。
質問:user_id
表 2 では、同時に外部キーと主キーの両方になることができますか? はいの場合、それは良い考えですか? 長所と短所は何ですか?
はい、これを行うことができます (データベース設計の観点からはそうすべきです)。
ただし、 がテーブル 2 の主キーである場合の意味を考えてみてuser_id
ください。実際には、テーブル 2 の各行がユーザーに対応していると言っていますが、各行がユーザーに対応するテーブルが既に存在します: テーブル 1。 「では、テーブル 2 のすべてのデータをテーブル 1 の null 許容列に入れてみませんか?」という質問。結局、テーブルが 2 つあるということは、このデータを取得するために 1 つではなく 2 つのクエリを作成する必要があることを意味します。
現在、この方法が適切なシナリオがいくつかあります。
これは良い考えかもしれませんが、アプリケーションの詳細に依存します。