Se i dati è necessario per essere unico, allora avete bisogno di un vincolo unico. Altrimenti otterrete dati poveri. Un PK deve essere unico, ma ciò non significa che non sia necessario che anche altri dati siano unici. Forse ogni record deve avere un datetime unico, questo è improbabile che sia il PK, ma l'unicità deve essere forzata in qualche modo.
In particolare se si utilizza una chiave surrogata per il PK (che consiglio vivamente), allora si vuole assicurarsi che i campi chiave naturali facciano parte di un unico contrappeso per evitare la duplicazione dei dati.
Stessa cosa per i dati del tipo di ricerca. Supponiamo che tu abbia un elenco di specialità professionali per i medici che i tuoi utenti possono scegliere quando inseriscono i dati e supponiamo che siano autorizzati ad aggiungere a questo elenco se necessario. Un vincolo unico impedirà all'Onologologist di essere inserito più volte, il che renderà più facile quando si vuole effettivamente trovare il numero di persone che sono oncologi.
Una chiave primaria è SEMPRE unica, per definizione. –