Go to file
Salvo 'LtWorf' Tomaselli 0f4cc1ab94 Changelog
Move the impressive stuff up
2015-09-11 12:42:18 +07:00
debian Add make step in debian/rules 2015-09-11 12:40:17 +07:00
feedback-ltworf Prepare for version 2.1 2015-06-13 17:34:13 +07:00
relational Subtle bug that occurred selecting after a join 2015-09-10 12:19:51 +07:00
relational_gui Save state of splitter in GUI 2015-09-11 12:41:33 +07:00
relational_readline Removed encoding string 2015-07-14 10:43:13 +07:00
samples - Change from 0.12 to version 1.0 2011-03-04 12:38:00 +07:00
setup Removed encoding string 2015-07-14 10:43:13 +07:00
test Subtle bug that occurred selecting after a join 2015-09-10 12:19:51 +07:00
windows Removed encoding string 2015-07-14 10:43:13 +07:00
.gitignore Do not ship compiled files 2015-09-11 12:33:58 +07:00
CHANGELOG Changelog 2015-09-11 12:42:18 +07:00
COPYING renamed equijoin to thetajoin 2008-07-17 22:53:32 +07:00
CREDITS - termcolor modified to use bold by default 2011-04-01 10:28:47 +07:00
Makefile Do not ship compiled files 2015-09-11 12:33:58 +07:00
README.md Do not ship compiled files 2015-09-11 12:33:58 +07:00
TODO - Using more the colored class 2011-05-02 10:02:06 +07:00
complexity Get rid of the last remains of galileo 2013-12-27 00:47:48 +07:00
driver.py Style 2015-07-14 11:01:35 +07:00
relational-cli.1 Updated manpages 2015-06-01 12:54:52 +07:00
relational.1 Updated manpages 2015-06-01 12:54:52 +07:00
relational.desktop Make lintian happy 2013-12-27 01:02:04 +07:00
relational_gui.py Style 2015-07-14 11:01:35 +07:00

README.md

Relational an educational tool to provide a workspace for experimenting with relational algebra, an offshoot of first-order logic.

It provides GUI that can be used for executing relational queries, and also provides a command line interface.

Provides a standalone Python module that can be used for executing relational queries, parsing relational expressions and optimizing them.

Official website

More documentation can be found here http://ltworf.github.io/relational/

Install

Binary download for Windows can be obtained from the website.

For Linux, check your distribution's packages, relational is available on Debian and Ubuntu.

Syntax

These are some valid queries

σage > 25 and rank == weight(A)
σ (name.upper().startswith('J') and age>21 )(people)
Q ⋈ π a,b(A) ⋈ B
ρid➡i,name➡n(A) - π a,b(π a,b(A)) ∩ σage > 25 or rank = weight(A)
π a,b(π a,b(A))
ρid➡i,name➡n(π a,b(A))
A ⋈ B

Run from sources

To launch the application, run

make
./relational_gui.py

If it needs some dependencies: Qt5, Python 3.4 or greater, PyQt5, pyuic5

It can run on osx but bugreports about that will be rejected.