名前なし
2023/09/15 (金) 10:45:02
77762@3d5b4
データベースではコードに意味を持たせてはいけない、とききますが
そのコードが「業務で利用するコード」であるかどうかによります。
それとは別の問題として、有意コードや「後から変更される可能性がある情報」を格納するためのフィールドをテーブルの主キー(個々のレコードを一意に識別するためのインデックス)として定義することは、できるだけ避けた方が良いでしょう。
顧客番号でCA001(Cがカスタマー、Aは顧客の頭文字)としたり
顧客の名前(の頭文字)は、後から変更(改名、または誤って入力された情報の修正)される可能性があります。
請求書番号をCA001-23001(顧客番号と2023の23と発行数)としたりする
同上。
顧客番号とは別に00001、00002といったIDをリレーションにつかい、
顧客番号は文字と同じ扱いにする、などは問題とされませんか?
そういう形でよいと思いますが、それと「[顧客番号]を有意コードとするべきか否か」はあくまで別の問題です。
例えば、もし顧客の名前(の頭文字)が変更されたら、わざわざ[顧客番号]も新たに発行し直したりするのでしょうか。
通報 ...
ハンドルネームを入力し忘れました。失礼。