I thought Oracle (and db2 and mssql) are relational dbs (with some object features veneered on). The crux as I see it is that the SQL language is not built on as rigorous a foundation as the relational algebra and as such let quite a bit of ambiguity creep in. Rethinking my statement above, you may be right that they all are not strictly relational DBs in that relational algebra does not have a concept of duplicates. Every tuple is uniquely identifiable. Just out of curiosity I dug out the course material of a course on Database Design by "The Relational Institute". The material has "copyright 1987 Codd & Date consulting group" on every page. In the chapter on Query Optimization under the heading "convert into canonical form" it lists several transformation rules: - (A join B) where A-restriction and B-restriction ==> (A where A-restriction) join (B where B-restriction) - any restriction predicate ==> equivalent predicate in conjunctive NF e.g. P or (Q and R) ==> (P or Q) and (P or R) - (A where restriction 1) where restriction 2 ==> (A where restriction-1 AND restriction-2) I love this particular one the most. Isn't that exactly the case where he was arguing in response to Jonathan's subquery madness article that the subquery must be evaluated before the outer restriction is applied??? - (A [projection-1]) [projection-2] ==> (A [projection-2]) - (A [projection]) where restriction ==> (A restriction) [projection] - A.F1 > B.F2 and B.F2 = 3 ==> A.F1 > 3 (possibly allows the elimination of a join!!) - others At 12:15 PM 9/20/2004, you wrote: >You probably are correct Wolfgang, but I thought Oracle is NOT a >relational db, but an >SQL db, and if I understand Date correctly, then this qst has relevance. > >-- >Rob Zijlstra Regards Wolfgang Breitling Centrex Consulting Corporation http://www.centrexcc.com -- //www.freelists.org/webpage/oracle-l