RA: A Relational Algebra Interpreter
RA is a relational algebra interpreter interface to SQL-based
database systems, ideal for teaching and learning.
The latest version of RA, called radb, is based on
Python 3. You will be automatically redirected to it website
at http://www.cs.duke.edu/~junyang/radb/
in 15 seconds.
The earlier, Java-based version of RA, called ra, can
still be accessed
at http://www.cs.duke.edu/~junyang/ra2/.
A note on what has (not) changed besides moving from Java to
Python:
- The new radb is more user-friendly and has much
better error reporting than the old ra.
- The new radb doesn't have some of the
old ra's limitations. For example, users don't
need write permission on a database to query, so it is easy
to set up exercises for multiple students using a single
shared database.
- The new radb's relational algebra syntax is
backward-compatible with the old ra, but it also
has new features such as saving/restoring work to/from
files, and defining views (which allows complex queries to
be written in multiple steps).
Maintained by Jun Yang