Understanding the implications of view update policiest Claudia Bauzer Medeiros Frank Wm. Tompa Data Structuring Group - Department of Computer Science University of Waterloo Waterloo, Ontario, Canada N2L 3G1 ABSTRACT Database views are traditionally described as unmaterialized queries, which may be coincidentally updatable according to some fixed criteria. One of the problems in updating through views lies in determining whether a given view modification can be correctly translated by the system. To define an updatable view, a view designer must be aware of how an update request in the view will be mapped into updates of the underlying relations. Furthermore, because of side effects, the view designer must also be made aware of the effects of underlying updates back into the view. To address this problem, we present a general algorithm that predicts the effects of arbitrary mapping policies. Given an update policy, this algorithm indicates whether a desired update will, in fact, occur in the view and describes all possible side effects it may have, documenting the condi- tions under which they occur. The algorithm subsumes the results obtained by other view design tools, and generalizes their use to encompass a larger class of views. 1. Introduction In the relational model, views are defined as single-relation images of queries. When updating through views, the updates must be mapped into the underlying database, preserving the database con- sistency, and reflecting the desired change in the view. Researchers have proposed ways of choosing the “appropriate” update mapping, having thereby restricted the domain of updatable views. Consider- able effort has been spent on defining general view update translators (e.g., by treating views according to t This work was supported in part by grant A9292 from the Natural Sci- ences and Engineering Research Council of Canada and by scholarship 200 398/80 from Conselho National de Desenvolvimento Cientifico e Tecnologico - CNPq, Brasil. Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for di- rect commercial advantage, the VLDB copyright notice and the title of the publication and its date appear, and notice is given that copy ing is by permission of the Very Large Data Base Endowment. To copy otherwise, or to republish, requires a fee and/or special permis- sion from the Endowment. Proceedinrs of VLDB 85. Stockholm their complements [BAN81], or as components of a boolean algebra [HEG84]), and on defining views together with the updates they support (e.g., by treat- ing them as abstract data types [TUC83]). The need for fast update processing motivates research on the complexity of update algorithms [COS83], efficient methods of checking integrity constraints [SIM84], or maintenance of materialized updatable views [SHM84]. In other related research, update seman- tics have been analyzed independently of the existence of views [NIC82, FAG83]. The so-called view updare problem [e.g., CAR79, FUR79, DAY82, KEL82, HEG84, KEL85] centers around characterizing underlying updates that correctly reflect a change in the view . However, the definition of a “correct” translation may vary with the users’ intentions, and even depend on the database’s state at update time. This has forced researchers to restrict the set of views that can be updated to those where only unambiguous changes can be specified. As a consequence, only a limited set of updates through views have traditionally been supported. This paper presents a design tool for handling the update translation problem. It can be used to process both general update translators and specific view update policies, therefore unifying previous view design approaches. It consists of an algorithm which allows a view designer to analyze and document the meaning of any update request by indicating the asso- ciated update translation. As a result, most update requests lose their ambiguity, since the update’s effect is stated by means of the associated translation. By taking into consideration all possible valid database states, this algorithm predicts whether the desired update does, in fact, occur in the view, and whether it will result in additional modifications to the view. Determination of view interference (i.e., when updates to a view modify other views) is achieved by a simple extension of the algorithm. Unlike all other approaches, the aim of the method presented here is to allow database system implementers to liberalize the translation policies, 316