This section is from the "Practical PostgreSQL" book, by John Worsley and Joshua Drake. Also available from Amazon: Practical PostgreSQL.
SQL is based largely on tuple relational calculus and relational algebra. Relational algebra, introduced by E. F. Codd in 1972, provided the basic concepts behind computing SQL syntax. It is a procedural way to construct data-driven queries, and it addresses the how logic of a structured query. The tuple relational calculus ( TRC ), on the other hand, had a large effect on the underlying appearance of SQL. Relational calculus uses declarative expressions, which address the what logic of a structured query.
There are, additional features that set SQL apart from merely implementing features that are part of relational algebra or calculus:
A user is allowed to insert, delete, and modify stored data records.
Arithmetic operations such as addition, subtraction, multiplication, and division (e.g., (value1 * 5) + value2 ) are allowed, as well as comparison operators (e.g., value3 >= value4 ).
A user is allowed to display query-generated relationships (such as a table's contents).
Assignment provides a user the ability to re-name a relation that is computed by a query, rather than forcing the use of the default relationship name (e.g., a column or function name, depending on the source of the data).
Aggregate functions allow a user to group related rows together and perform evaluations upon that group of data. These operations can include, but are not limited to: average, sum, count, maximum, and minimum.
 
Continue to: