|< < 40 > >|

Translating SQL Queries into Relational Algebra

Conjunctive Normal Form

Query blocks require predicates to be in conjunctive normal form (CNF).

A CNF expression is of the form (...) and (...) ....

The parenthesized expressions may contain ors.

Why?

CNF allows for more flexible rewriting of queries. Example:
select * from Employee where not (salary < 20000 or salary > 200000)

|< < 40 > >|