ID列を追加するためだけに3番目のID列を追加しても意味がありません。実際、行を挿入または削除するときに、処理のオーバーヘッド(インデックスのメンテナンス)が追加されるだけです。
主キーは必ずしも「ID列」ではありません。
ユーザーとアイテムの間に関連付けられた単一のコードのみを許可する場合(ユーザーに同じアイテムを2回割り当てることはできません)、(userid, itemid)
を定義することは理にかなっています。 テーブルの主キーとして。
同じペアを複数回表示することを許可する場合は、もちろんその制約は必要ありません。