2009年7月29日水曜日

【DBiD】5 リレーショナル代数 (その2)


** 5.2 オリジナルの演算子
- この節では、Coddが最初に定義したリレーショナル
演算子を概観する。

*** 5.2.1 制限
- 構文
<関係> WHERE <ブール式>
- 例
S WHERE CITY = 'Paris'
- 意味
ブール式が真となるタプルのみを含む関係。
*** 5.2.2 射影
- 構文
<関係> { <属性1>, <属性2>, ... }
<関係> { ALL BUT <属性1>, <属性2>, ... }
- 例
S { SNAME, CITY, STATUS }
S { ALL BUT SNO }
- 意味
指定された属性だけを含む関係。ALL BUTのとき
は、指定されていない属性だけを含む、となる。
*** 5.2.3 結合
- 構文
<関係1> JOIN <関係2>
- 例
P JOIN S
- 意味
見出しは、関係1と関係2の見出しの和集合とする。
和の際の重複としたくない見出しについてはさきんじ
てRENAMEしておくものとする。重複している見出
しについて、値が等しいタプルを両関係からピッ
クアップしてそれを属性に重複が無いように結合
したものにて本体を成す。
*** 5.2.4 交わり
- 構文
<関係1> INTERSECT <関係2>
- 例
S { CITY } INTERSECT P { CITY }
- 意味
同じ型の関係1と関係2について、両者で重複する
タプルを本体とした関係。結合で、関係1と関係2
が同じ型のときと同じふるまい。
*** 5.2.5 和
- 構文
<関係1> UNION <関係2>
- 例
S { CITY } UNION P { CITY }
- 意味
同じ型の関係1と関係2について、関係1に含まれ
るタプルも関係2に含まれるタプルも、両方とも
含めた本体をもつ関係。
*** 5.2.6 差
- 構文
<関係1> MINUS <関係2>
- 例
S { CITY } MINUS P { CITY }
- 意味
同じ型の関係1と関係2について、関係1の本体か
ら、関係2に含まれるタプルは除外したものを本
体にもつ関係。
*** 5.2.7 デカルト積
- デカルト積はCoddのオリジナルには含まれていな
いようだ。
- Tutorial Dにも含まれていない。
*** 5.2.8 商
- Dateは商が嫌みたいで、記述が投げやりなので、
割愛。
- リレーショナル比較という別の演算子にて、同じ
効果がより簡単に得られる、というのが、Dateが
やる気がない理由のようだ。
*** 5.2.9 プリミティブ演算子
- プリミティブ演算子というのは、それらがあれば、
他の演算子も表現できる、というようなミニマム
セットのことである。
- ここでのプリミティブ演算子は、制限、射影、結
合、和、半差、である。


こつこつ。

0 件のコメント: