Inhaltsübersicht   

 

           

         INGRES

 

 

 

This paper describes the conception for a book about INGRES.

INGRES  is  a  relational  database  system(DBS),  developed and marketed by Relational Technology Inc. (RTI). RTI has been amongst the first vendors to realize the tremendous potential for relational database systems in the UNIX world.

Combining the  advantage of  being one of a firstcomers with

a series of state-of-the-art products, RTI has the most versatile and  the most  efficient product line in the UNIX DBS market.

 

As  well as  under UNIX, INGRES runs in many other different environments, including  VMS, VM/CMS, MVS/XA and DOS. INGRES database system  belongs to  the Open Desktop Software from Santa Cruz Operation,  which gives INGRES a great potential in the near future.

 

This  book describes  the latest version of INGRES – Version 6.3  - and  is practically  written. The  emphasis has  been placed  not on theory, but on practice. The book is intended to serve as a supplement to the INGRES-Manuals for end users and  application programmers. In every chapter there are numerous examples. All these examples are based upon a small database,  which is extremely simple, but is adequate to illustrate almost all of the points made in this book.

 

The book has 20 chapters and aproximately 400 pages:

 

1  Introduction

                  1.1 Database

              1.2 Relational Databases

              1.3 Database Design

              1.4 Database Languages SQL and QUEL

         2  SQL Components

              2.1 Basic Objects

              2.2 Data Types

              2.3 Scalar and Set Functions

              2.4 Arithmetic and Boolean Operators

         3  INGRES/MENU

                  3.1 Creating a Table using INGRES/MENU

              3.2 Examining a Table using INGRES/MENU

         4  INGRES/FORMS

                  4.1 Creating a Form using VIFRED

              4.2 Editing a Table using INGRES/FORMS

        5  INGRES/REPORTS

              5.1 Creating a Basic Report

              5.2 Report Writer

         6  INGRES/QUERY

              6.1 Querying a Table using SQL

              6.2 Querying a Table using QBF

              6.3 Join Definitions

         7  Data Definition Statements

              7.1 Creating Database Objects

              7.2 Destroying Database Objects

         8  Simple Queries

              8.1 SELECT Statement - Basic Form

              8.2 SELECT Statement - WHERE Clause

              8.3 Simple Subqueries

                  8.4 SELECT Statement - GROUP BY Clause

              8.5 Set Functions in SELECT Statement

         9  Complex Queries

              9.1 Joining Tables

              9.2 Correlated Subqueries

              9.3 EXISTS Operator

         10 Updating a Table

              10.1 INSERT Statement

              10.2 UPDATE Statement

              10.3 DELETE Statement

         11 System Catalog

              11.1 Basic Catalog

              11.2 Extended Catalog

              11.3 Global Catalog

              11.4 Querying the System Catalog

         12 Views

              12.1 Data Definition Statements and Views

              12.2 Querying a View

              12.3 Updating a View

         13 Storage Structure  

              13.1 Introduction

              13.2 MODIFY Statement

              13.3 Heap, Hash and Isam

              13.4 Indexes

         14 Authorisation and Integrity

              14.1 GRANT Statement

              14.2 REVOKE Statement

              14.3 Data Access and Views

              14.4 Integrity Statements

         15 Transactions and Backups

              15.1 Introduction

              15.2 Savepoints

              15.3 Database Backups

         16 INGRES Command Line Interface

              16.1 System Commands

              16.2 Environment Variables

         17 Embedded SQL

              17.1 Introduction

                  17.2 Embedded SQL Statements Without Cursor

              17.3 Embedded SQL Statements With Cursor

         18 Distrubuted Databases

              18.1 Introduction

              18.2 INGRES/NET

              18.3 INGRES/STAR

         19 Gateways

         20 INGRES/Windows 4GL

              20.1 Introduction

              20.2 Implementing an Application using

                               Windows 4GL

         Appendix A. QUEL Statements

         Appendix B. Referential Integrity

 

 

The first chapter discusses databases in general and relational databases  in particular.  The notion  of  normal forms and the demonstration database are also defined in this chapter. Finally, both INGRES database languages - SQL and QUEL - are explained in general terms.

 

Zurück zum Inhaltsverzeichnis

 

Chapter 2 discusses all components of the SQL  language. First, we introduce the basic objects and  existing data types. All functions and operators  are also described in this chapter.

 

Zurück zum Inhaltsverzeichnis

     

In the third chapter we present INGRES/MENU subsystem, and use  this INGRES  subsystem to create and examine the tables of the demonstration database.

 

Zurück zum Inhaltsverzeichnis

     

The fourth chapter explains the use of INGRES/FORMS. We use the utility VIFRED to create different forms for tables of the demonstration database. The  functions of INGRES/FORMS(editing  trims and  fields etc.) are also described in this chapter.

 

Zurück zum Inhaltsverzeichnis

     

Chapter 5 has two parts. In the first part of this chapter we create basic reports. The second part explains  the use of the Report Writer to create more sophisticated reports.

 

Zurück zum Inhaltsverzeichnis

     

Chapter 6 explains the use of Query-by-Forms and gives an introduction to the usage of SQL for querying tables.

 

Zurück zum Inhaltsverzeichnis

     

With Chapter 7 we start a new section of the book.  We describe the data definition language  (DLL) with  all SQL statements belonging to it. The creation of tables using SQL statements is also shown in this chapter.

 

Zurück zum Inhaltsverzeichnis

     

Chapters 8  and 9 discuss the most important SQL statement - SELECT.  These chapters  consider the  introduction of the SELECT  statement and describe the use of simple and complex queries. Each clause concerning SELECT is separately defined and explained with reference to the demonstration database.

 

Zurück zum Inhaltsverzeichnis

     

In Chapter  10 we  discuss the  three SQL statements for the updating of data - INSERT, UPDATE and DELETE. Each of these three statements is explained using numerous examples.

 

Zurück zum Inhaltsverzeichnis

     

Chapter 11  discusses the  different  parts  of  the  INGRES system catalog. All system tables belonging to the Basic Catalog are explained and examples concerning querying these tables are given. The  other two  parts of system catalog - the Extended Catalog and the Global Catalog are described in          general terms.

 

Zurück zum Inhaltsverzeichnis

     

In Chapter 12 we introduce views and describe all SQL statements concerning them. At the end of this chapter we discuss the existing restrictions to update a view.

 

Zurück zum Inhaltsverzeichnis

 

INGRES supports  many different possibilities to store database objects  in memory. All these possibilities are discussed in Chapter 13. The MODIFY statement, which converts the storage  structure of  a table or index is also explained in          this chapter.

 

Zurück zum Inhaltsverzeichnis

 

In Chapter 14 we discuss two important issues that  must be addressed when implementing a database system. The first – database authorization - includes  two SQL  statements - GRANT and  REVOKE -  which provide  the security of portions of a  database against  unauthorized access.  The use  of  a view for the same  purpose is  also  explained.  The  second issue -  integrity -  explains the  possibility  of  keeping INGRES  databases in  a consistent state with respect to the constraints specified in the database.

 

Zurück zum Inhaltsverzeichnis

 

Chapter 15 describes the concept of a transaction  and the SQL statements, which control the  transaction:  SET AUTOCOMMIT, COMMIT,  ROLLBACK and  SAVEPOINT. In  the second part of this chapter we discuss the INGRES utilities used in the recovery from failures.

 

Zurück zum Inhaltsverzeichnis

 

Chapter 16  first introduces  the operating  system commands which  can  be  used  to  start  INGRES  Terminal Monitors, database  utilities and other subsystems. In the second part of this  chapter we describe numerous environment variables, which are  used by  INGRES to  influence  the  behaviour  of          different INGRES products.

 

Zurück zum Inhaltsverzeichnis

 

In Chapter 17 we discuss Embedded SQL (ESQL) and explain the difference  between Interactive  and Embedded SQL. As a host language we use the  programming language C. All examples in  this  chapter  are  programmed  with  reference  to  the          demonstration database.

 

Zurück zum Inhaltsverzeichnis

 

Chapter 18 introduces the distributed databases and two INGRES products concerning them - INGRES/NET  and INGRES/STAR. We  show in this chapter the architecture and the functionality of both of these products.

 

Zurück zum Inhaltsverzeichnis

 

Chapter 19  is continuation of the previous chapter. It describes another INGRES product concerning distributed databases - Gateway. We explain the concept of Gateway and the access to it.

 

Zurück zum Inhaltsverzeichnis

 

The last  chapter, Chapter 20, introduces the newest product from INGRES product line - INGRES/Windows 4GL. Based on an application  program we  explain the  use and  functions  of Windows 4GL.

 

Zurück zum Inhaltsverzeichnis

 

As far the author knows, two other books exist in English concerning INGRES:

 

- Stonebraker, M. (ed.) - The INGRES Papers, Addison

Wesley, 1986.

- Date, C.J. – A Guide to INGRES, Addison Wesley,

1987.

 

The emphasis of the book "The INGRES Papers" is on theory, and not  on practice.  This book  describes the  design  and construction of INGRES and is therefore intended to serve as a textbook for database researchers.

 

The main  drawback of  the second  book "A  Guide to INGRES" is that it concentrate on the database language QUEL. In the last 5  years (the  book was written in 1986) SQL has become the most  important database  language, but this language is handled only marginally in the book.

 

Zurück zum Inhaltsverzeichnis