A crucial part of relational query optimization is the reordering of query processing for more efficient query evaluation. The reordering may be explicit or implicit. Our major goal in this paper is to describe manipulation rules for queries that include outerjoins, and views or nested subqueries. By expressing queries and processing Strategies in terms of relational algebra, one can use the ordinary mechanisms of query optimization and view substitution with a minimum of disrupt ion. We also aggregate operators, universal sorting.