Patent ID: 8195606

Claim:
A method to be executed at least in part in a computing device for managing data synchronization between linked tables, the method comprising: determining a linear foreign key relationship between a referencing table and a referenced table; determining a cyclic foreign key relationship between the referencing table and the referenced table; capturing changes in at least one of the referencing table and the referenced table in a batch, wherein each batch of changes is captured at predefined intervals; synchronizing the referencing table and the referenced table by applying the captured batch of changes in the referencing table and the referenced table, wherein the tables are synchronized by: applying the captured changes for cyclic foreign key relationships through a two-pass process, wherein the referencing table is processed before the referenced table if a foreign key column of the referencing table allows predefined unused values; applying INSERT and UPDATE operations in the referenced table before applying the INSERT and UPDATE operations in the referencing table; and applying DELETE operations in the referencing table before applying the DELETE operations in the referenced table.