关系查询处理和关系优化-第三节:查询优化之代数优化

Posted 快乐江湖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关系查询处理和关系优化-第三节:查询优化之代数优化相关的知识,希望对你有一定的参考价值。

注意:

文章目录

(数据库系统概论|王珊)第九章关系查询处理和关系优化-第一节:查询处理中讲到过:SQL语句经过查询分析,查询检查后变换为查询树,它是关系代数表达式的内部表示。本节介绍查询优化之代数优化,它是基于关系代数等价变换规则的优化方法

  • 两个关系表达式 R 1 R_1 R1 R 2 R_2 R2是等价的,可以记为 R 1 ≡ R 2 R_1 \\equiv R_2 R1R2

一:关系代数表达式等价变换规则

  • 为了能方便阅读,就没用截图。手都麻了🤮(动动手点个赞吧🥳)

(1)连接、笛卡尔积、并、交的交换律

笛卡尔积

R × S ≡ S × R R×S \\equiv S×R R×SS×R


R ∪ S ≡ S ∪ R R \\cup S \\equiv S \\cup R RSSR

R ∩ S ≡ S ∩ R R \\cap S \\equiv S \\cap R RSSR

连接

R ⋈ F S ≡ S ⋈ F R 、 R ⋈ S ≡ S ⋈ R R \\undersetF\\bowtie S \\equiv S \\undersetF\\bowtie R 、 R\\bowtie S \\equiv S\\bowtie R RFSSFRRSSR

(2)连接、笛卡尔积、并、交的结合律

笛卡尔积

( R × S ) × T ≡ R × ( S × T ) (R×S) ×T\\equiv R×(S×T) (R×S)×TR×(S×T)


( R ∪ S ) ∪ T ≡ R ∪ ( S ∪ T ) (R \\cup S)\\cup T \\equiv R \\cup (S\\cup T) (RS)TR(ST)

( R ∩ S ) ∩ T ≡ R ∩ ( S ∩ T ) (R \\cap S)\\cap T \\equiv R \\cap (S\\cap T) (RS)TR(ST)

连接

( R ⋈ F S ) ⋈ F T ≡ R ⋈ F ( S ⋈ F T ) (R \\undersetF\\bowtie S) \\undersetF\\bowtie T \\equiv R \\undersetF\\bowtie (S \\undersetF\\bowtie T) (RFS)FTRF(SFT)
( R ⋈ S ) ⋈ T ≡ R ⋈ ( S ⋈ T ) (R\\bowtie S) \\bowtie T \\equiv R\\bowtie (S \\bowtie T) (RS)TR(ST)

(3)投影的串接定律

关系的两次投影操作可以合并为一次完成(反过来就是分解)

Π A 1 , A 2 , . . . , A n ( Π B 1 , B 2 , . . . , B m ( E ) ) ≡ Π A 1 , A 2 , . . . , A n ( E ) \\Pi_A_1,A_2,...,A_n(\\Pi_B_1,B_2,...,B_m(E)) \\equiv \\Pi_A_1,A_2,...,A_n(E) ΠA1,A2,...,An(ΠB1,B2,...,Bm(E))ΠA1,A2,...,An(E)

  • E E E是关系代数表达式
  • A i ( i = 1 , 2 , . . , n ) , B j ( j = 1 , 2 , . . , m ) A_i(i=1,2,..,n),B_j(j=1,2,..,m) Ai(i=1,2,..,n)Bj(j=1,2,..,m)是属性名。并且 A 1 , A 2 , . . . , A n \\ A_1,A_2,...,A_n \\ A1,A2,...,An构成 B 1 , B 2 , . . . , B m \\ B_1,B_2,...,B_m \\ B1,B2,...,Bm的子集

(4)选择的串接定律

选择的两次投影操作可以合并为一次完成(反过来就是分解)

σ F 1 ( σ F 2 ( E ) ) ≡ σ F 1 ∧ F 2 ( E ) \\sigma_F1(\\sigma_F2(E)) \\equiv \\sigma_F1\\land F2(E) σF1(σF2(E))σF1F2(E)

(5)选择与投影的交换律

σ F ( Π A 1 , A 2 , . . . , A n ( E ) ) ≡ Π A 1 , A 2 , . . . , A n ( σ F ( E ) ) \\sigma_F(\\Pi_A_1,A_2,...,A_n(E)) \\equiv \\Pi_A_1,A_2,...,A_n(\\sigma_F(E)) σF(ΠA1,A2,...,An(E))数据库 chapter 9 关系查询处理和查询优化

数据库是怎样炼成的:查询处理优化篇

数据库查询处理及优化

关系查询处理和关系优化-第四节:查询优化之物理优化

Mysql查询优化从入门到跑路数据库与关系代数

关系查询处理和关系优化-第二节:查询优化