In order to find a static type system that adequately supports database languages, we need to express the most general type of a program that involves database operations. This can be achieved through an extension to ...
详细信息
In order to find a static type system that adequately supports database languages, we need to express the most general type of a program that involves database operations. This can be achieved through an extension to the type system of ML that captures the polymorphic nature of field selection, together with a technique that generalizes relational operators to arbitrary data structures. The combination provides a statically typed language in which generalized relational databases may be cleanly represented as typed structures. As in ML types are inferred, which relieves the programmer of making the type assertions that may be required in a complex database environment. These extensions may also be used to provide static polymorphic typechecking in object-oriented languages and databases. A problem that arises with object-oriented databases is the apparent need for dynamic typechecking when dealing with queries on heterogeneous collections of objects. An extension of the type system needed for generalized relational operations can also be used for manipulating collections of dynamically typed values in a statically typed language. A prototype language based on these ideas has been implemented. While it lacks a proper treatment of persistent data, it demonstrates that a wide variety of database structures can be cleanly represented in a polymorphic programming language.
A temporal database contains time-varying data. In a real-time database transactions have deadlines or timing constraints. In this paper we review the substantial research in these two previously separate areas. First...
详细信息
A temporal database contains time-varying data. In a real-time database transactions have deadlines or timing constraints. In this paper we review the substantial research in these two previously separate areas. First we characterize the time domain;then we investigate temporal and real-time data models. We evaluate temporal and real-time query languages along several dimensions. We examine temporal and real-time DBMS implementation. Finally, we summarize major research accomplishments to date and list several unanswered research questions.
We present an approach to handle incremental materialization of object-oriented views. Queries that define views are implemented as methods that are invoked to compute corresponding views. To avoid computation from sc...
详细信息
We present an approach to handle incremental materialization of object-oriented views. Queries that define views are implemented as methods that are invoked to compute corresponding views. To avoid computation from scratch each time a view is accessed, we introduce some deferred update algorithms that reflect for a view only related modifications introduced into the database while that view was inactive. A view is updated by considering modifications performed within all classes along the inheritance and class-composition subhierarchies rooted at every class used in deriving that view. To each class, we add a modification list to keep one modification tuple per view dependent on that class. Such a tuple acts as a reference point that marks the start of the next update to the corresponding view. (C) 1999 Elsevier Science B.V. All rights reserved.
Pegasus, a heterogeneous multidatabase management system that responds to the need for effective access and management of shared data across in a wide range of applications, is described. Pegasus provides facilities f...
详细信息
Pegasus, a heterogeneous multidatabase management system that responds to the need for effective access and management of shared data across in a wide range of applications, is described. Pegasus provides facilities for multidatabase applications to access and manipulate multipole autonomous heterogeneous distributed object-oriented relational, and other information systems through a uniform interface. It is a complete data management system that integrates various native and local databases. Pegasus takes advantage of object-oriented data modeling and programming capabilities. It uses both type and function abstractions to deal with mapping and integration problems. Function implementation can be defined in an underlying database language or a programming language. Data abstraction and encapsulation facilities in the Pegasus object model provide an extensible framework for dealing with various kinds of heterogeneities in the traditional database systems and nontraditional data sources
The two main techniques of improving I/O performance of objectoriented Database Management Systems (OODBMS) are clustering and buffer replacement. Clustering is the placement of objects accessed near to each other in...
详细信息
The two main techniques of improving I/O performance of objectoriented Database Management Systems (OODBMS) are clustering and buffer replacement. Clustering is the placement of objects accessed near to each other in time into the same page. Buffer replacement involves the selection of a page to be evicted, when the buffer is full. The page evicted ideally should be the page needed least in the future. These two techniques both influence the likelihood of a requested object being memory resident. We believe an effective way of reducing disk I/O is to take advantage of the synergy that exists between clustering and buffer replacement. Hence, we design a framework, whereby clustering algorithms incorporating buffer replacement cache behaviour can be conveniently employed for enhancing the I/O performance of OODBMS. We call this new type of clustering algorithm, Cache Conscious Clustering (C3). In this paper, we present the C3 framework, and a C3 algorithm that we have developed, namely C3-GP. We have tested C3-GP against three well known clustering algorithms. The results show that C3-GP out performs them by up to 40% when using popular buffer replacement algorithms such as LRU and CLOCK. C3-GP offers the same performance as the best existing clustering algorithm when the buffer size compared to the database size is very small. (C) 2006 Elsevier B.V. All rights reserved.
Relationships have been repeatedly identified as an important object-oriented modeling construct. Most emerging modeling standards such as the object database management group (ODMG) object model and UML have some sup...
详细信息
Relationships have been repeatedly identified as an important object-oriented modeling construct. Most emerging modeling standards such as the object database management group (ODMG) object model and UML have some support for relationships. However object-oriented database (OODB) systems have largely ignored the existence of relationships during schema evolution. We are the first to propose comprehensive support for relationship evolution. A complete schema evolution facility for any OODB system must provide primitives to manipulate all object model constructs, and maintenance strategies for the structural and referential integrity of the database under such evolution. We propose a set of basic evolution primitives for relationships as well as a compound set of changes that can be applied to the same. However, given the myriad of possible change semantics a user may desire in the future, any predefined set is not sufficient. Rather we present a flexible schema evolution framework that allows the user to define new relationship transformations as well as to extend existing ones. Addressing the second problem, namely of updating schema evolution primitives to conform to the new set of invariants, can be a very expensive re-engineering effort. In this paper we present an approach that de-couples the constraints from the schema evolution code, thereby enabling their update without any re-coding effort. We also present an approach that can be used to verify the correctness of these complex evolution operations using the de-coupled constraints. (C) 2001 Published by Elsevier Science B.V.
For many knowledge-intensive applications, it is important to develop an environment that permits flexible modeling and fuzzy querying of complex data and knowledge including uncertainty. With such an environment, one...
详细信息
For many knowledge-intensive applications, it is important to develop an environment that permits flexible modeling and fuzzy querying of complex data and knowledge including uncertainty. With such an environment, one can have intelligent retrieval of information and knowledge, which has become a critical requirement for those applications. In this paper, we introduce a fuzzy knowledge-based (FKB) system along with the model and the inference mechanism. The inference mechanism is based on the extension of the Rete algorithm to handle fuzziness using a similarity-based approach. The proposed FKB system is used in the intelligent fuzzy object-oriented database (IFOOD) environment, in which a fuzzy object-oriented database is used to handle large scale of complex data while the FKB system is used to handle knowledge of the application domain. Both the fuzzy object-oriented database system and the fuzzy knowledge-based system are based on the object-oriented concepts to eliminate data type mismatches. The aim of this paper is mainly to introduce the FKB system of the IFOOD environment.
This paper presents a framework for checking and maintaining type safety in the presence of method evolution. A method update often affects all components of the method, including the inter face and the implementation...
详细信息
This paper presents a framework for checking and maintaining type safety in the presence of method evolution. A method update often affects all components of the method, including the inter face and the implementation. The type safety problem is addressed as two levels of type consistency. The first level relates to the type checking of methods in the context of the class inheritance hierarchy, and concerns the semantics of the polymorphism of methods. The second level considers the implementation parts of methods by capturing and preserving the semantics of the chain of calling relationships among relevant methods. A graph-based approach is used to achieve this two-level type consistency required at the level of class inheritance hierarchy and the level of method invocation. We demonstrate that the two levels of type consistency checking combined provide a better control of the run-time type error problems.
New applications such as engineering tasks require complex object modeling, integration of database and programming facilities, and extensibility. We have devised an object-oriented DBMS called Jasmine for such advanc...
详细信息
New applications such as engineering tasks require complex object modeling, integration of database and programming facilities, and extensibility. We have devised an object-oriented DBMS called Jasmine for such advanced applications. This paper describes the implementation, application, and extension of Jasmine in detail. First, we focus on the impact of the design of its object-oriented model and language on database implementation technology. We describe what part of traditional relational database technology we extend to handle object-oriented features such as object identifiers, complex objects, class hierarchies, and methods. We introduce nested relations to efficiently store and access clustered complex objects. We use hash-based methods to efficiently access nonclustered complex objects. We provide user-defined functions directly evaluated on page buffers to efficiently process method invocation. We devise object-oriented optimization of queries including class hierarchies, complex objects, and method invocation. We incorporate dedicated object buffering to allow efficient access to objects through object identifiers. Second, we describe nontrivial applications of Jasmine and discuss the validity of object-oriented databases. We focus on a constraint management facility, which can be implemented by taking advantage of the extensibility of Jasmine. The facility includes constraint rules, called design goals, for automatic database population required by engineering applications. Third, we describe a view facility for schema integration also needed by engineering applications in distributed environments. We focus on how we extend Jasmine to implement the facility.
This paper presents a methodology for handling an important step of database migration. The methodology is based on a set of techniques: (i) semantic clustering, (ii) metamodeling, and (iii) knowledge-based schema tra...
详细信息
This paper presents a methodology for handling an important step of database migration. The methodology is based on a set of techniques: (i) semantic clustering, (ii) metamodeling, and (iii) knowledge-based schema transformation. Semantic clustering (i.e., grouping based on semantic cohesion) is mainly used to facilitate the process of translating an extended entity relationship schema into a schema of complex objects. Meta modeling is used to define the data models involved in the process of schema transformation. Finally, transformation rules are defined and used for mapping a schema from a source model into a schema expressed in a target model. In this paper, we limit ourselves to the mapping of an extended entity relationship diagram into an object-oriented database schema using the object model supported by the ODMG standard. (C) 1998 Elsevier Science B.V.
暂无评论