1. A computer-implemented method for storing XML documents in a relational database, the method comprising: populating a first table and a second table, which are stored within said relational database on a storage medium, with data from an XML document that conforms to an XML schema, wherein the document contains an occurrence of a root element type and a first occurrence of a second element type and a second occurrence of said second element type; wherein the first and second occurrences that descend from the occurrence of a root element type; wherein the step of populating comprises: a processor storing a record in the first table, wherein the record in the first table corresponds with at least the occurrence of the root element type; and storing a first record in the second table, wherein the first record in the second table corresponds with the first occurrence of the second element type; storing a second record in the second table, wherein the second record corresponds to said second occurrence of the second element type that descends from the first occurrence of the second element type; wherein each of the first record and the second record in the second table includes a value that identifies the record in the first table; and wherein the first table is a separate table than the second table; wherein the schema describes a cyclic construct and the XML document contains a cyclic construct of which the first and second occurrences of the second element type is part.