2009年7月27日月曜日

【DBiD】5 リレーショナル代数


* 5 リレーショナル代数

自分なりの言葉で書く

- リレーショナル代数の演算の特徴
- 閉包である。
- 非破壊的である。
- 関係変数は普通の意味での変数である。
- つまり、普通の代数ってことだろうな。
- こういうことを強調せざるを得ないのは、SQLがそう
じゃないから、と予測する。

- Tutorial D の設計について

- unionやjoinのように、オペランドの属性どうしが一
致しなければならない演算においては、該当属性は
型と属性名が一致していることを求める。例えば、

P JOIN S

としたとき、PとSにそのような属性があることをユー
ザが気をつけなければいけない。

- SQLにあるようなドット表記の名前は禁止。

** 5.1 閉包

- 閉包である、ということは、リレーショナル代数演
算にて演算子が連なるとき、それぞれの入出力が関
係であるということであった。
- しかしこれは概念上のことであり、実際の処理にお
いては、効率のために、処理系はなるべく中間の関
係を実体化しないように工夫するであろう。
- 閉包ということは、関係が持つ見出しの推論と関連が
ある。
- Tutorial Dにて、

---

(P JOIN S)
WHERE PNAME > SNAME

---

- という文を考えると、PNAME > SNAMEというのが問わ
れているのは、PでもSでもなく、(P JOIN S)が返す
関係だ。なので(P JOIN S)の見出しがなんなのかがP
とSから特定されねばならない。これが見出しの推論
である。
- 具体的には、そのJOINによって作られる集合の見出
しは、Pの見出しとSの見出しの和集合になる。

- Tutorial Dでは、代数演算において属性名が役割り
を果たすので、属性名の書き換えは重要である。そ
れはRENAMEで実施する。

S RENAME (CITY AS SCITY)


こつこつ。

0 件のコメント: