~ Office Supplies ~~ Buy Posters ~~ A-Z Products ~~ Website Advertising


QUEL - Wikipedia

<<Up     Contents

QUEL

QUEL is a relational database access language, similar in most ways to SQL, but somewhat better arranged and easier to use. It was created as a part of the groundbreaking Ingres effort at University of California, Berkeley, and was used for a short time in most products based on the freely-available Ingres source code, most notably Informix. As Oracle and DB2 started taking over the market in the early 1980s, most companies supporting QUEL moved to SQL instead.

QUEL was generally more "normalized" than SQL. Whereas every major SQL command has a format that is at least somewhat different than the others, in QUEL a single syntax was used for all commands.

For instance, here is a sample of simple session that creates a table, inserts a row into it, and then retrieves and modifies the data inside it.

create student(name = c10, age = i4, sex = c1, state = c2)
append to student(name = "philip", age = 17, sex = "m", state = "FL")
range of s is student retrieve (s.all) where s.state = "FL"
print s
range of s is student replace s(age=s.age+1)
print s

Note that QUEL commands that operate over several rows always use a rowset variable defined with the range command, which can be used inside the statements themselves.

Here is a similar set of SQL instructions:

create table student(name char(10), age int, sex char(1), state char(2))
insert student (name, age, sex, state) values ("philip", 17, "m", "FL")
select * from student where state = "FL"
update student set age=age+1

Note that every command uses a unique syntax, and that even similar commands like INSERT and UPDATE use completely different styles.

Another advantage of QUEL was a built-in system for moving records en-masse into and out of the system. Consider this command:

copy student(name=c0, comma=d1, age=c0, comma=d1, sex=c0, comma=d1, address=c0, nl=d1)
into "/student.txt"

which creates a comma-delimited file of all the records in the student table. The d1 indicates a delimiter, as opposed to a data type. Changing the into to a from reverses the process. Similar commands are available in many SQL systems, but almost always as external tools, as opposed to being internal to the SQL language. This makes them unavailable to stored procedures.

With these differences, however, the two languages are largely the same.

wikipedia.org dumped 2003-03-17 with terodump




 
 
35 ct Very pink red gemmy RHODOCHROSITE Gorgeous gemstone freeform Single gem piece Very nice PRETTY
 35 ct Very pink red my RHODOCHROSITE Gorgeous freeform Single piece Very nice PRETTY 
 
17 grams light green new jade Serpentine gem stone Tumble polished cab cabbing rough 89 carat Nice
 17 grams light green new jade Serpentine Tumble polished cab cabbing 89 carat Nice 
 
78 carats CHRYSOBERYL gems stones Facet uncut raw rough gemstones crystals lot 4 to 5 ct 15 grams gr
 78 carats CHRYSOBERYL uncut raw crystals lot 4 to 5 ct 15 grams gr 
 
11 carats pink Rhodonite gem Polished rectangle blocks Cabbing cab cabochon rough gemstone freeforms
 11 carats pink Rhodonite Polished rectangle blocks Cabbing cab cabochon freeforms 
 
10 gram pink KUNZITE crystal specimen gem stone Cab cabbing cabochon rough uncut gemstone 51 carat 4
 10 gram pink KUNZITE crystal specimen Cab cabbing cabochon uncut 51 carat 4