Salvo 'LtWorf' Tomaselli cd6bd42a2b Use normal strings in intermediate steps
This uses the CallableString object only in the final step and not
during all the intermediate ones.

Since str is a native object, it is faster to use than a normal
object.

This is a very marginal optimization that will not yield any
gains :)
2015-11-20 15:50:09 +01:00
2015-09-15 01:58:17 +02:00
2015-11-11 17:01:52 +01:00
2011-03-04 12:38:00 +00:00
2015-09-15 01:58:17 +02:00
2015-11-18 12:15:03 +01:00
2015-11-11 16:35:22 +01:00
2015-09-11 13:57:34 +02:00
2008-07-17 22:53:32 +00:00
2015-11-18 12:05:56 +01:00
2015-10-09 08:52:42 +02:00
2015-09-11 14:20:08 +02:00
2015-11-11 17:04:47 +01:00
2015-11-06 16:13:36 +01:00
2015-11-06 16:13:36 +01:00
2011-05-02 10:02:06 +00:00

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.

Description
No description provided
Readme 9.1 MiB
Languages
Python 96.2%
Makefile 1.7%
Roff 1%
Inno Setup 1%