Go to file
Salvo 'LtWorf' Tomaselli 6da017a562
Make the gui targets file by file
2020-06-02 20:03:59 +07:00
.github FUNDING.yml 2020-03-01 11:23:57 +07:00
feedback-ltworf Prepare for next release 2016-08-23 20:56:44 +07:00
relational Use the newer class name 2018-04-22 00:30:20 +07:00
relational_gui Remove embedded browser with website 2017-08-26 17:51:04 +07:00
relational_readline make mypy happy 2017-06-24 11:31:07 +07:00
samples - Change from 0.12 to version 1.0 2011-03-04 12:38:00 +07:00
setup Prepare for next release 2016-08-23 20:56:44 +07:00
tests_dir moved tests directory 2017-06-24 11:35:46 +07:00
windows Prepare for next release 2016-08-23 20:56:44 +07:00
.gitignore .gitignore 2017-07-02 12:51:06 +07:00
.travis.yml Install xtermcolor 2020-06-02 18:32:47 +07:00
CHANGELOG CHANGELOG 2017-08-18 08:37:47 +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 Make the gui targets file by file 2020-06-02 20:03:59 +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
do_debian do_debian script 2017-08-19 09:10:46 +07:00
driver.py moved tests directory 2017-06-24 11:35:46 +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 Fixes to the .desktop file 2016-04-27 19:48:00 +07:00
relational_gui.py Copyright line 2017-06-24 10:36:44 +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