リレーションの張ってないリレーショナルデーターベース [しょーもないこと]
今、私はあるデーターベースと戦っています。
テーブルに主キーは定義してあるんですが、外部キー制約が全く付けてありません。
「XXXコード」という名前のフィールドがあると、同じ名前のフィールドが別のテーブルの主キーになっていたりするので、本当はそこに外部キー制約を付けるんだと思います。
なぜ、外部キー制約をつけてないんでしょうか?宗教上の理由?
#多分、データを一括登録する時などに制約が付いてるとうまく更新できない、とかだと思いますが
正規化云々どころではありません。
いや、正規化っぽいことは、してあります(ただ、外部キー制約がつけてないだけ)。
そういうのに限ってむやみに
・Aコード
・Bコード
とコード化していて、それぞれ
・Cコードマスタ
・Dコードマスタ
とマスタあって、コードの振り方が 「01」「02」「03」・・・「99(その他)」だったりします。
どれがどれのマスターやねん!
(本当は、Aコードのマスタが「Cコードマスタ」っぽいなぁ、とわかる微妙な名前付けになってます)
RDBMS の入門本で「ちゃんと制約を付けよう」ともっと書いて欲しいと思います。
コメント 0