2009年7月30日木曜日

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


** 5.3 SQL式の評価
- えっと、この節は、SQLの意味をTutorial D (または
リレーショナル代数)が与えている、ということを言
いたいようだ。
- 違う言いかたをすると、SQLは実装により過ぎている、
ということかな。

** 5.4 拡張と要約
- 拡張と要約は、数値の加算などをリレーショナル代
数にて実施するための仕組み。
- 拡張はタプルどうしの計算をサポートする。
- 要約は「下位の属性」の計算をサポートする。

*** 5.4.1 拡張
- 構文
EXTEND <関係> ADD ( <表現> AS <属性名> )
- 例
EXTEND P ADD ( WEIGHT * 454 AS GMMT )
- 意味
Pに属性を追加した関係を表す。追加される属性の属
性名はGMMT、属性の型と値はWEIGHT * 454の型と値。
表現としてどういう語彙と構文が許されているかは
本書のここには記述されていない。

*** 5.4.2 要約
- 構文
SUMMARISE <関係1> PER (<関係2>)
ADD ( <要約表現> AS <属性名> )
- 例
SUMMARISE SP PER ( S { SNO } ) ADD ( COUNT ( ) AS P_COUNT )
- 意味
みてのとおり。すいません、言葉にするのが結構煩
雑なので割愛。

** 5.5 グループ化とグループ解除
- RVAについて、さわりだけ。
- 既存の関係からRVAを作る。
R1 GROUP ( { PNO } AS PNO_REL )
- RVAな関係をばらす。次の例ではR1が得られる。
R4 UNGROUP ( PNO_REL )


こつこつ。

0 件のコメント: