dbis-uibk / relax Goto Github PK
View Code? Open in Web Editor NEWRelaX - a relational algebra calculator
Home Page: http://dbis-uibk.github.io/relax/
License: MIT License
RelaX - a relational algebra calculator
Home Page: http://dbis-uibk.github.io/relax/
License: MIT License
Get insight about how the result is calculated
The top menu in the test version (the one that says "Calculator", "Sprache", "Feedback", "Hilfe (en)") doesn't work correctly. Clicking "Calculator" or selecting a different language with "Sprach" leads to a 404 error.
The same happens when clicking on "Feedback" and then using the browser's back button.
Test case:
gist ID: 0c3296418a9053b5132034885511e4d9
Relational Algebra
(π SID, CID (Grade)) ÷ (π SID (Student))
The expected result should be:
Grade.CID
---
CS305
but the actual result is empty
Not sure if my understanding is correct
The interesting thing is, it works for another working example:
(π SID, CID (Grade)) ÷ (π CID (Course))
The expected and actual result is
Grade.SID
---
1000
Hello!
First of all, fantastic product! Great tool to easily see the relational algebra equivalent of SQL code.
The only downsides I noticed were:
IN
or EXISTS
clause.Do you plan on implementing this? Let me know if I can help in any way!
Cheers!
This SQL script is not converting to a functioning relational algebra statement: select distinct teaches.course_id from teaches join instructor on instructor.ID = teaches.ID where instructor.name = 'Brandt'
. This statement was used on the Silberschatz - UniversityDB database and works perfectly fine but when it is converted to relational algebra it returns a error, this is the relational algebra statement it returns: π teaches.course_id σ instructor.name = 'Brandt' teaches ⨝ instructor.ID = teaches.ID instructor. Here is the error: Error: could not find column "instructor.name" in schema [teaches.ID : number, teaches.course_id : string, teaches.sec_id : number, teaches.semester : string, teaches.year : number].
Update handsontable to the new react wrapper
This is an awesome tool and it's used in my university (computer science) based in Mexico, I'd like to contribute with a Spanish translation for now and maybe any new features that can be added.
I've never worked with i18next
to be honest, but I'd like to know what the process would be to do the translation. I see the json
file under /locales/
, but I'm not sure if that's all I'd have to do.
Hello,
it would be great if UTF-8 support and option to use case-insensitive attributes were added.
Test case (UTF-8):
Group editor:
student = {
studentid:number, firstname:string, lastname:string, fieldofstudy:string
6, Lukas, Novotný, N-AplInf
}
Error: Expected "\n", "\r\n", "}", [-_a-z0-9.]i or delimiter but "ý" found.
For newbies, adding one or multiple example queries to the underlying gist and showing/adding these example queries to the query input field might help getting started (as only the execute query-button needs to be clicked to run a first query).
I've created a dataset for the University schema from the Database System Concepts book by Silberschatz, Korth and Sudarshan, as a gist available at:
https://gist.github.com/ssudarshaniitb/f45feaaa1c7543085408ef4d9b1c13b1
If you can add it as one of the datasets that are available on the menu, it would be great!
Thanks for creating a very useful tool, I will put up a link to your site on the home page of the textbook.
Sudarshan
For developing, analysing and debugging queries, it would be quite convenient to be able to mark parts of a query (e.g., a subquery) and execute only this marked part.
Hello!
Thanks for the excellent project, it actually helps me understand relational algebra by writing SQL queries.
I am trying to do a date comparison, but there is always an error message coming up saying I am comparing to a number.
Dates are stored properly in my dataset, and I am trying like this date = '2016-01-01'
with or withour quotes.
Any hints? The documentation didn't mention something about that.
Thanks
At the moment, there are only unit-tests which can be found in test.html when executing "yarn serve".
Additionally, cross browser selenium tests would make sense to have a fully working CI.
Refreshing the page leads to a 404 error on every page except the landing page.
Would you support NULL?
The import of SQL doesen't work !!!
I can't create a relation with zero attributes or return zero attributes from an expression (i.e the relations DUM and DEE).
E.g. the following give syntax errors
π (R)
A = {}
My query is: σ City="NY"(Collection)
Here is my code on GitHub so you can load this into the Relational Algebra calculator:
https://gist.github.com/mikesmithblog/5fb170c98476d3ec1b02c99e1e7020b6
I used this program for an assignment and for practice.
Now i am using it again, with the same exact codes i had before, and the outputs are different now.
Please fix it!
One issue to fix ;-)
The tool is very helpful to verify logical developments!
Please keep up your motivation and continue the good work!
Thanks!
For submitting solutions e.g., to teachers, a standardized export (e.g., to a file) would be convienient. This could be a simple text-file holding either the greek symbols or the symbol names (pi, sigma). I'd prefer to user symbol names due to possible encoding problems.
UNION ALL is basically Union without the elimination of multiple equal values, and small delta eliminates the multiple equal values
Port intro tour
Update all deps/packages to the latest stable version
Support the following languages
While the process of uploading data through gists is quite smooth, it can be a pain to need to re-enter gist id again and again. This might come up if you are switching between gists frequently or accidentally close the page. To address this, I propose maintaining a list of recently used gists in localstorage and populating either a dropdown or straight list just below the "load dataset stored in gist" section of the data selection tab.
Thanks for making such a great project, it's very fun.
in SQL mode, the editor won't accept LEFT OUTER JOIN
, but will gladly accept LEFT outer JOIN
.
When using the left arrow operator to rename columns, the built-in arrow from the toolbar doesn't seem to work, no matter how you format it.
rho manufacturer <- maker (Product) --this works
rho manufacturer ← maker (Product) --this throws errors
If the left arrow operator is meant to work as the assignment operator (like in some dialects of relational algebra), that too doesn't seem to be working.
It would be great to have instructions on how to build the bundle for deployment myself especially since there seem to be external dependencies.
Code:
(π P.code, P.name, P.size, S.name, S.location, S.phone (S ⨯ E ⨯ P))
▷
(π P.code, P.name, P.size, S.name, S.location, S.phone (S ⨯ E ⨯ P))
Dataset:
group: UIBK - R, S, T
description: Tables from and for the lecture Databases: Foundations, Data Models and System Concepts - University of Innsbruck chapter 3
PIZZA = {
code, name, size
0, 'magaritta', 10
1, 'magaritta', 12
2, 'salat og kebab', 12
3, 'khaans', 12
4, 'ananas', 8
13, 'cursed pizza', 69
}
STORE = {
name, location, phone
'khans pizza', 'Vejle', 1111
'Sunshine', 'Randers', 2222
'Pizza cafe', 'Aarhus', 3333
'Forladt shop', 'Aarhus', 3333
}
SELLS = {
store_name, code, price
'khans pizza', 3, 90
'khans pizza', 1, 65
'Sunshine', 1, 84
'Sunshine', 2, 10
'Sunshine', 4, 70
'Pizza cafe', 1, 60
'Pizza cafe', 2, 40
'Pizza cafe', 4, 45
}
Improve Error Handling for the Editor
In the current version, cardinalities (sizes of intermediary results) are only shown when hovering the mouse over a specific node. To get a better overview of the sizes of the intermediary results, I'd rather display the cardinality of any given node within the node (e.g., below the operator in smaller font).
Split bundle to reduce loading time
you can add some more operations like
average,count-distinct,max,min...
Other issues like 'arrow pointing towards right missing' should also be fixed
Thanks for making RelaX by the way
I think this calculator is very useful for education in "Database Lecture & Study".
I'd like to add the Korean translation by "pull request" and introduce this calculator to my Korean friends!
Introduce functionality to download results as
Image
Latex
Instead of having to take a screenshot of the execution plan, it would be convenient to be able to export the tree to e.g., some image format or pdf.
Hey,
I cant find the implementation of relalg.relalgFromSQLAstRoot anywhere.
Where is it?
Thank you
use http://www.mockaroo.com/ or http://www.generatedata.com/ to generate datasets
When you hover on the "import SQL-dump" or "add new relation" buttons a popup menu appears with other options, but as soon as you move the cursor (and stop hovering the main button) the popup menu disappear, so for example I'm unable to use he "import SQL-content" button
Cleanup Source Code
Not sure if a migration is currently being performed since the site can also be found at http://138.232.66.66/ra/, but I figured if this was unintentional, it'd be worth pointing out that this link now results in a 404.
The following query is rejected by relax:
select distinct * from R where R.a = (select max(a) from R);
In this case, the challenge is for relax to discover that this query returns a single tuple and a single value (always).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.