Я должен написать код для преобразования простых запросов SQL в реляционную алгебру.
Цель проекта кодирования - создать мини-версию Apache Hive, которая называется miniHive.Первым этапом является написание компилятора запросов, который переводит простые запросы SQL в реляционную алгебру.Мы рассматриваем операторы SQL, которые являются конъюнктивными запросами, в форме SELECT DISTINCT A1, ...., AN TOM T1 t1, ...., Tmtm WHERE C, где A1, ...., An являются именами атрибутов, T1 ,...., Tm - имена отношений, t1, ...., tn - необязательные переименования, а C - это конъюнкция условий равенства в форме ti: A = tj.B или ti.A = c, где c - это aконстанта, а A и B являются именами атрибутов.Первым шагом в miniHive является перевод операторов SQL в реляционную алгебру.Мы используем два существующих модуля Python: Мы используем sqlparse для разбора операторов SQL.Подробнее об этом модуле на https://github.com/andialbrecht/sqlparse. Мы используем radb для обработки операторов реляционной алгебры.Подробнее об этом модуле на https://github.com/junyang/radb. Для этого модуля требуется Python 3!Напишите модуль sql2ra, который принимает разобранный оператор SQL и выполняет канонический перевод в реляционную алгебру, используя операторы выбора, проекции, объединения и ...
Я не знаю, с чего начать, яискал два дня, помогите разобраться в этом коде и как он должен выглядеть.