Natuurlijk kan dat, in die zin dat uw RDBMS u dit toestaat. Het antwoord op de vraag of je al dan niet moet doen is echter anders:in de meeste situaties mogen waarden die een betekenis hebben buiten uw databasesysteem niet worden gekozen als primaire sleutel.
Als u weet dat de waarde uniek is in het systeem dat u modelleert, is het gepast om een unieke index of een unieke beperking aan uw tabel toe te voegen. Uw primaire sleutel moet echter over het algemeen een "betekenisloze" waarde zijn, zoals een automatisch verhoogd getal of een GUID.
De reden hiervoor is eenvoudig:fouten bij het invoeren van gegevens en onregelmatige wijzigingen in dingen die onveranderlijk lijken, gebeuren. Ze worden veel moeilijker te fixeren op waarden die als primaire sleutels worden gebruikt.