Go to file
Salvo 'LtWorf' Tomaselli f892a9e162
Update copyright
2020-08-24 10:41:50 +07:00
.github codeql 2020-08-13 14:34:00 +07:00
debian Version bump to 3.0 2020-08-12 21:12:55 +07:00
feedback-ltworf Return 3.0 from the online thingy 2020-08-12 21:25:55 +07:00
relational Use fstrings 2020-08-15 21:25:35 +07:00
relational_gui Update copyright 2020-08-24 10:41:50 +07:00
relational_readline Don't feel like writing stubs 2020-08-15 21:25:35 +07:00
samples - Change from 0.12 to version 1.0 2011-03-04 12:38:00 +07:00
setup Version bump to 3.0 2020-08-12 21:12:55 +07:00
tests_dir Test the load function 2020-08-15 20:53:46 +07:00
windows Rename launch command 2020-08-24 10:26:41 +07:00
.gitignore .gitignore 2020-08-12 19:36:26 +07:00
.travis.yml Run mypy on travis 2020-06-18 17:34:55 +07:00
CHANGELOG Make relation immutable 2020-08-13 14:34:54 +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 Copy also cli package 2020-08-24 10:40:01 +07:00
README.md Rename launch command 2020-08-24 10:26:41 +07:00
SECURITY.md Better specify 2020-08-12 19:36:25 +07:00
complexity s/outher join/outer join/ 2016-01-03 09:05:15 +07:00
driver.py Use the new API 2020-08-13 14:34:57 +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.py Update copyright 2020-08-24 10:41:50 +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.py