😋
データベース - 計算
リレーションの計算
-
Relational algebra: 既存のrelationsを使って新しいrelationを作る
- 例: SELECT, PROJECT, JOIN, UNION, DIFFERENCE, CARTESIAN PRODUCT
- SQLはrelational algebraに構文を与えたもの
- Algebra とは atomic operation + operators
- Atomic operands
- relation
- attribute
- constant
- Operators:
- set
(union),\cup (intersection),\cap (difference)\setminus - selection
(where), projection\sigma (select)\pi - cartesian product
(join), join\times (join)\bowtie - renaming
(as)\rho
- set
Relational Calculus
Projection
-
はattributesA_1, A_2, \dots, A_n -
はrelationR -
の各tupleのうち、R に対応するcomponentのみを含むrelationA_1, A_2, \dots, A_n
Selection
-
はpredicate\phi -
の各tupleのうち、R が成り立つもののみを含むrelation\phi
Cartesian product
-
の各tupleとR の各tupleを組み合わせたrelationS
Natural joins
-
の各tupleとR の各tupleを組み合わせたrelationS -
とR の共通するattributeを除いたrelationS
Theta joins
-
の各tupleとR の各tupleを組み合わせたrelationS -
が成り立つtupleのみを含むrelation\phi
Discussion