Taktik der SQL Server-Normalisierung: varchar vs int Identity

Ich frage mich nur, was hier die optimale Lösung ist.

Angenommen, ich habe eine normalisierte Datenbank. Der Primärschlüssel des gesamten Systems ist ein Varchar. Ich frage mich, ob ich diesen Varchar für die Normalisierung mit einem Int in Beziehung setzen oder ihn belassen soll. Es ist einfacher, als varchar abzureisen, aber es ist möglicherweise optimaler

Zum Beispiel kann ich haben

People
======================
name      varchar(10)   
DoB       DateTime    
Height    int  

Phone_Number
======================
name      varchar(10)   
number    varchar(15)

Oder ich hätte es tun können

People
======================
id        int Identity   
name      varchar(10)   
DoB       DateTime  
Height    int  

Phone_Number
======================
id        int   
number    varchar(15)  

Natürlich können Sie auch mehrere andere Eins-zu-Viele-Beziehungen hinzufügen.

Was denkst du alle? Was ist besser und warum?

Antworten auf die Frage(7)

Ihre Antwort auf die Frage