Sample Header Ad - 728x90

Converting SQL to Relational Algebra / Calculus

2 votes
1 answer
10583 views
I have designed a schema and generated a few SQL queries. I'm using PostgreSQL. For example: CREATE TABLE train ( train_code SERIAL PRIMARY KEY, name TEXT NOT NULL ); CREATE TABLE journey ( journey_id SERIAL PRIMARY KEY, int INTEGER, train_code REFERENCES train(train_code) ); CREATE TABLE price ( journey_id REFERENCES journey(journey_id), price INTEGER ); Give me all train names that commence from train_code NYC or SFO that are priced $50 or more. (assume the price table is in $ already). SELECT train.name JOIN train JOIN journey on train.train_code = journey.train_code JOIN price on price.journey_id = journey.journey_id WHERE price.price >= 50 AND journey.train_code IN ('NYC', 'SFO') AND journey.int = 1 -- (first train of the journey) I am unsure how to convert this into a relational algebra and/or calculus query. I have looked at a few converters e.g. http://dbis-uibk.github.io/relax/calc.htm but in this calculator 'join' for example and 'in' is not allowed.
Asked by Dino Abraham (127 rep)
Jun 20, 2017, 02:48 PM
Last activity: Mar 22, 2021, 02:17 PM