アカウント名:
パスワード:
よくあるバグですね.
データベース(SQLやCSV)で「ワクチン接種の有無」という項目をつくり値は,有,無,NULL,の3値となるような設計&実装をしますつまり,不明の場合はNULL,確定した場合は有or無, です.
これを2値と勘違いして,「有」と「それ以外(つまりNULL or 無)」と集計したりSQLで SELECT * FROM hogehoge WHERE "ワクチン接種の有無" == TRUE などとクエリを書いてしまうと,今回のようなバグが発生します.
ワクチン接種の有無,という一見2値のような項目名に対して,データは3値になるという「矛盾」が混乱を招くのでしょう.(今回の場合は,日付の入力
いやNULLに罪はない。罪があるのは設計者か、或いは実装者か、またはその両者だ。
同意です。Nullを受け付けないRDBMSがあったとすればポンコツでしょう。
The net of all this is that if nulls are present, then we’re certainly not talking about the relational model.
ゆうてもRDBMSの権威、C.J.Dateもこう言ってるしなぁ。
全てのColumnにNot Null制約をつけて運用できますか?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs
NULLは諸悪の根源 (スコア:5, すばらしい洞察)
よくあるバグですね.
データベース(SQLやCSV)で「ワクチン接種の有無」という項目をつくり
値は,有,無,NULL,の3値となるような設計&実装をします
つまり,不明の場合はNULL,確定した場合は有or無, です.
これを2値と勘違いして,「有」と「それ以外(つまりNULL or 無)」と集計したり
SQLで SELECT * FROM hogehoge WHERE "ワクチン接種の有無" == TRUE などとクエリを書いてしまう
と,今回のようなバグが発生します.
ワクチン接種の有無,という一見2値のような項目名に対して,データは3値になるという「矛盾」が
混乱を招くのでしょう.(今回の場合は,日付の入力
Re:NULLは諸悪の根源 (スコア:1)
いやNULLに罪はない。
罪があるのは設計者か、或いは実装者か、またはその両者だ。
Re: (スコア:0)
同意です。
Nullを受け付けないRDBMSがあったとすればポンコツでしょう。
Re: (スコア:0)
ゆうてもRDBMSの権威、C.J.Dateもこう言ってるしなぁ。
Re: (スコア:0)
全てのColumnにNot Null制約をつけて運用できますか?