Я хотел бы нарисовать план оценки SQL, например, дерево, в котором листы показывают, что результирующий набор фильтруется с заданными аргументами, а затем широкий результирующий набор уменьшается только путем проецирования соответствующих атрибутов, и, наконец, соединение происходит с наименьшим возможным результирующим набором из обоих наборов.
Для этого есть некоторый алгебраический язык, но я не могу найти какой-либо хороший инструмент, чтобы получить его в виде дерева.