Projects / Relational


Relational is an interface to load relations from a file, to write relational algebra queries, and to see their result. This software has educational purposes, since it makes it possible to immediately evaluate if a query is correct or not. For developers, it provides a relational algebra Python module which can be used within other projects.

Operating Systems

RSS Recent releases

  •  27 Oct 2011 21:05

    Release Notes: This release includes an editor for relations, removing the need to edit them externally. It also uses regular expressions to forbid invalid attribute names, and gives the user more feedback on incorrect relations. Support for PySide should make it easier on Mac to install the dependencies. For the developers, the API has been changed and now accepts Unicode objects instead of UTF-8 encoded strings.

    •  22 Mar 2011 21:07

    Release Notes: This release adds history and menus in the GUI. It checks if given name to relations are valid. Type recognition is more robust, and now handled using a regexp. Module parallel can execute queries in parallel. Rename operations are now much faster; content won't be copied unless subsequent insert, updates, or deletes will occur.

    •  03 Jul 2010 21:06

      Release Notes: The font is set only on Windows. Relations specified in the command line can be loaded. A problem with float numbers with the selection of certain relations was fixed. A .desktop file on svn was added. Some fields in the survey are automatically filled. When a query fails, the message of the exception is shown. The tokenizer was improved for select in optimizations, and it now can accept operators in identifiers. Getopt is used to handle the command line in a more standard way. The code was organized so the UI can be either Qt or command line. This means that it does not depend on Qt anymore. A readline user interface was added. A division operator was added.

      •  01 Jul 2009 13:38

      Release Notes: In the optimizer, a function that tokenizes an expression was added. "install" and "uninstall" targets were added to the makefile. The optimizer generate a tree from the expression. Query optimizations were implemented. A stub for converting SQL to relational algebra was added. The old relational algebra to Python compiler was replaced with a new one based on the new tokenizer/parser. The code was refactored to move the new parser into out of Selection can now accept expressions with parentheses.

      •  14 Mar 2009 20:08

      Release Notes: This release splits into independent packages (GUI and library), simplifies the makefile, removes information to generate Debian/Mac packages from the default source package, and makes "make source_all" generate the old-style tarball containing all the files. The relational script installed with the Debian package now passes arguments to the Python executable. Inserting and deleting from the GUI are now done on the displayed relation, not on the selected one.


      Project Spotlight


      A Sudoku game.


      Project Spotlight

      Novius OS

      A CMS that takes up the challenge of managing Web content in today’s multi-channel environment.