L'aggiunta di una terza colonna ID solo per il gusto di aggiungere una colonna ID non ha senso. In effetti, aggiunge semplicemente un sovraccarico di elaborazione (manutenzione dell'indice) quando si inseriscono o si eliminano righe.
Una chiave primaria non è necessariamente "una colonna ID".
Se consenti solo una singola associazione tra utente e elemento (a un utente non può essere assegnato lo stesso elemento due volte), ha senso definire (userid, itemid)
come chiave primaria della tua tabella.
Se consenti alla stessa coppia di apparire più di una volta, ovviamente non hai bisogno di quel vincolo.