Tática de normalização do SQL Server: varchar vs int Identity
Eu só estou querendo saber qual é a solução ideal aqui.
Digamos que eu tenha um banco de dados normalizado. A chave primária de todo o sistema é um varchar. O que eu estou querendo saber é se eu relacionar este varchar para um int para normalização ou deixá-lo? É mais simples deixar como um varchar, mas pode ser melhor
Por exemplo, eu posso ter
People
======================
name varchar(10)
DoB DateTime
Height int
Phone_Number
======================
name varchar(10)
number varchar(15)
Ou eu poderia ter
People
======================
id int Identity
name varchar(10)
DoB DateTime
Height int
Phone_Number
======================
id int
number varchar(15)
Adicione vários outros relacionamentos um-para-muitos, é claro.
O que vocês acham? Qual é melhor e por que?