2009-04-30

データ整合性と人の死

仕事データベースとそれを操作するアプリケーション設計・実装することが多いのですが、データベース整合性を保つために重要な事のひとつに「削除処理」があります。データ削除素人から見ると一見「消すだけじゃん」と簡単そうに思いますが実は一番気を使うところかもしれません。

例えば販売管理顧客データにAという顧客が登録されているとします。そして商品データにBが登録されているものとします。AがBを買うと売上データにその旨のデータが追加されます。この後Aを削除したらどうなるでしょうか?何もしなかったらその売上は誰が買ったものかわからなくなりますよね。Bを消したら何を買ったのかわからなくなります。

こういったデータ間の影響を解消するための方法として大体2通りの方法があります。それはAに関するデータを全て消してしまう方法と、擬似的に削除したものとして取り扱う方法です。しかし販売管理などで実際に使われている方法は後者が殆どだと思います。なぜならAに関するデータを全て消してしまうと、それを含んで導き出されていた集計結果に変化が生じてしまうからです。

ではmixiyahooなどはどうでしょうか?たまコメントや評価の名前の欄に「退会しました」とか「____」とだけ出ている場合があります。mixiyahoo人間でないので詳しくはわかりませんが、個人情報保護の観点から退会者のデータは完全に削除し、削除されたデータが作り出したデータ名前欄には上記のような置き換えを施しているのだろうと思います。(物理削除論理削除かは結局中の人にしかわからない)

じゃあリアル世界ではどうでしょうか?退会した(死んだ)メンバー(人)が作り出したデータ名前が何かに置き換わりますか?物や金は相続名前(名義)が置き換わったとしても、その人が作り出してきた文章や音楽や絵などはずっとその人が作ったものとして残っていきます。

そういうものが一切なくても関わってきた周りの人たちに印象や記憶が残っていきます。印象や記憶が強くて周りの人が文章や音楽や絵にしてくれる場合もあるかもしれません。どちらにしても誰か一人でも覚えている限り完全にデータ削除されていないということです。関わってきた人全員の記憶から消えた時に初めて死んだのです。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん