Il problema con VARCHAR utilizzato per qualsiasi chiave è che possono contenere SPAZIO BIANCO. Lo spazio bianco è costituito da QUALSIASI carattere non leggibile dallo schermo, come tabulazioni spazi, ritorni a capo, ecc. L'utilizzo di un VARCHAR come chiave può complicarti la vita quando inizi a cercare il motivo per cui le tabelle non restituiscono record con spazi extra alla fine delle loro chiavi.
Certo, POSSO usa VARCHAR, ma devi stare molto attento con l'input e l'output. Occupano anche più spazio e sono probabilmente più lenti quando si eseguono query.
I tipi interi hanno un piccolo elenco di 10 caratteri validi, 0,1,2,3,4,5,6,7,8,9 . Sono una soluzione molto migliore da usare come chiavi.
Puoi sempre usare una chiave a base intera e usare VARCHAR come valore UNIQUE se vuoi avere i vantaggi di ricerche più veloci.