Add chapters on CVS access, MVCC, SQL theory to the docs.
authorThomas G. Lockhart
Wed, 26 May 1999 17:30:30 +0000 (17:30 +0000)
committerThomas G. Lockhart
Wed, 26 May 1999 17:30:30 +0000 (17:30 +0000)
Add an appendix with more details on date/time attributes and handling.
Update most references to Postgres version numbers to 6.5,
 *except* for the porting list which will require a report
 from a successful installation to be updated.

13 files changed:
doc/src/sgml/admin.sgml
doc/src/sgml/biblio.sgml
doc/src/sgml/cvs.sgml
doc/src/sgml/datatype.sgml
doc/src/sgml/datetime.sgml
doc/src/sgml/installation.sgml
doc/src/sgml/ports.sgml
doc/src/sgml/postgres.sgml
doc/src/sgml/programmer.sgml
doc/src/sgml/reference.sgml
doc/src/sgml/sql.sgml
doc/src/sgml/user.sgml
doc/src/sgml/xoper.sgml

index 9bf1f394659a61b497f40ab2b623bc693e0bfb10..fecc728009085f41ba3845d17ac10168fe75673e 100644 (file)
@@ -1,11 +1,18 @@
 
 
-   (last updated 1999-05-19)
+   (last updated 1999-06-01)
   
 
   
    
-    PostgreSQL is copyright (©) 1998-9
+    PostgreSQL is © 1998-9
     by the Postgres Global Development Group.
    
   
index 2e747ecbb21acb06fa1e825a57b75cfb854a2dd2..0427b10efe7c0a45811f8306f96d4c300cbf5700 100644 (file)
 
+    
+     An Introduction to Database Systems
+    
+    
+     Date, 1994
+    
+    6
+    
+     
+      C. J.
+      Date
+     
+    
+    1
+    1994
+    
+     Addison-Wesley
+    
+    
+     1994
+     Addison-Wesley Longman, Inc.
+    
+
+   
+
+   
+
     
 -->
    
 
+   
+
+    
+     Principles of Database and Knowledge
+    
+    
+     Base Systems
+    
+    
+     Ullman, 1988
+    
+    
+     
+      Jeffrey D.
+      Ullman
+     
+    
+    1
+    
+     
+      Computer Science Press
+     
+    
+    
+     1988
+    
+   
+
   
 
   
index aadf0027faa54305c6301de755050e3bc78c6aea..9fcd532d0246d0a3f98c8fd567a1903682d91462 100644 (file)
@@ -1,9 +1,16 @@
 
 
-
Date/Time Support
+ix">
 id="datetime-appendix-title">Date/Time Support
 
  
   Time Zones
index 5457e409e1459eae8da664129412a8cbbcd2c4bc..35b6ae89c85e5dd635befb1849a5ca993b152b70 100644 (file)
@@ -1,10 +1,17 @@
 
 
-    (last updated 1998-02-23)
+    (last updated 1999-06-01)
     
 
 
 
-PostgreSQL is copyright (C) 1998 
+PostgreSQL is © 1998-9
 by the Postgres Global Development Group.
 
 
index c8bad8ec6ff66052057b363e8d5bc3eefdcbcf4e..988a5cb2b05ef5ec1340db2165e49498e8d36dcc 100644 (file)
-d="ports">
-Ports</T</span>itle></div> <div class="diff add">+<span class="marked"> <chapter i</span>d="ports"></div> <div class="diff add">+<span class="marked">  <title>Ports</t</span>itle></div> <div class="diff ctx"> </div> <div class="diff rem">-<span class="marked"><P</span>ara></div> <div class="diff rem">-<span class="marked">This manual  describes version 6.5 of <ProductName>Postgres</ProductN</span>ame>.</div> <div class="diff rem">-<span class="marked">The <ProductName>Postgres</ProductN</span>ame> developer community has</div> <div class="diff rem">-<span class="marked">compiled  and  tested <ProductName>Postgres</ProductN</span>ame> on a</div> <div class="diff rem">-number of platforms. Check</div> <div class="diff rem">-<ulink url="http://www.postgresql.org/docs/admin/ports.htm">the web site</ulink></div> <div class="diff rem">-for the latest information.</div> <div class="diff rem">-</para></div> <div class="diff add">+<span class="marked">  <p</span>ara></div> <div class="diff add">+<span class="marked">   This manual  describes version 6.5 of <productname>Postgres</productn</span>ame>.</div> <div class="diff add">+<span class="marked">   The <productname>Postgres</productn</span>ame> developer community has</div> <div class="diff add">+<span class="marked">   compiled  and  tested <productname>Postgres</productn</span>ame> on a</div> <div class="diff add">+<span class="marked">   </span>number of platforms. Check</div> <div class="diff add">+<span class="marked">   </span><ulink url="http://www.postgresql.org/docs/admin/ports.htm">the web site</ulink></div> <div class="diff add">+<span class="marked">   </span>for the latest information.</div> <div class="diff add">+<span class="marked">  </span></para></div> <div class="diff ctx"> </div> <div class="diff rem">-<span class="marked"><S</span>ect1></div> <div class="diff rem">-<span class="marked"><Title>Currently Supported Platforms</T</span>itle></div> <div class="diff add">+<span class="marked">  <s</span>ect1></div> <div class="diff add">+<span class="marked">   <title>Currently Supported Platforms</t</span>itle></div> <div class="diff ctx"> </div> <div class="diff rem">-<para></div> <div class="diff rem">-At the time of publication, the following platforms have been tested:</div> <div class="diff add">+<span class="marked">   </span><para></div> <div class="diff add">+<span class="marked">    </span>At the time of publication, the following platforms have been tested:</div> <div class="diff ctx"> </div> <div class="diff rem">-<TABLE TOCENTRY="1"></div> <div class="diff rem">-<TITLE>Supported Platforms
-
-
-  
-    OS
-    Processor
-    Version
-    Reported
-    Remarks
-  
-
-
-  
-    AIX 4.2.1
-    RS6000
-    v6.4
-    1998-10-27
-    (Andreas Zeugswetter)
-  
-  
-    BSDI
-    x86
-    v6.4
-    1998-10-25
-    (Bruce Momjian
-  
-  
-    FreeBSD 2.2.x-3.x
-    x86
-    v6.4
-    1998-10-26
-    (Tatsuo Ishii,
-            Marc Fournier)
-  
-  
-    DGUX 5.4R4.11
-    m88k
-    v6.3
-    1998-03-01
-    v6.4 probably OK. Needs new maintainer.
-    (Brian E Gallew)
-  
-  
-    Digital Unix 4.0
-    Alpha
-    v6.4
-    1998-10-29
-    Minor patchable problems
-    (Pedro J. Lobo)
-  
-  
-    HPUX
-    PA-RISC
-    v6.4
-    1998-10-25
-    Both 9.0x and 10.20
-    (Tom Lane,
-     Stan Brown)
-  
-  
-    IRIX 6.5
-    MIPS
-    v6.4
-    1998-12-29
-    IRIX 5.x is different
-    (Mark Dalphin)
-  
-  
-    linux 2.0.x
-    Alpha
-    v6.3.2
-    1998-04-16
-    Mostly successful. Needs work for v6.4.
-    (Ryan Kirkpatrick)
-  
-  
-    linux 2.0.x/libc5
-    x86
-    v6.4
-    1998-10-27
-    (Thomas Lockhart)
-  
-  
-    linux 2.0.x/glibc2
-    x86
-    v6.4
-    1998-10-25
-    (Oliver Elphick,
-            Taral)
-  
-  
-    linux 2.0.x
-    MIPS
-    v6.4
-    1998-12-16
-    Cobalt Qube
-    (Tatsuo Ishii)
-  
-  
-    linux 2.0.x
-    Sparc
-    v6.4
-    1998-10-25
-    (Tom Szybist)
-  
-  
-    linuxPPC 2.1.24
-    PPC603e
-    v6.4
-    1998-10-26
-    Powerbook 2400c
-    (Tatsuo Ishii)
-  
-  
-    mklinux DR3
-    PPC750
-    v6.4
-    1998-09-16
-    PowerMac 7600
-    (Tatsuo Ishii)
-  
-  
-    NetBSD/i386 1.3.2
-    x86
-    v6.4
-    1998-10-25
-    (Brook Milligan)
-  
-  
-    NetBSD
-    m68k
-    v6.4.2
-    1998-12-28
-    Mac SE/30
+    
+     Supported Platforms
+     
+      
+       
+   OS
+   Processor
+   Version
+   Reported
+   Remarks
+       
+      
+      
+       
+   AIX 4.2.1
+   RS6000
+   v6.4
+   1998-10-27
+   (Andreas Zeugswetter)
+       
+       
+   BSDI
+   x86
+   v6.5
+   1999-05-25
+   (Bruce Momjian
+       
+       
+   FreeBSD 2.2.x-3.x
+   x86
+   v6.5
+   1999-05-25
+   (Tatsuo Ishii,
+    Marc Fournier)
+       
+       
+   DGUX 5.4R4.11
+   m88k
+   v6.3
+   1998-03-01
+   v6.4 probably OK. Needs new maintainer.
+    (Brian E Gallew)
+       
+       
+   Digital Unix 4.0
+   Alpha
+   v6.4
+   1998-10-29
+   Minor patchable problems
+    (Pedro J. Lobo)
+       
+       
+   HPUX
+   PA-RISC
+   v6.4
+   1998-10-25
+   Both 9.0x and 10.20
+    (Tom Lane,
+    Stan Brown)
+       
+       
+   IRIX 6.5
+   MIPS
+   v6.4
+   1998-12-29
+   IRIX 5.x is different
+    (Mark Dalphin)
+       
+       
+   linux 2.0.x
+   Alpha
+   v6.3.2
+   1998-04-16
+   Mostly successful. Needs work for v6.4.
+    (Ryan Kirkpatrick)
+       
+       
+   linux 2.0.x/libc5
+   x86
+   v6.4
+   1998-10-27
+   (Thomas Lockhart)
+       
+       
+   linux 2.0.x/glibc2
+   x86
+   v6.4
+   1999-05-24
+   (Thomas Lockhart)
+       
+       
+   linux 2.0.x
+   MIPS
+   v6.4
+   1998-12-16
+   Cobalt Qube
+    (Tatsuo Ishii)
+       
+       
+   linux 2.0.x
+   Sparc
+   v6.4
+   1998-10-25
+   (Tom Szybist)
+       
+       
+   linuxPPC 2.1.24
+   PPC603e
+   v6.4
+   1998-10-26
+   Powerbook 2400c
+    (Tatsuo Ishii)
+       
+       
+   mklinux DR3
+   PPC750
+   v6.4
+   1998-09-16
+   PowerMac 7600
+    (Tatsuo Ishii)
+       
+       
+   NetBSD
+   arm32
+   v6.5
+   1999-04-14
+   (Andrew McMurry)
+       
+       
+   NetBSD/i386 1.3.2
+   x86
+   v6.4
+   1998-10-25
+   (Brook Milligan)
+       
+       
+   NetBSD
+   m68k
+   v6.4.2
+   1998-12-28
+   Mac SE/30
     (Mr. Mutsuki Nakajima,
-    Tatsuo Ishii)
-  
-  
-    NetBSD-current
-    NS32532
-    v6.4
-    1998-10-27
-    small problems in date/time math
-    (Jon Buller)
-  
-  
-    NetBSD/sparc 1.3H
-    Sparc
-    v6.4
-    1998-10-27
-    (Tom I Helbekkmo)
-  
-  
-    NetBSD 1.3
-    VAX
-    v6.3
-    1998-03-01
-    (Tom I Helbekkmo)
-  
-  
-    SCO UnixWare 2.x
-    x86
-    v6.3
-    1998-03-01
-    aka UNIVEL
-           (Billy G. Allie)
-  
-  
-    SCO UnixWare 7
-    x86
-    v6.4
-    1998-10-04
-    (Billy G. Allie)
-  
-  
-    Solaris
-    x86
-    v6.4
-    1998-10-28
-    (Marc Fournier)
-  
-  
-    Solaris 2.6-2.7
-    Sparc
-    v6.4
-    1998-10-28
-    (Tom Szybist,
-            Frank Ridderbusch)
-  
-  
-    SunOS 4.1.4
-    Sparc
-    v6.3
-    1998-03-01
-    Patches submitted
-           (Tatsuo Ishii)
-  
-  
-    SVR4
-    MIPS
-    v6.4
-    1998-10-28
-    No 64-bit int compiler support
-           (Frank Ridderbusch)
-  
-  
-    Windows
-    x86
-    v6.4
-    1999-01-06
-    Client-side libraries or ODBC/JDBC. No server yet.
-   (Magnus Hagander
-  
-  
-    Windows NT
-    x86
-    v6.4
-    1998-10-08
-    Working with the Cygwin library.
-           (Horak Daniel) 
-  
-
-
-
-
+    Tatsuo Ishii)
+       
+       
+   NetBSD-current
+   NS32532
+   v6.4
+   1998-10-27
+   small problems in date/time math
+    (Jon Buller)
+       
+       
+   NetBSD/sparc 1.3H
+   Sparc
+   v6.4
+   1998-10-27
+   (Tom I Helbekkmo)
+       
+       
+   NetBSD 1.3
+   VAX
+   v6.3
+   1998-03-01
+   (Tom I Helbekkmo)
+       
+       
+   SCO OpenServer 5
+   x86
+   v6.5
+   1999-05-25
+   (Andrew Merrill)
+       
+       
+   SCO UnixWare 7
+   x86
+   v6.5
+   1999-05-25
+   (Andrew Merrill)
+       
+       
+   Solaris
+   x86
+   v6.4
+   1998-10-28
+   (Marc Fournier)
+       
+       
+   Solaris 2.6-2.7
+   Sparc
+   v6.4
+   1998-10-28
+   (Tom Szybist,
+    Frank Ridderbusch)
+       
+       
+   SunOS 4.1.4
+   Sparc
+   v6.3
+   1998-03-01
+   Patches submitted
+    (Tatsuo Ishii)
+       
+       
+   SVR4
+   MIPS
+   v6.4
+   1998-10-28
+   No 64-bit int compiler support
+    (Frank Ridderbusch)
+       
+       
+   Windows
+   x86
+   v6.4
+   1999-01-06
+   Client-side libraries or ODBC/JDBC. No server yet.
+    (Magnus Hagander
+       
+       
+   Windows NT
+   x86
+   v6.4
+   1998-10-08
+   Working with the Cygwin library.
+    (Horak Daniel) 
+       
+      
+     
+    
+   
 
-
-Platforms listed for v6.3.x should also work with v6.4, but we did not receive
-confirmation of such at the time this list was compiled.
-
-
-
-For Windows NT
-the server-side port of Postgres has recently been
-accomplished.  The Cygnus library is required to compile it.
-
-
-
+   
+    Platforms listed for v6.3.x and v6.4.x should also work with v6.5,
+    but we did not receive explicit confirmation of such at the time this
+    list was compiled.
+   
+   
+    
+     For Windows NT
+     the server-side port of Postgres has recently been
+     accomplished.  The Cygnus library is required to compile it.
+    
+   
+  
 
-ect1>
-Unsupported Platforms</T</span>itle></div> <div class="diff add">+<span class="marked">  <s</span>ect1></div> <div class="diff add">+<span class="marked">   <title>Unsupported Platforms</t</span>itle></div> <div class="diff ctx"> </div> <div class="diff rem">-<span class="marked"><P</span>ara></div> <div class="diff rem">-There are a few platforms which have been attempted and which have been</div> <div class="diff rem">-reported to not work with the standard distribution.</div> <div class="diff rem">-Others listed here do not provide sufficient library support for an attempt.</div> <div class="diff add">+<span class="marked">   <p</span>ara></div> <div class="diff add">+<span class="marked">    </span>There are a few platforms which have been attempted and which have been</div> <div class="diff add">+<span class="marked">    </span>reported to not work with the standard distribution.</div> <div class="diff add">+<span class="marked">    </span>Others listed here do not provide sufficient library support for an attempt.</div> <div class="diff ctx"> </div> <div class="diff rem">-<TABLE TOCENTRY="1"></div> <div class="diff rem">-<TITLE>Possibly Incompatible Platforms
-Incompatibles
-
-
-  
-    OS
-    Processor
-    Version
-    Reported
-    Remarks
-  
-
-
-  
-    MacOS
-    all
-    v6.3
-    1998-03-01
-    Not library compatible; use ODBC/JDBC
-  
-  
-    NetBSD
-    arm32
-    v6.3
-    1998-03-01
-    Not yet working (Dave Millen)
-  
-  
-    NextStep
-    x86
-    v6.x
-    1998-03-01
-    Client-only support; v1.0.9 worked with patches (David Wetzel)
-  
-  
-    SVR4 4.4
-    m88k
-    v6.2.1
-    1998-03-01
-    Confirmed with patching; v6.4.x will need TAS spinlock code
-           (Doug Winterburn)
-  
-  
-    Ultrix
-    MIPS,VAX?
-    v6.x
-    1998-03-01
-    No recent reports; obsolete?
-  
-
-
-
-
+    
+     Possibly Incompatible Platforms
+     Incompatibles
+     
+      
+       
+   OS
+   Processor
+   Version
+   Reported
+   Remarks
+       
+      
+      
+       
+   MacOS
+   all
+   v6.3
+   1998-03-01
+   Not library compatible; use ODBC/JDBC
+       
+       
+   NextStep
+   x86
+   v6.x
+   1998-03-01
+   Client-only support; v1.0.9 worked with patches (
+     url="mailto:[email protected]">David Wetzel)
+       
+       
+   SVR4 4.4
+   m88k
+   v6.2.1
+   1998-03-01
+   Confirmed with patching; v6.4.x will need TAS spinlock code
+    (Doug Winterburn)
+       
+       
+   Ultrix
+   MIPS,VAX?
+   v6.x
+   1998-03-01
+   No recent reports; obsolete?
+       
+      
+     
+    
+   
 
-ect1>
+  ect1>
 
-hapter>
+ hapter>
 
 
 
@@ -156,6 +165,7 @@ Move SQL reference pages up into the User's Guide.
 
 
 
+
 
 
 
@@ -193,12 +203,12 @@ Move SQL reference pages up into the User's Guide.
     TGL
 -->
 
-   (last updated 1998-05-19)
+   (last updated 1999-06-01)
   
 
   
    
-    PostgreSQL is copyright (C) 1998 
+    PostgreSQL is © 1998-9 
     by the Postgres Global Development Group.
    
   
@@ -255,19 +265,20 @@ Your name here...
    
   
 
-   &sql;
-   &syntax;
-   &datatype;
-   &oper;
-   &func;
-   &typeconv;
-   &keys;
-   &array;
-   &inherit;
-   &environ;
-   &manage;
-   &storage;
-   &commands;
+  &sql;
+  &syntax;
+  &datatype;
+  &oper;
+  &func;
+  &typeconv;
+  &keys;
+  &array;
+  &inherit;
+  &mvcc;
+  &environ;
+  &manage;
+  &storage;
+  &commands;
  
 
  
@@ -285,6 +296,7 @@ Your name here...
    &runtime;
    &security;
    &start-ag;
+   &trouble;
    &recovery;
    ®ress;
    &release;
@@ -356,8 +368,10 @@ Your name here...
     Additional related information.
    
   
-   &datetime;
-   &docguide;
+
+  &datetime;
+  &cvs;
+  &docguide;
 
index b099bdf176520d6ca82e06087225b900b4e91dfc..eed86f1b1770778fa921f10d6e04222a42279327 100644 (file)
@@ -1,10 +1,17 @@
 
 
-   (last updated 1999-05-19)
+   (last updated 1999-06-01)
   
 
   
    
-    PostgreSQL is copyright (©) 1998-9
+    PostgreSQL is © 1998-9
     by the Postgres Global Development Group.
    
   
index 41ac7078b24d7f4abcccf979097ef9a2e232b311..5dcda9acacdae3c10a01a0249c43f95338a0355f 100644 (file)
@@ -1,10 +1,17 @@
 
  
-    (last updated 1998-08-31)
+    (last updated 1999-06-01)
     
 
 
 
-PostgreSQL is copyright (C) 1998 
+PostgreSQL is © 1998-9
 by the Postgres Global Development Group.
 
 
index 8026e4a7c09e5686aa3cee3de02d067c9634f228..ecefb2696feef50fd116353df9204cd90321670b 100644 (file)
@@ -88,9 +88,9 @@
     language. That means it is
     based on the relational data model
     first published by E.F. Codd in
-    1970. We will give a formal description of the relational model in
-    section 
-    <!--{\it Formal Notion of the Relational Data Model}-->
+    1970. We will give a formal description of the relational model
+    later (in
+    <xref linkend="formal-notion" endterm="formal-notion">)
     but first we want to have a look at it from a more intuitive
     point of view.
   
     A table consists of rows and columns where each row represents a
     record and each column represents an attribute of the records
     contained in the table.
-    Figure 
+    
     shows an example of a database consisting of three tables:
 
     
       
      
     
+
     
      The Suppliers and Parts Database
      
   
 
   
-   Formal Notion of the Relational Data Model
+   Relational Data Model Formalities
 
    
     The mathematical concept underlying the relational model is the
@@ -288,7 +289,7 @@ attributes are taken from. We often write a relation scheme as
     Di,
     for each attribute
     Ai,
-    1 <i <= k,
+    1 <i <= k,
     where the values of the attributes are taken from. We often write
     a relation scheme as
     R(A1,
@@ -325,11 +326,11 @@ attributes are taken from. We often write a relation scheme as
      integers. We define this by assigning a data type to each
      attribute. The type of SNAME will be
      VARCHAR(20) (this is the SQL type
-     for character strings of length <= 20),
+     for character strings of length <= 20),
      the type of SNO will be
      INTEGER. With the assignment of a data type we also have selected
      a domain for an attribute. The domain of SNAME is the set of all
-     character strings of length <= 20,
+     character strings of length <= 20,
      the domain of SNO is the set of
      all integer numbers.
     
@@ -337,11 +338,10 @@ attributes are taken from. We often write a relation scheme as
   
 
   
-   Operations in the Relational Data
-    Model
+   Operations in the Relational Data Model
 
    
-    In 
+    In the previous section ()
     we defined the mathematical notion of
     the relational model. Now we know how the data can be stored using a
     relational data model but we do not know what to do with all these
@@ -483,8 +483,8 @@ attributes are taken from. We often write a relation scheme as
    projecting out the duplicate column.
        
 
-        id="join-example">
-   An Inner Join
+       
+    id="join-example">An Inner Join
 
    
     Let's have a look at the tables that are produced by evaluating the steps
@@ -600,36 +600,41 @@ tr(A,B)=t∧tr(C,D)=t
 
     
      For a more detailed description and definition of the relational
-     algebra refer to ullman or
-     date86.
+     algebra refer to [] or
+     [].
     
 
-    
-     Recall that we formulated all those relational operators to be able to
-     retrieve data from the database. Let's return to our example of
-     section 
-     where someone wanted to know the names of all
-     suppliers that sell the part Screw
-     This question can be answered
-     using relational algebra by the following operation:
-
-      πSUPPLIER.SNAMEPART.PNAME='Screw'(SUPPLIER ∏ SELLS ∏ PART))
+    
+     A Query Using Relational Algebra
+     
+      Recall that we formulated all those relational operators to be able to
+      retrieve data from the database. Let's return to our example from 
+      the previous
+      section ()
+      where someone wanted to know the names of all
+      suppliers that sell the part Screw
+      This question can be answered
+      using relational algebra by the following operation:
 
-    
+      
SUPPLIER.SNAMEPART.PNAME='Screw'(SUPPLIER ∏ SELLS ∏ PART))
+      
+     
 
-    
-     We call such an operation a query. If we evaluate the above query
-     against the tables from figure
-      (The suppliers and
-     parts database) we will obtain the following result:
+     
+      We call such an operation a query. If we evaluate the above query
+      against the our example tables
+      ()
+      we will obtain the following result:
 
-     
+      
                              SNAME
                             -------
                              Smith
                              Adams
-     
-    
+      
+     
+    
    
 
    
@@ -662,8 +667,10 @@ tr(A,B)=t∧tr(C,D)=t
      We want to discuss the tuple relational calculus only because it is
      the one underlying the most relational languages. For a detailed
      discussion on DRC (and also
-     TRC) see date86 or
-     ullman.
+     TRC) see
+     []
+     or
+     [].
     
    
 
@@ -686,18 +693,19 @@ tr(A,B)=t∧tr(C,D)=t
      
      using TRC we formulate the following query:
 
+
      {x(SNAME) ∣ x ∈ SUPPLIER ∧ \nonumber
                        ∃ y ∈ SELLS ∃ z ∈ PART (y(SNO)=x(SNO) ∧ \nonumber
                         z(PNO)=y(PNO) ∧ \nonumber
                         z(PNAME)='Screw')} \nonumber
+     
     
 
     
-     Evaluating the query against the tables from figure
+     Evaluating the query against the tables from
      
-     (The suppliers and parts database)
      again leads to the same result
-     as in example
+     as in
      .
     
    
@@ -715,8 +723,9 @@ tr(A,B)=t∧tr(C,D)=t
      algorithm) by which an arbitrary expression of the relational
      calculus can be reduced to a semantically equivalent expression of
      relational algebra. For a more detailed discussion on that refer to
-     date86 and
-     ullman
+     []
+     and
+     [].
     
 
     
@@ -733,7 +742,8 @@ tr(A,B)=t∧tr(C,D)=t
    The <acronym>SQL</acronym> Language
 
    
-    As most modern relational languages SQL is based on the tuple
+    As is the case with most modern relational languages,
+    SQL is based on the tuple
     relational calculus. As a result every query that can be formulated
     using the tuple relational calculus (or equivalently, relational
     algebra) can also be formulated using SQL. There are, however,
@@ -781,7 +791,7 @@ tr(A,B)=t∧tr(C,D)=t
    
 
    
-    Select
+     id="select-title">Select
 
     
      The most often used command in SQL is the
@@ -806,7 +816,7 @@ tr(A,B)=t∧tr(C,D)=t
     
      Now we will illustrate the complex syntax of the SELECT statement
      with various examples. The tables used for the examples are defined in
-     figure  (The suppliers and parts database).
+     .
     
 
     
@@ -816,7 +826,7 @@ tr(A,B)=t∧tr(C,D)=t
       Here are some simple examples using a SELECT statement:
 
       
-       Simple Query with Qualification
+        id="simple-query">Simple Query with Qualification
        
    To retrieve all tuples from table PART where the attribute PRICE is
    greater than 10 we formulate the following query:
@@ -858,8 +868,7 @@ tr(A,B)=t∧tr(C,D)=t
 
    Note that the SQL SELECT corresponds to the 
    "projection" in relational algebra not to the "selection"
-   (see section 
-   (Relational Algebra).
+   (see  for more details).
        
 
        
@@ -953,7 +962,7 @@ tr(A,B)=t∧tr(C,D)=t
       because there are common named attributes (SNO and PNO) among the
       relations. Now we can distinguish between the common named attributes
       by simply prefixing the attribute name with the alias name followed by
-      a dot. The join is calculated in the same way as shown in example
+      a dot. The join is calculated in the same way as shown in 
       .
       First the Cartesian product
 
@@ -979,7 +988,7 @@ tr(A,B)=t∧tr(C,D)=t
       section).
 
       
-       Aggregates
+        id="aggregates-example">Aggregates
 
        
    If we want to know the average cost of all parts in table PART we use
@@ -1048,7 +1057,7 @@ tr(A,B)=t∧tr(C,D)=t
       A1, ⃛, Ak.
 
       
-       Aggregates
+        id="aggregates-groupby">Aggregates
        
    If we want to know how many parts are sold by every supplier we
    formulate the query:
@@ -1143,7 +1152,7 @@ tr(A,B)=t∧tr(C,D)=t
       clause. 
 
       
-       Having
+        id="having-example">Having
 
        
    If we want only those suppliers selling more than one part we use the
@@ -1182,7 +1191,7 @@ tr(A,B)=t∧tr(C,D)=t
       SQL.
 
       
-       Subselect
+        id="subselect-example">Subselect
 
        
    If we want to know all parts having a greater price than the part
@@ -1250,7 +1259,7 @@ tr(A,B)=t∧tr(C,D)=t
       difference of the tuples derived by two subqueries.
 
       
-       Union, Intersect, Except
+        id="union-example">Union, Intersect, Except
 
        
    The following query is an example for UNION:
@@ -1334,7 +1343,7 @@ The only tuple returned by both parts of the query is the one having $SNO=2$.
     
 
     
-     Create Table
+      id="create-title">Create Table
 
      
       The most fundamental command for data definition is the
@@ -1349,10 +1358,10 @@ The only tuple returned by both parts of the query is the one having $SNO=2$.
       
 
       
-       Table Creation
+        id="table-create">Table Creation
 
        
-   To create the tables defined in figure
+   To create the tables defined in
     the
    following SQL statements are used:
 
@@ -1467,7 +1476,7 @@ The only tuple returned by both parts of the query is the one having $SNO=2$.
 
      
       
-       Create Index
+        id="index-create">Create Index
 
        
    To create an index named I on attribute SNAME of relation SUPPLIER
@@ -1506,7 +1515,8 @@ The only tuple returned by both parts of the query is the one having $SNO=2$.
       stored data. Instead, the system stores the definition of the
       view (i.e. the rules about how to access physically stored base
       tables in order to materialize the view) somewhere in the system
-      catalogs (see section ). For a
+      catalogs (see
+      ). For a
       discussion on different techniques to implement views refer to
 
 
-   (last updated 1999-05-19)
+   (last updated 1999-06-01)
   
 
   
    
-    PostgreSQL is copyright (©) 1998-9
+    PostgreSQL is © 1998-9
     by the Postgres Global Development Group.
    
   
@@ -150,11 +158,14 @@ Your name here...
  &keys;
  &array;
  &inherit;
+ &mvcc;
  &environ;
  &manage;
  &storage;
  &commands;
 
+
  &datetime;