From: intgr@asterix.rz.tu-clausthal.de (Torsten Grust) Subject: Re: Database for LINUX? Date: Fri, 17 Sep 1993 11:08:22 GMT
Hi, there
only a few words on the diffs between SQL and QUEL (from a theoretical
point of view :-):
-1- SQL's query parT is mainly based on the so-called
RELATIONAL ALGEBRA, a set
of operators manipulating the relational tables, loosely
speaking. This operator set is made up of the
- Projection (SQL: SELECT) "get only specified columns out of
the target table"
- Selection (SQL: WHERE) "select some lines (tuples) out of
the target table, matching a given predicate"
- Join (SQL: FROM/WHERE) "append the columns of two tables,
connect those tuples matching a given join
predicate" (called THETA-Join)
- Union (SQL: UNION) "do a set union on the tuples of two
target tables of certain uniform layout"
- Minus (SQL: ---) "do a set difference, like above"
- Rename (SQL: SELECT renaming) "rename the column names
of the target tables" (useful for Joins)
:-( SQL does not implement the full relational algebra!!!
-2- QUEL is based on the RELATIONAL CALCULUS, theoretically as
powerful as the ALGEBRA mentioned above. QUEL queries are made
up of a Projection and Selection part, giving you all and
m o r e oppurtunities than SQL!!! Not as readable as SQL's
SELECT
FROM
WHERE
blocks but more powerful. QUEL is the choice of the early
Ingres and Postgres implementors, overridden by SQL only for
marketing purposes.
So get INGRES/POSTGRES and do QUEL-querying... It's the right thing :-)
Torsten "Teg" Grust
Technical University of Clausthal, Germany
Dept. of CS, OO Database Development Group "OSCAR"
email: intgr@sun.rz.tu-clausthal.de