Bonus Assignment for Carleton University COMP3005 Database Management Systems.
A tiny, from-scratch interpreter for a Relax-style input language. It reads relation definitions and a relational algebra query, parses them into an AST, executes the operations, and prints the result as a table.
Operations supported:
- Selection (
σ/select), - Projection (
π/project), - Join (
⋈/join ... on ...), - Set operations (
⋃/union,∩/intersect, −/diff), - and
rename.
Test files are also available for viewing.
From the project root run:
python -m relatom.repl
No dependencies beyond Python standard library for the core engine and pytest for test files.