摘要 |
A method for joining records from database tables is proposed. Join attributes are ordered into a sequence S0, and a scope C is initialized to empty. Tables including a join attribute A that is first in S0 are identified. A new sequence S omits A from S0. Iteration through each identified table proceeds in join attribute A order. The iteration utilizes a tree index structure for each identified table where the index key includes all join attributes in the identified table in S0 order. For each matched value v of the join attribute located during the iterating, a new scope Cv is created by appending "A=v" to the scope C. If S is empty, a tuple corresponding to the scope Cv is output. Otherwise, S0 is set to S and for each scope Cv, C is set to Cv and the steps beginning with the identifying step are recursively invoked. |