Lecture
By definition, a database is called active if the DBMS with respect to it performs not only those actions that the user clearly indicates, but also additional actions in accordance with the rules laid down in the database itself.
It is easy to see that the basis of this idea was contained in the time language SQL System R. In fact, what is the definition of a trigger or conditional impact, if not an introduction to the database of the rule, according to which the DBMS should perform additional actions? The only bad thing is that in fact the triggers were not fully implemented in any of the known systems, even in System R. And this is not by chance, because the implementation of such a device in a DBMS is very complex, expensive and not completely understood.
Among the questions, the answers to which have not yet been received, the following. How to effectively determine the set of auxiliary actions caused by direct user action? How to recognize cycles in the chain "action-condition-action -..." and what to do when such cycles occur? Within which transaction to perform additional conditional actions and to the budget of which user to include arising overhead costs?
A lot of problems have not been solved even for a relatively simple case of implementing SQL triggers, and the task is already much broader. In essence, it is proposed to have in the database a production system of a general form, the conditions and actions of which are not limited to the contents of the database or direct actions on it by the user. For example, the condition may include the time of day, and the action may be external, for example, displaying information on the operator’s screen. Practically all modern works on active databases are associated with the problem of the effective implementation of such a production system.
At the same time, in our opinion, it is much more important for practical purposes to implement a triggers device in relational DBMS. Note that the draft standard SQL3 provides for the existence of language means for determining conditional effects. Their implementation will be the first practical step towards active databases (the corresponding commercial implementations have already appeared).
Comments
To leave a comment
Databases IBM System R - relational DBMS
Terms: Databases IBM System R - relational DBMS