|< < 42 > >|

Translating SQL Queries into Relational Algebra

Conjunctive Normal Form

Why?

CNF also allows selects to be decomposed and handled by different plans.
select * from Employee where salary < 20000 and age > 40

If we have an index on salary but not age:
SelectScan( SelectIndex( emp_salary_idx, salary < 20000), age > 40)

|< < 42 > >|