Traditional database systems provide a mechanism for storing large amounts of data and an interface for querying and manipulating this data. They are, however, passive in the sense that their state can only change as a result of outside influences. An active database system enhances a traditional database system by providing, through active rules or triggers, the capability of automatically reacting to state changes without user intervention.
The behaviour of active rules in such a system, however, can be difficult to predict and there is consequently a need for developing techniques to automatically analyse properties of a rule set.
The main purpose of this thesis is to examine the property of termination, {\em i.e.} given a collection of active rules, is there a database state in which, once activated, the rules could trigger each other indefinitely. This problem is clearly of practical importance, since the possibility of infinite looping by rules in a database system should certainly be prevented. It is also very interesting and challenging theoretically, since the dynamics of triggers give rise to many intricacies.
A major theme of our study is the investigation of the impact that language and control features can have upon the decision problem of termination. In contrast, earlier work has concentrated on developing sufficient criteria for termination in systems with complex rule languages. Similar to previous important research problems such as boundedness of datalog, we aim to draw the exact boundary between the decidable and the undecidable cases. We do this by considering a number of parameters of rule systems which can affect the expressiveness and hence the complexity of termination analysis. These can be broadly grouped into two categories. The first, rule syntax, includes relation arity, update rule form and input domain constraints. The second, rule control structure, includes the pending rule mechanism and the meta rule language. Using these parameters, we identify rule system configurations which lie near the boundary. Our results help clarify the relationships between different rule components. We also give some complexity results for the decidable cases and show how our techniques for the termination problem can be adapted to analyse the property of reachability.
Finally, rather than giving up when presented with an unpromising situation, we propose a method which allows some definitely terminating cases to proceed; we do this by obtaining a partial answer to termination based on abstract interpretation. In terms of precision, the method compares favourably with previous approaches to the problem. This is because it investigates the flow of data, rather than just the syntax of conditions and actions.