Applications of Logic Databases


Book Description

The premise behind developing powerful declarative database languages is compelling: by enabling users to specify their queries (and their integrity constraints) in a clear, non-operational way, they make the user's task easier, and provide the database system with more opportunities for optimization. Relational database systems offer a striking proof that this premise is indeed valid. The most popular relational query language, SQL, is based upon relational algebra and calculus, i.e., a small fragment of first-order logic, and the ease of writing queries in SQL (in comparison to more navigational languages) has been an important factor in the commercial success of relational databases. It is well-known that SQL has some important limitations, in spite of its success and popUlarity. Notably, the query language is non-recursive, and support for integrity constraints is limited. Indeed, recognizing these problems, the latest standard, SQL-92, provides increased support for integrity constraints, and it is anticipated that the successor to the SQL-92 standard, called SQL3, RECURSIVE UNION operation [1]. Logic database systems have will include a concentrated on these extensions to the relational database paradigm, and some systems (e.g., Bull's DEL prototype) have even incorporated object-oriented features (another extension likely to appear in SQL3).




Logic Programming and Databases


Book Description

The topic of logic programming and databases. has gained in creasing interest in recent years. Several events have marked the rapid evolution of this field: the selection, by the Japanese Fifth Generation Project, of Prolog and of the relational data model as the basis for the development of new machine archi tectures; the focusing of research in database theory on logic queries and on recursive query processing; and the pragmatic, application-oriented development of expert database systems and of knowledge-base systems. As a result, an enormous amount of work has been produced in the recent literature, coupled with the spontaneous growth of several advanced projects in this area. The goal of this book is to present a systematic overview of a rapidly evolving discipline, which is presently not described with the same approach in other books. We intend to introduce stu dents and researchers to this new discipline; thus we use a plain, tutorial style, and complement the description of algorithms with examples and exercises. We attempt to achieve a balance be tween theoretical foundations and technological issues; thus we present a careful introduction to the new language Datalog, but we also focus on the efficient interfacing of logic programming formalisms (such as Prolog and Datalog) with large databases.




Universal Algebra, Algebraic Logic, and Databases


Book Description

Modern algebra, which not long ago seemed to be a science divorced from real life, now has numerous applications. Many fine algebraic structures are endowed with meaningful contents. Now and then practice suggests new and unexpected structures enriching algebra. This does not mean that algebra has become merely a tool for applications. Quite the contrary, it significantly benefits from the new connections. The present book is devoted to some algebraic aspects of the theory of databases. It consists of three parts. The first part contains information about universal algebra, algebraic logic is the subject of the second part, and the third one deals with databases. The algebraic material of the flI'St two parts serves the common purpose of applying algebra to databases. The book is intended for use by mathematicians, and mainly by algebraists, who realize the necessity to unite theory and practice. It is also addressed to programmers, engineers and all potential users of mathematics who want to construct their models with the help of algebra and logic. Nowadays, the majority of professional mathematicians work in close cooperation with representatives of applied sciences and even industrial technology. It is neces sary to develop an ability to see mathematics in different particular situations. One of the tasks of this book is to promote the acquisition of such skills.




Web Database Applications with PHP and MySQL


Book Description

Introduces techniques for building applications that integrate large databases with web interfaces. Using a three-tier architecture, the book focuses on the middle tier and the application logic that brings together the fundamentally different client and database tiers. The authors explain the principles behind searching, browsing, storing user data, validating user input, managing user transactions, and security. Annotation copyrighted by Book News, Inc., Portland, OR.




Patterns of Enterprise Application Architecture


Book Description

The practice of enterprise application development has benefited from the emergence of many new enabling technologies. Multi-tiered object-oriented platforms, such as Java and .NET, have become commonplace. These new tools and technologies are capable of building powerful applications, but they are not easily implemented. Common failures in enterprise applications often occur because their developers do not understand the architectural lessons that experienced object developers have learned. Patterns of Enterprise Application Architecture is written in direct response to the stiff challenges that face enterprise application developers. The author, noted object-oriented designer Martin Fowler, noticed that despite changes in technology--from Smalltalk to CORBA to Java to .NET--the same basic design ideas can be adapted and applied to solve common problems. With the help of an expert group of contributors, Martin distills over forty recurring solutions into patterns. The result is an indispensable handbook of solutions that are applicable to any enterprise application platform. This book is actually two books in one. The first section is a short tutorial on developing enterprise applications, which you can read from start to finish to understand the scope of the book's lessons. The next section, the bulk of the book, is a detailed reference to the patterns themselves. Each pattern provides usage and implementation information, as well as detailed code examples in Java or C#. The entire book is also richly illustrated with UML diagrams to further explain the concepts. Armed with this book, you will have the knowledge necessary to make important architectural decisions about building an enterprise application and the proven patterns for use when building them. The topics covered include · Dividing an enterprise application into layers · The major approaches to organizing business logic · An in-depth treatment of mapping between objects and relational databases · Using Model-View-Controller to organize a Web presentation · Handling concurrency for data that spans multiple transactions · Designing distributed object interfaces




Foundations of Deductive Databases and Logic Programming


Book Description

Foundations of Deductive Databases and Logic Programming focuses on the foundational issues concerning deductive databases and logic programming. The selection first elaborates on negation in logic programming and towards a theory of declarative knowledge. Discussions focus on model theory of stratified programs, fixed point theory of nonmonotonic operators, stratified programs, semantics for negation in terms of special classes of models, relation between closed world assumption and the completed database, negation as a failure, and closed world assumption. The book then takes a look at negation as failure using tight derivations for general logic programs, declarative semantics of logic programs with negation, and declarative semantics of deductive databases and logic programs. The publication tackles converting AND-control to OR-control by program transformation, optimizing dialog, equivalences of logic programs, unification, and logic programming and parallel complexity. Topics include parallelism and structured and unstructured data, parallel algorithms and complexity, solving equations, most general unifiers, systems of equations and inequations, equivalences of logic programs, and optimizing recursive programs. The selection is a valuable source of data for researchers interested in pursuing further studies on the foundations of deductive databases and logic programming.




Database Systems For Advanced Applications '91 - Proceedings Of The 2nd International Symposium On Database Systems For Advanced Applications


Book Description

This volume contains 64 papers from contributors around the world on a wide range of topics in database systems research. Of special mention are the papers describing the practical experiences of developing and implementing some of the many useful database systems on the market. Readers should find useful new ideas from the proceedings of this international symposium.




Encyclopedia of Database Technologies and Applications


Book Description

"Addresses the evolution of database management, technologies and applications along with the progress and endeavors of new research areas."--P. xiii.




Database Design and Implementation


Book Description

This textbook examines database systems from the viewpoint of a software developer. This perspective makes it possible to investigate why database systems are the way they are. It is of course important to be able to write queries, but it is equally important to know how they are processed. We e.g. don’t want to just use JDBC; we also want to know why the API contains the classes and methods that it does. We need a sense of how hard is it to write a disk cache or logging facility. And what exactly is a database driver, anyway? The first two chapters provide a brief overview of database systems and their use. Chapter 1 discusses the purpose and features of a database system and introduces the Derby and SimpleDB systems. Chapter 2 explains how to write a database application using Java. It presents the basics of JDBC, which is the fundamental API for Java programs that interact with a database. In turn, Chapters 3-11 examine the internals of a typical database engine. Each chapter covers a different database component, starting with the lowest level of abstraction (the disk and file manager) and ending with the highest (the JDBC client interface); further, the respective chapter explains the main issues concerning the component, and considers possible design decisions. As a result, the reader can see exactly what services each component provides and how it interacts with the other components in the system. By the end of this part, s/he will have witnessed the gradual development of a simple but completely functional system. The remaining four chapters then focus on efficient query processing, and focus on the sophisticated techniques and algorithms that can replace the simple design choices described earlier. Topics include indexing, sorting, intelligent buffer usage, and query optimization. This text is intended for upper-level undergraduate or beginning graduate courses in Computer Science. It assumes that the reader is comfortable with basic Java programming; advanced Java concepts (such as RMI and JDBC) are fully explained in the text. The respective chapters are complemented by “end-of-chapter readings” that discuss interesting ideas and research directions that went unmentioned in the text, and provide references to relevant web pages, research articles, reference manuals, and books. Conceptual and programming exercises are also included at the end of each chapter. Students can apply their conceptual knowledge by examining the SimpleDB (a simple but fully functional database system created by the author and provided online) code and modifying it.




Foundations of Databases


Book Description

This product is a complete reference to both classical material and advanced topics that are otherwise scattered in sometimes hard-to-find papers. A major effort in writing the book was made to highlight the intuitions behind the theoretical development.