What are the steps in query processing? Explain briefly. List out any 3 equivalence rules for relational algebra for query optimization.
Solution
Steps: Parse (syntax check) → Translate (to RA tree) → Optimize (apply rules + cost estimate) → Execute (physical operators) → Return results.
3 Equivalence Rules:
- Cascade Selections: σ_{p1∧p2}(R) ≡ σ_{p1}(σ_{p2}(R))
- Push Selection through Join: σ_{p}(R⋈S) ≡ σ_{p}(R)⋈S (if p uses only R attrs)
- Join Commutativity: R⋈S ≡ S⋈R (enables build/probe side selection)