Menambahkan kolom ID ketiga hanya demi menambahkan kolom ID tidak masuk akal. Sebenarnya itu hanya menambahkan overhead pemrosesan (pemeliharaan indeks) saat Anda menyisipkan atau menghapus baris.
Kunci utama belum tentu "kolom ID".
Jika Anda hanya mengizinkan satu yang terkait antara pengguna dan item (pengguna tidak dapat diberikan item yang sama dua kali) maka masuk akal untuk mendefinisikan (userid, itemid)
sebagai kunci utama tabel Anda.
Jika Anda mengizinkan pasangan yang sama muncul lebih dari sekali, tentu saja Anda tidak memerlukan batasan itu.