I've converted the following SQL query:
SELECT name
FROM dog d, works_at w
WHERE (d.owner_name = w.person_name) AND (w.kennal_name = "Breeders");
into the following expression tree:

My main question is how does one apply heuristics to optimise an expression tree?
And is it OK to use the abbreviaions (e.g. dog as d) in the query tree, or do I have to write out dog.owner_name in place of d.owner_name?
