データベースには、決まっていない値という意味でNULLというものがあります。
で、このNULLについては、コッドさん曰く2種類の意味があるとのこと。
例えば、
A.自分の父親の生年月日をNULLとしたとき、
1.自分は孤児で父親がいない場合。
2.父親はいるが、生年月日を思い出せない場合。
B.自分の派遣元会社をNULLとしたとき、
1.そもそも自分は正社員で派遣元会社はナンセンスな場合。
2.派遣元を教える筋合いはないと考えている場合。
でも、現在のRDMSでは2のNULLは扱えるものはありません。すべて1の考え方でしか有りません。
ま、かろうじて安全側に倒れているような気がします。
というのは、例えばA-2.の場合、確かに父親の生年月日があるのでこれを扱おうとした場合、大変なことが起こりそう。こういう状態で、父親の誕生月を月ごとに人数を集計しようとした場合、1件でも「父親の誕生日がわからない」というデータがあると、すべての月の人数集計はUNKNOWNになるべきなのだけれど、そんなことになったら、なにもできなくなりそうだから。
というわけで、2を入れるという考えは全力で避けるようにしなければいけない。さらに1のものも避けることができれば、さらにシンプルに考えられるのだけれど。。。
0 件のコメント:
コメントを投稿