Normalization and Compilation of Deductive and Object-Oriented Databases Programs for Efficient Query Evaluation

A normalization process is proposed to serve not only as a preprocessing stage for compilation and evaluation but also as a tool for classifying recursions. Then the query-independent compilation and chain-based evaluation method can be extended naturally to process a class of DOOD programs and queries. The query-independent compilation captures the bindings that could be difficult to be captured otherwise. The chain-based evaluation explores query constraints, integrity constraints, recursion structures, and other features of the programs with a set of interesting techniques, such as chain-following, chain-split, and constraint pushing. Therefore, with this normalization and compilation process, a class of DOOD queries can be evaluated efficiently in deductive and object-oriented databases.