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だと困るんだよなー