Type-consistency problems for queries in object-oriented databases
Method invocation mechanism is one of the essential features in object-oriented programming languages. This mechanism contributes to data encapsulation and code reuse, but there is a risk of run-time type errors. In the case of object-oriented databases (OODBs), a run-time error causes rollback. Therefore, it is desirable to ensure that a given OODB schema is consistent, i.e., no run-time type error occurs during the execution of queries under any database instance of the OODB schema.
This paper discusses the computational complexity of type-consistency problems. As a model of OODB schemas, we adopt update schemas introduced by Hull et al., which have all of the basic features of OODBs such as class hierarchy, inheritance, complex objects, and so on. For some subclasses of update schemas, the complexity of a type-consistency problem is presented. Importantly, it turns out that non-flatness of the class hierarchy, nontermination of queries, and update operations in queries each make the problem difficult.
Unable to display preview. Download preview PDF.
- 1.S. Abiteboul, R. Hull and V. Vianu, “Foundations of Databases,” Addison-Wesley, 1995.Google Scholar
- 3.R. Agrawal, L. DeMichiel and B. Lindsay, “Static Type Checking of Multi-Methods,” Proc. OOPSLA'91, pp. 113–128, Oct. 1991.Google Scholar
- 4.R. Ahad, J. Davis, S. Gower, P. Lyngbaek, A. Marynowski and E. Onuegbe, “Supporting Access Control in an Object-Oriented Database Language,” Proc. EDBT'92, LNCS 580, pp. 184–200, Mar. 1992.Google Scholar
- 5.E. Bertino, “Data Hiding and Security in Object-Oriented Databases,” Proc. 8th IEEE Int'l Conf. on Data Engineering, pp. 338–247, Feb. 1992.Google Scholar
- 6.C. Chambers and G. T. Leavens, “Typechecking and Modules for Multimethods,” ACM Trans. on Programming Languages and Systems, Vol. 17, No. 6, pp. 805–843, Nov. 1995.Google Scholar
- 7.J. Eifrig, S. Smith, V. Trifonov and A. Zwarico, “Application of OOP Type Theory: State, Decidability, Integration,” Proc. OOPSLA'94, pp. 16–30, Oct. 1994.Google Scholar
- 8.G. Ghelli, “A Static Type System for Message Passing,” Proc. OOPSLA'91, pp. 129–145, Oct. 1991.Google Scholar
- 9.R. Hull, K. Tanaka and M. Yoshikawa, “Behavior Analysis of Object-Oriented Databases: Method Structure, Execution Trees, and Reachability,” Proc. 3rd Int'l Conf. on Foundations of Data Organization and Algorithms, pp. 372–388, June 1989.Google Scholar
- 10.N. Oxhφj, J. Palsberg and M. I. Schwartzbach, “Making Type Inference Practical,” Proc. ECOOP, LNCS 615, pp. 329–349, June 1992.Google Scholar
- 11.J. Palsberg and M. I. Schwartzbach, “Object-Oriented Type Inference,” Proc. OOPSLA'91, pp. 146–161, Oct. 1991.Google Scholar
- 12.J. Palsberg and M. I. Schwartzbach, “Object-Oriented Type Systems,” John Wiley & Sons, 1994.Google Scholar
- 13.H. Seki, Y. Ishihara and M. Ito, “Authorization Analysis of Queries in Object-Oriented Databases,” Proc. DOOD'95, LNCS 1013, pp. 521–538, Dec. 1995.Google Scholar
- 14.E. Waller, “Schema Updates and Consistency,” Proc. DOOD'91, LNCS 566, pp. 167–188, Dec. 1991.Google Scholar