Тактика нормализации SQL Server: varchar vs int Identity
Мне просто интересно, какое оптимальное решение здесь.
Скажем, у меня есть нормализованная база данных. Первичным ключом всей системы является varchar. Что мне интересно, я должен связать этот varchar с int для нормализации или оставить его? Проще оставить как varchar, но это может быть более оптимальным
Например, я могу иметь
People
======================
name varchar(10)
DoB DateTime
Height int
Phone_Number
======================
name varchar(10)
number varchar(15)
Или я мог бы иметь
People
======================
id int Identity
name varchar(10)
DoB DateTime
Height int
Phone_Number
======================
id int
number varchar(15)
Конечно, добавьте несколько других отношений один ко многим.
Что вы все думаете? Что лучше и почему?