1つの商品と2つの倉庫が管理されています。一見問題ありません。 実際問題これでも問題ない場合はあります。これで問題が出るケースは「商品コード」が手入力な場合です。 マスター情報を入力するページが存在し、ユーザーの手によって商品情報がコードと合わせて入力されるようなケースでは問題が出ます。 問題が出る理由は単純です。ユーザーが入力するということは修正できなければいけない、商品コードは変更の可能性があるという一点です。 つまり、商品コードはある一瞬においては確かに一意に識別できる物なのかもしれませんが、それがずっと、永遠なのかと言うとそういうわけではないというのが主キー足らしめない理由です。 このケースの問題点 では、これがどう問題なのかと言いますと、それは商品コード(主キー)の変更時です。 主キーは本来変わるべきでない物であるためこれを更新するのは面倒な上に更新時異常を引き起こし得る操作です