An architecture for a cooperative database system
Database systems can be difficult to use. Part of the problem is that systems do not, for the most part, help a user when a query fails or fails to evaluate as the user expects. Schema and semantics of databases are often complex, and are rarely understood in entirety by the lay user. As a consequence, queries a lay user casts may not make sense with respect to a database's semantics. A system which returns informative responses beyond a query's answer set itself can elucidate the schema and semantics of the database, which can greatly help the user to cast the queries intended. Such a database system is to be called a cooperative database system (CDBS).
A number of cooperative behaviors and methods have been introduced to be incorporated into information systems to make them more informative and, hence, easier to use. We have identified a fundamental set of such cooperative techniques that we believe relational and deductive systems should be extended to include. We present an architecture for such a CDBS which supports these, and which uses existing relational technologies. We have built the Carmin system based on the proposed architecture. Carmin is intended both as a research platform for cooperative answering and as a practical, efficient CDBS.
The paper presents the architecture of Carmin, and, by example, a general architectural approach for CDBSs. The architectural components of Carmin are outlined and discussed in turn. The implementation issues and cost overhead of Carmin are discussed, and the architectural choices are argued.
Unable to display preview. Download preview PDF.