Skip to content

jsoulier/comp_3005_relational_algebra_query_processor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Relational Algebra Query Processor

Relational algebra query processor written for COMP3005

images See manual for requirements

Features

  • Graphical user interface
  • Loading and saving documents
  • Undo and redo stack
  • Multiple tables and queries per document
  • Wide range of table operations
  • Extensive suite of tests
  • Error reporting

How to Run

Everything is written in Python using only the standard library. The only requirement is Python3.

Invoke main.py to run the application.

python3 main.py

Invoke unittest to run the tests.

python3 -m unittest

Supported Table Operators

Table Operator Form 1 Form 2
Selection σ Column Operator Value Table
Projection π Column1, ... Table
Cross Join Table1 × Table2
Natural Join Table1 ⨝ Table2 Table1 ⨝ Column Operator Value Table2
Left Outer Join Table1 ⟕ Table2 Table1 ⟕ Column Operator Value Table2
Right Outer Join Table1 ⟖ Table2 Table1 ⟖ Column Operator Value Table2
Full Outer Join Table1 ⟗ Table2 Table1 ⟗ Column Operator Value Table2
Union Table1 ∪ Table2
Intersection Table1 ∩ Table2
Subtraction Table1 − Table2
Division Table1 ÷ Table2

About

Relational algebra query processor written for COMP3005

Topics

Resources

Stars

Watchers

Forks

Languages