nullを使用しないとすると……
昨日の日記の続きです.
関係S(サプライヤ)が
SNO | SNAME | STATUS | CITY |
---|---|---|---|
S1 | Smith | 20 | London |
S2 | Jones | 10 | (null) |
こんな風で,CITY属性にnullが含まれていたとしましょう.SQLなら問題なしですがリレーショナル理論ではご法度なので,さて,どうしましょう?
練習問題の3-19にも同様の設問があるのですが,そのものずばりの解答はないようです.自分が思いついたのはこんな感じでした.
1.とりあえず関係C(都市)を
CNO | CNAME |
---|---|
C1 | London |
と定義する
2.Sは
SNO | SNAME | STATUS |
---|---|---|
S1 | Smith | 20 |
S2 | Jones | 10 |
こんな感じで
3.関係SC(都市が確定しているサプライヤ)を
SNO | CNO |
---|---|
S1 | C1 |
でOK?
でも,これだと
- これまでテーブル1つで済んでいたものが3つになってイマイチ?
- SNAME属性やSTATUS属性にもnullが含まれるときには,さらに複雑になる
って感じで,どうもすっきりしません.
これだったらCITYを''(空文字)にしたほうがよいのかな?でもSTATUSだと困るんだよなー