Skip to main content
v0.1.0 Foundation·Client-Side Relational Algebra Compiler

The modern interactive canvas for relational algebra.

Write formal relational algebra expressions, inspect step-by-step evaluation trees, translate to optimized SQL, and master relational calculus directly inside your browser.

RAT Workspace — Selection & Join Evaluation
Query Expression:
Valid Syntax
πname, department, salary(σsalary > 75000(Employees ⋈ Departments) )
Compiled SQL Equivalent:
SQL >SELECT e.name, d.department, e.salary FROM Employees e NATURAL JOIN Departments d WHERE e.salary > 75000;
Result Relation (3 tuples)0.42 ms
namedepartmentsalary
Alice SmithEngineering$92,000
Carlos OrtizDesign$84,000
Diana PrinceResearch$98,500
Execution: Pure Client JS Schema Verified
Foundational Features

Built for rigorous computer science education

Interactive Expression Sandbox

Write, validate, and evaluate relational algebra queries against live tables with immediate visual feedback and schema inspection.

Open sandbox →

Curated Practice Exercises

Progressive problem sets from basic projections and selections to multi-way joins, set operations, and division queries.

Browse exercises →

Formal Operator Reference

Comprehensive reference sheet documenting mathematical definitions, algebraic laws, operator precedence, and SQL translations.

View operator guide →
Zero-Server Architecture

Everything runs locally in your browser

RAT is designed as a standalone static application deployable to GitHub Pages. All parsing, validation, query tree generation, and relation execution happen client-side without any server roundtrips.

Instant sub-millisecond query evaluation
Offline capable with zero tracking or telemetry
Deterministic query sharing via URL fragments
Architectural BoundariesGitHub Pages Ready
Frontend Layer

Next.js 16.3.6 (Pages Router), Radix UI primitives, Tailwind v4 tokens

Compiler Engine

Client-side lexer, recursive-descent parser, AST optimizer

Relational Storage

In-memory relation tables, browser LocalStorage persistence

Deployment

Static export (out/) hosted seamlessly on root or /rat path