This paper, compairing certain critical points of the type system design, presents the type system of the database programming language DBPL within a framework proposed by Albano et al. in the same volume.
The development of data-intensive applications, such as information systems or design applications in mechanical or software engineering, involves requirements modelling, design specification, and, last but not least, the implementation and maintenance of large database application programs. This paper concentrates on the last issue and presents the state-of-the art in Database Programming.
Over the years, computer science has isolated a number of requirements essential for data modelling and has developed a variety of solutions on those demands. Examples include the various concepts to identify, structure and constrain data, as well as contributions to data visibility, lifetime, abstraction etc.
The paper first characterizes data-intensive applications by their specific demands in data modeling and argues for database programming languages and environments based on highly integrated and consistent sets of data modelling concepts. Next, the classification scheme for Database Programming Languages (DBPLs) is introduced and applied to several DBPLs. The paper concludes with initial results on database programming methodologies and environments that support the engineering of data-intensive applications.
Database programming languages integrate concepts of databases and programming languages to provide both implementation tools for data-intensive applications and high-level user interfaces to databases. Frequently, database programs contain a large amount of application knowledge which is hidden in the procedural code and thus difficult to maintain with changing data and user views.
This chapter presents a first attempt to improve the situation by supporting the integrated definition and management of data and rules based on a set-oriented and predicative approach. For the definition of rules, we introduce and justify a new declarative language called constructor. Furthermore, we demonstrate how a Recursive Data Model can be used for constructor representation, thus allowing for the definition, update, and querying of large rule bases. The use of database technology for integrated fact and rule base management is shown to have some important advantages in terms of fact and rule integrity, question-answering, and explanation of results.
In the process of developing an Information System, one passes through stages that include requirements gathering, design specification, and software implementation. The purpose of the TDL language is to express the conceptual design of an information system; it is the intermediate language in a triad that includes the language Telos, which captures an evolutionary view of the application domain and requirements, and DBPL, a procedural programming language that has persistent values and transactions supporting the development of databases. We consider the TDL's features for specifying the data and eventual procedural components of the system, and discuss how these are related to its companions. We also survey several tools for manipulating TDL descriptions which are currently under development, and give a detailed example of the iterative refinement of TDL designs into DBPL programs.