データベースの基本(本当はGUIDにしたい、、、)

沙羅のユーザー様の中には、「どうしても家番号をつけかえたい・それも毎年付け替えたい」と仰られる方がおみえです。
(閉口せざるをえません。。。)

例えば、備忘録のデータには
〇〇月〇〇日、山田さんが▲▲▲▲という記録をつけた場合、
内部データには
〇〇月〇〇日家番号の99番の家の山田さんが▲▲▲▲ というように家番号データが入ります。
(その家番号でリンクするのです)

そしてさらに家族には家番号の他に家族帳IDも持っています。

ですので、狂ってしまうので家番号の変更はできないようにしてあるのです。

 

さらに、内部では家番号のみならず、過去帳には過去帳ID、家族帳には家族帳ID、、、すべてIDがあるのです。

檀家名簿削除の際に。「家番号を付け替える」というのがありますが、それは、各データに残っているその家番号を付け替える処理です。

ところが、

今日。
なんとなくサラデンのデータ構造のテーブルを見ていたら、家族ID(GenzaiID)が落ちているではないですか!

これは、、、

檀家名簿を削除すると当然ながら同時に現在帳も削除しまうので、いたしかたないですが、本来ならば0にすべきところです。

 

問題なのは、「一番最後の人の人を削除した時に、新しい人を登録すると」

次の新しい人が取得するIDは「一番最後の人+1」なので、今のままですと電話履歴が違う人になってしまう、、、という問題が起こりえるかも、、、ということでした。
また構造変更か、、、。

スマホでも電話帳を消すと、着信履歴の名前も消えるんでしょうね。
(消したことないですけど)
実際に、大手の会社さんは顧客携帯番号登録して、その人が携帯変えて、昔の番号を誰かが使い始めて、、、なんていう時に
CTI使って対応している場合、パソコン上に昔の所有者情報が表示されて、チンプンカンプンになる場合も起きているんですかね~。

近年は2段階認証でスマホ番号登録することが多くなってきましたが、携帯電話はむやみに番号を変えるとドツボにはまります。

 

「一番最後の人+1」ではなくて、GUIDにしたらと思いますが(沙羅以外の業務用ソフトを作成する場合はGUIDでした)
しかし、GUIDはメンテナンスが大変・見た目ではわからないので結局数字でやっているわけです。

1つのソフトの中だけならまだしも、他のソフトやデータベースとリレーショナルする場合もあるのです。