{"title":"面向对象数据库中的方法预计算","authors":"E. Bertino","doi":"10.1145/122831.122852","DOIUrl":null,"url":null,"abstract":"The query language represents an important component of any Data Base Management System (DBMS). Therefore, advanced object-oriented DBMSS (O ODBMSS) provide query capabilities for content-based access to objects, in addition to IIaV&atiOIIa] access based on object references. Very often, these two types of access are used complementarily. Object-oriented query languages have several differences with respect to relational query languages. These differences require that new optimization techniques be developed and/or that techniques defined for relational DBMSS be reexamined and extended to effectively support object-oriented queries. One such difference is that methods can be invoked in queries. The result of a method execution is an object (either primitive or non-primitive). Therefore, predicates can be applied to it. In this paper, we describe an indexing technique that supports an efficient evaluation of predicates on methods. This technique is based on the precomputation of method result. The precomputed results are stored in an index, called the method-index, that associates with a result v the list of object identifiers for which the method execution returns v. Therefore, the evaluation of a predicate on the result of a method simply requires an index search. Since changes to an object’s status may invalidate a method’s result, a mechanism is presented for keeping track of changes that may influence the result of a method invocation. This mechanism is used to invalidate the precomputed result of a method. The method is recomputed again upon the next invocation.","PeriodicalId":338751,"journal":{"name":"Conference on Organizational Computing Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1991-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"29","resultStr":"{\"title\":\"Method precomputation in object-oriented databases\",\"authors\":\"E. Bertino\",\"doi\":\"10.1145/122831.122852\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The query language represents an important component of any Data Base Management System (DBMS). Therefore, advanced object-oriented DBMSS (O ODBMSS) provide query capabilities for content-based access to objects, in addition to IIaV&atiOIIa] access based on object references. Very often, these two types of access are used complementarily. Object-oriented query languages have several differences with respect to relational query languages. These differences require that new optimization techniques be developed and/or that techniques defined for relational DBMSS be reexamined and extended to effectively support object-oriented queries. One such difference is that methods can be invoked in queries. The result of a method execution is an object (either primitive or non-primitive). Therefore, predicates can be applied to it. In this paper, we describe an indexing technique that supports an efficient evaluation of predicates on methods. This technique is based on the precomputation of method result. The precomputed results are stored in an index, called the method-index, that associates with a result v the list of object identifiers for which the method execution returns v. Therefore, the evaluation of a predicate on the result of a method simply requires an index search. Since changes to an object’s status may invalidate a method’s result, a mechanism is presented for keeping track of changes that may influence the result of a method invocation. This mechanism is used to invalidate the precomputed result of a method. The method is recomputed again upon the next invocation.\",\"PeriodicalId\":338751,\"journal\":{\"name\":\"Conference on Organizational Computing Systems\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1991-10-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"29\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Conference on Organizational Computing Systems\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/122831.122852\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Conference on Organizational Computing Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/122831.122852","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Method precomputation in object-oriented databases
The query language represents an important component of any Data Base Management System (DBMS). Therefore, advanced object-oriented DBMSS (O ODBMSS) provide query capabilities for content-based access to objects, in addition to IIaV&atiOIIa] access based on object references. Very often, these two types of access are used complementarily. Object-oriented query languages have several differences with respect to relational query languages. These differences require that new optimization techniques be developed and/or that techniques defined for relational DBMSS be reexamined and extended to effectively support object-oriented queries. One such difference is that methods can be invoked in queries. The result of a method execution is an object (either primitive or non-primitive). Therefore, predicates can be applied to it. In this paper, we describe an indexing technique that supports an efficient evaluation of predicates on methods. This technique is based on the precomputation of method result. The precomputed results are stored in an index, called the method-index, that associates with a result v the list of object identifiers for which the method execution returns v. Therefore, the evaluation of a predicate on the result of a method simply requires an index search. Since changes to an object’s status may invalidate a method’s result, a mechanism is presented for keeping track of changes that may influence the result of a method invocation. This mechanism is used to invalidate the precomputed result of a method. The method is recomputed again upon the next invocation.