Taktyka normalizacji SQL Server: varchar vs int Identity
Zastanawiam się tylko, jakie jest optymalne rozwiązanie.
Powiedz, że mam znormalizowaną bazę danych. Podstawowym kluczem całego systemu jest varchar. Zastanawiam się, czy powinienem powiązać ten varchar z intem w celu normalizacji lub go opuścić? Łatwiej jest odejść jako varchar, ale może to być bardziej optymalne
Na przykład mogę mieć
People
======================
name varchar(10)
DoB DateTime
Height int
Phone_Number
======================
name varchar(10)
number varchar(15)
Albo mógłbym
People
======================
id int Identity
name varchar(10)
DoB DateTime
Height int
Phone_Number
======================
id int
number varchar(15)
Dodaj oczywiście kilka innych relacji jeden-do-wielu.
Co wszyscy myślicie Który jest lepszy i dlaczego?