Go to file
Salvo 'LtWorf' Tomaselli e24e757342 Moved most of install logic to makefile
Makefile has again a make install target. The install targets
are split because it is easier for the rules file to install
the files for the different packages inside different destinations
directly.
2015-10-04 00:35:29 +07:00
debian Moved most of install logic to makefile 2015-10-04 00:35:29 +07:00
feedback-ltworf Prepare for next release 2015-09-15 01:58:17 +07:00
relational Solves mysterious issue 2015-09-14 19:45:09 +07:00
relational_gui Refactored main window creation 2015-09-29 12:47:20 +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 Prepare for next release 2015-09-15 01:58:17 +07:00
test Subtle bug that occurred selecting after a join 2015-09-10 12:19:51 +07:00
windows Prepare for next release 2015-09-15 01:58:17 +07:00
.gitignore Use resource file 2015-09-11 13:57:34 +07:00
CHANGELOG Prepare for next release 2015-09-15 01:58:17 +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 Moved most of install logic to makefile 2015-10-04 00:35:29 +07:00
README.md Better readme 2015-09-11 14:20:08 +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 Installs icon for .desktop file 2015-09-11 14:05:23 +07:00
relational_gui.py Refactored main window creation 2015-09-29 12:47:20 +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

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

Running on osx

You can probably follow the instructions on running from sources to rut on osx.

If you encounter problems, don't ask me for help.

If you encounter problems and overcome them, please tell me how to update this README.