DAPLEX(ID:948/dap008)Data languageFunctional data language Structures: Related languages
References: In view of the sometimes massive problems involved in the strategy and management of distributed data, it is fortunate, from the viewpoint of ease of understanding, that the researchers used a software system (Multibase) on which to focus their research. Because many data processing organizations have nonintegrated, heterogeneous distributed databases, Multibase was created to help integrate these diverse real-world situations by simulating to users (in much the same fashion that virtual storage is used in some operating systems) that an integrated database already exists. It does this by allowing users to view the database through a single global schema and by allowing them to access the data using a high-level query language called DAPLEX. By using design objectives such as generality, extendibility, and compatibility the architecture of the Multibase System has two basic components: a schema design aid and a run-time query processing subsystem. The first provides the tools that the database designer needs to design the global schema and to define a mapping from the local databases to the global schema. The run- time query processing subsystem then uses the mapping definition to translate global queries into local queries thus ensuring that the local queries are executed correctly and efficiently by local DBMSs. Since this is a Dept. of Defense (DoD) research effort, the currently used "breadboard" implementation of the system will be replaced with a design developed in ADA by the beginning of the third year. (ADA is the new highlevel language using PASCAL as the base being developed to enhance communications between DoD programmers.) The article also gives descriptions and diagrams of the Query Processing and Schema Integration Architecture and the mapping between the local host schema (LHS) and the local schemata (LS), as defined in the functional data model of DAPLEX. The mapping depends on the data model used (i.e., CODASYL, Relational, or File). It also shows how the schema mappings are utilized to drive query processing over the global schema, referred to as the Run-Time Query Processing Subsystems. In summary, this article describes the concept and architecture of the Multibase System. Additional research is needed, but the first year of the three-year effort has already come up with a workable approach to the integration of heterogeneous distributed database systems. This research report is recommended reading for technicians and managers of database systems with actual or potential distributed database problems, for systems analysts and designers, for database specialists including database administrators as well as for programmer/analysts and DoD or DoD-affiliated technicians involved in the development of ADA and very large databases. in ACM Computing Reviews 22(09) September 1981 view details The Goals of the Language DAPLEX is a data definition and manipulation language for database systems, grounded in a concept of data representation called the functional data model. DAPLEX may be considered to be a syntactic embodiment of the functional data model and throughout this paper the two terms will be used interchangeably. A fundamental goal of DAPLEX is to provide a conceptually natural database interface language. That is, the DAPLEX constructs used to model real-world situations are intended to closely match the conceptual constructs a human being might employ when thinking about those situations. Such conceptual naturalness, to the extent it has been achieved, presumably simplifies the process of writing and understanding DAPLEX requests, since the translation between the user's mental representation and its formal expression in DAPLEX is more direct. To some extent this naturalness has been a goal of other data models. For example, the simplicity which is often cited as an objective of the relational data model [7] is similar to naturalness in some respects, but it also includes the notions of minimality (i.e., a small number of data constructs) and nomedundancy (i.e., representation of a single fact only once in the database). These latter attributes of the relational model are almost certainly not characteristic of the way humans model the world. DAPLEX is prepared to sacrifice these goals in favor of a more natural representation. The basic constructs of DAPLEX are the entity and the function. These are intended to model conceptual objects and their properties. We may, for example, model a particular student and the courses he is taking as entities, with the function course of defined to map one to the other. (A DAPLEX function, in general, maps a given entity into a set of target entities.) Often some properties of an object are derived from properties of other objects to which it is related. For example, assume that courses have an instructor of property. We may then consider an instructors of property which relates students to their instructors. Such a property would be based on the instructor of property of those courses in which the student is enrolled. The principle of conceptual naturalness dictates that it be possible for users to treat such derived properties as if they were primitive. This follows, for example, from the obser- vation that properties which are derived in one database formulation may be primitive in another, even though the same real-world situation is being modeled. Such alternative representations of the same facts are modeled in DAPLEX by the notion of derived function. The problem of database representation is complicated by the fact that no single model of reality may be appropriate for all users and problem domains. The properties which are considered relevant and the mechanisms by which they are most naturally referenced vary across differing world views. Even the decision as to what constitutes an object depends on the world view assumed. Some users might prefer, for example, to view the enrollment of a student in a course as an entity having its own properties, while for others, dealing with enrollments as objects would be unnatural and awkward. To cope with these issues, DAPLEX provides for the construction of separate user views of the database. Because user views are specified in terms of derived functions, complex interrelationships among views may be accommodated. In short, the DAPLEX language is an attempt to provide a databae system interface which allows the user to more directly model the way he thinks about the problems he is trying to solve. in ACM Computing Reviews 22(09) September 1981 view details in ACM Computing Reviews 22(09) September 1981 view details in ACM Computing Reviews August 1982 view details |