The major topic of this book is the integration of data and programming languages and the associated methodologies. To my knowledge, this is the first book on modern programming languages and programming meth odology devoted entirely to database application environments. At the same time, it is written with the goal of reconciling the relational and object-oriented approaches to database management. One of the reasons that influenced my decision to write this book is my dissatisfaction with the fact that the existing books on programming methodology and the associated concepts, techniques, and programming language notation are largely based on mathematical problems and math ematically oriented algorithms. As such, they give the impression that modern program structures, associated techniques, and methodologies, not to speak of the formal ones, are applicable only to problems of that sort. Although important, such problems are of limited applicability and scale. This does not apply to books in which modem concepts, techniques, methodologies, and programming language notation are applied to systems programming. But, even so, this does not demonstrate that in entirely application-oriented problems-those in which modern computer tech nology is most widely used-modern programming methodology is just as important. This book is meant to be a step toward providing a more convincing support of such a claim and, thus, is based entirely on common, what one might call business-oriented, problems in which database technology has been successfully used."

This book presents a unified collection of concepts, tools, and techniques that constitute the most important technology available today for the design and implementation of information systems. The framework adopted for this integration goal is the one offered by the relational model of data, its applica tions, and implementations in multiuser and distributed environments. The topics presented in the book include conceptual modeling of application environments using the relational model, formal properties of that model, and tools such as relational languages which go with it, techniques for the logical and physical design of relational database systems and their imple mentations. The book attempts to develop an integrated methodology for addressing all these issues on the basis of the relational approach and various research and practical developments related to that approach. This book is the only one available today that presents such an inte gration. The diversity of approaches to data models, to logical and physical database design, to database application programming, and to use and imple mentation of database systems calls for a common framework for all of them. It has become difficult to study modern database technology with out such a unified approach to a diversity of results developed during the vigorous growth of the database area in recent years, let alone to teach a course on the subject.