Go to file
Salvo 'LtWorf' Tomaselli 1c9c9a7195 Remove osx mention from README
No apple user is ever going to make a contribution and tell me how to run
this thing on osx. Let's forget about it.
2016-03-31 21:45:59 +07:00
debian Added my public key in the debian/ directory 2016-03-31 20:28:53 +07:00
feedback-ltworf Prepare for next version 2016-03-02 00:31:31 +07:00
relational Error message when compilation fails 2016-03-31 21:45:59 +07:00
relational_gui Updated copyright notices 2016-03-31 21:45:59 +07:00
relational_readline Updated copyright notices 2016-03-31 21:45:59 +07:00
samples - Change from 0.12 to version 1.0 2011-03-04 12:38:00 +07:00
setup Updated copyright notices 2016-03-31 21:45:59 +07:00
test New optimization 2016-01-03 10:07:23 +07:00
windows Updated copyright notices 2016-03-31 21:45:59 +07:00
.gitignore Use resource file 2015-09-11 13:57:34 +07:00
CHANGELOG Prepare for next version 2016-03-02 00:31:31 +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 Added release target 2016-03-31 20:27:43 +07:00
README.md Remove osx mention from README 2016-03-31 21:45:59 +07:00
complexity s/outher join/outer join/ 2016-01-03 09:05:15 +07:00
driver.py Updated copyright notices 2016-03-31 21:45:59 +07:00
relational-cli.1 Refreshed manpages 2015-11-06 16:13:36 +07:00
relational.1 Refreshed manpages 2015-11-06 16:13:36 +07:00
relational.desktop Desktop file accepts parameters 2016-03-15 16:56:30 +07:00
relational_gui.py Updated copyright notices 2016-03-31 21:45:59 +07:00

README.md

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

It works on GNU/Linux, Windows and OS X.

It provides:

  • A GUI that can be used for executing relational queries
  • A standalone Python module that can be used for executing relational queries, parsing relational expressions and optimizing them
  • A command line interface

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

If it needs some dependencies:

  • Qt5
  • Python 3.4 or greater
  • PyQt5
  • pyuic5 and pyrcc5

You will need to run

make

to generate some .py files.

To launch the application, run

./relational_gui.py

or

python3 relational_gui.py