Re: Expressing SQL in relational algebra

From: Bob Badour <bbadour_at_golden.net>
Date: Sat, 15 Mar 2003 23:57:37 -0500
Message-ID: <yZTca.111$hj.17467512_at_mantis.golden.net>


"Neo" <neo55592_at_hotmail.com> wrote in message news:4b45d3ad.0303152023.2e117071_at_posting.google.com...
> > > "SELECT * FROM T_Person WHERE (age=20) AND (weight=180);" in rel
algebra?
> >
> > (T_Person | age=Years(20) AND weight=Pounds(180)),
> > RESTRICT(T_Person,age=Years(20) AND weight=Pounds(180)),
> > or T_Person WHERE ( age=Years(20) AND weight=Pounds(180) )
>
> Could the above also be expressed as "person ^ age ^ 20 ^ years ^
> weight ^ 180 ^ pounds" where ^ means AND?

Not that I know of.

Where does the above indicate the restrict operation or the equality comparisons?

> How does Tutorial-D express joins such as: "SELECT * FROM T_Car JOIN
> T_Part ON T_Car.ID = T_Part.CarID WHERE T_Part.Color = 'red'";

I haven't checked the exact syntax, but I would guess:

((T_Car RENAME ID AS CarID) JOIN (T_Part)) WHERE Color = Color('Red')

Why do you prepend every relation name with "T_" ? It doesn't really make much sense. Received on Sun Mar 16 2003 - 05:57:37 CET

Original text of this message