ここで最適なソリューションが何であるか疑問に思っています。
正規化されたデータベースがあるとします。システム全体の主キーは 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)  
もちろん、他にもいくつかの一対多の関係を追加してください。
皆さんはどう思いますか?どちらが優れているのか、その理由は?