😋

データベース - 計算

2022/11/05に公開

リレーションの計算

  • 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 \cup (union), \cap (intersection), \setminus (difference)
    • selection \sigma (where), projection \pi (select)
    • cartesian product \times (join), join \bowtie (join)
    • renaming \rho (as)

Relational Calculus

Projection

\pi_{A_1, A_2, \dots, A_n}(R) 列を取り出す

  • A_1, A_2, \dots, A_n はattributes
  • R はrelation
  • R の各tupleのうち、A_1, A_2, \dots, A_n に対応するcomponentのみを含むrelation

Selection

\sigma_{\phi}(R) 行を取り出す

  • \phi はpredicate
  • R の各tupleのうち、\phi が成り立つもののみを含むrelation

Cartesian product

R \times S relationの直積

  • R の各tupleとS の各tupleを組み合わせたrelation

Natural joins

R \bowtie S relationの自然結合

  • R の各tupleとS の各tupleを組み合わせたrelation
  • RS の共通するattributeを除いたrelation

Theta joins

R \bowtie_{\phi} S relationの結合

  • R の各tupleとS の各tupleを組み合わせたrelation
  • \phi が成り立つtupleのみを含むrelation

Discussion