Der er ikke noget galt med at bruge en CHAR eller VARCHAR som en primær nøgle.
Selvfølgelig vil det fylde lidt mere end en INT i mange tilfælde, men der er mange tilfælde, hvor det er det mest logiske valg og endda kan reducere antallet af kolonner, du har brug for, forbedre effektiviteten ved at undgå behovet for at have en separat ID-felt.
For eksempel har landekoder eller statsforkortelser allerede standardiserede tegnkoder, og dette ville være en god grund til at bruge en tegnbaseret primærnøgle i stedet for at lave et vilkårligt heltals-id for hver derudover.