20. A system for estimating a cardinality of a multiple-join query of relational database tables, comprising: means for calculating data representing a join graph of the multiple-join query of the relational database tables, the join graph having a set of vertices and a set of edges, the set of vertices corresponding one-to-one with the relational database tables in the multiple-join query, the set of edges corresponding one-to-one with join predicates expressed and implied in the query; eliminating tail vertices from the join graph to form a reduced graph; and means for using the data representing the reduced join graph to estimate the cardinality of the multiple-join query of the relational database tables to select a join order for the multiple-join query.
20. A system for estimating a cardinality of a multiple-join query of relational database tables, comprising: means for calculating data representing a join graph of the multiple-join query of the relational database tables, the join graph having a set of vertices and a set of edges, the set of vertices corresponding one-to-one with the relational database tables in the multiple-join query, the set of edges corresponding one-to-one with join predicates expressed and implied in the query; eliminating tail vertices from the join graph to form a reduced graph; and means for using the data representing the reduced join graph to estimate the cardinality of the multiple-join query of the relational database tables to select a join order for the multiple-join query. 22. The system of claim 20, wherein the means for estimating the cardinality of the multiple-join query comprises means for multiplying a selectivity of the join represented by each edge, the cardinality of each relational database table represented by each vertex, and an individual selectivity of the table represented by each vertex.