Summary: | This thesis documents the design and implementation of Updates and Event Handlers in a relational database programming language. Update operations are implemented in the nested relational model and Event Handlers transform the database system from passive to active. === The update operation allows the user to change values of specified attributes in certain tuples. These attributes can be selected by a "using" clause which uses a relational algebra operation to select tuples from the relation we want to update. We can also use updates to add or delete some tuples to or from the relation. The nested update in nested relations will also be presented. === Event handlers are introduced as procedures, invoked by events which are system generated procedure calls. We implement the event handler based on computation---the procedural abstraction facility of the database programming language. === An update statement can invoke multiple event handlers. Event handlers may contain update statements which in turn invoke other event handlers. This introduces cascading event handlers. We will present the combination of update and event handler algorithm by which the update; operation is coupled with event handler closely and neatly, and the cascading event handler is handled by the system's recursive execution. === In this thesis, we provide the user a uniform syntax to update both flat relations and nested relations. The unification of computation and procedure leads to a simpler language. More over, the explicitness and intuitiveness of the definition and implementation of both event and event handler are under substantial considerations.
|