1. A database recovery system for repairing a database, the database containing a plurality of user-defined database elements and a plurality of integrity states, each associated with one of the database elements, each of the plurality of integrity states representing a predetermined one or more conditions related to a characteristic of the associated database element, the database recovery system comprising: a state identification unit constructed and arranged to determine the one or more conditions of each of the database elements, and to set the associated integrity state accordingly; an element recovery unit constructed and arranged to improve said one or more conditions of the database elements so as to advance said plurality of associated integrity states to a more preferred integrity state; and a memory, accessible by said state identification unit and said element recovery unit, constructed and arranged to store the plurality of associated integrity states) wherein said plurality of integrity states includes at least one of: a valid state indicating said associated database element has not been damaged; a repaired state indicating said associated database element was damaged and subsequently repaired; and a damaged state indicating said associated database element is damaged.