Anch'io direi di sì. Anche perchè c'è differenza tra la primary key (chiave tecnica) di una tabella e un unique constraint (vincolo di univocità) della tabella.Originariamente inviato da Shadow976
Bene, quando una tabella possiede una coppia di valori integer che già di per sé presi in coppia saranno sempre univoci, vale la pena aggiungere un ulteriore campo, appunto un id autoincrementale, che diventerà la chiave primaria della tabella? Io direi di sì
La prima è tecnica.
La seconda è logica (o funzionale).
Io comunque sono per la reale comprensione degli aspetti teorici, che si ottiene semplicemente domandosi il perchè e verificandone i benefici sul campo (daltronde queste norme/teorie sono il frutto di anni di esperienza su progetti reali).
Quindi se tu usassi la sola chiave logica potresti trovarti nella condizione di avere una chiave primaria composta da più campi, situazione scomoda per il fatto che eventuali legami o vincoli di foreign key dovrebbero portarsi in giro insiemi di campi (oltre al fatto che sparpagli informazioni funzionali nel tuo DB ogni volta che hai bisogno di un legame).