   Database-SQL-RDBMS HOW-TO  Linux (PostgreSQL
  -    )
  Al Dev (Alavoor Vasudevan)        alavoor@yahoo.com
  v11.0, 8  1999

       " "   
    SQL Database engine   front end    
   Unix.        (International
  Standard language) ANSI/ISO SQL      SQL
  database engine      world-wide internet 
    "  ".      (HOW-TO)
       SQL  
   "PostgreSQL"    Unix    
    Application Database Server   Web Database
  Server.  PostgreSQL       ISO
   ANSI SQL 1998,92,89.       
          Front End GUIs, 
   RAD (Rapid Application Development),  interfaces 
   "C", "C++", Java, Perl, ODBC, JDBC  
       Web   
  .         
   Unix          
        ,   SQL   PostgreSQL.
          SQL,    SQL
       .     
        .   , 
            
         PostgreSQL, ' 
         SQL  .
  ______________________________________________________________________

  Table of Contents


































  1. 

  2.     

  3.       !

  4.     PostgreSQL ;

  5.      ;

  6.  PostgreSQL    ,   200 Gig

  7.      PostgreSQL ;   Regression        

  8.    (GUI FrontEnd Tool)   PostgreSQL

  9.       PostgreSQL (GUI IDE)

  10.     PostgreSQL

     10.1 ODBC Drivers   PostgreSQL
     10.2 UDBC Drivers   PostgreSQL
     10.3 JDBC Drivers   PostgreSQL
     10.4 Java  PostgreSQL

  11. Perl Database Interface (DBI) Driver  PostgreSQL

     11.1  Perl 5  PostgreSQL
     11.2 Perl Database Interface DBI
        11.2.1    DBI ;
        11.2.2  DBI   PostgreSQL - DBD-Pg-0.89
        11.2.3     DBI
        11.2.4    DBI, DBperl, Oraperl  *perl;
        11.2.5  DBI
        11.2.6     "  !"
        11.2.7   DBI    Windows 95 / NT ;
        11.2.8    DBM;        DBI   ;
        11.2.9   <    >  DBI;
        11.2.10    DBI    CGI;
        11.2.11       DBD Oracle  CGI;
        11.2.12    (persistent)   DBI  CGI
        11.2.13 ``   perl script    , ,        httpd, !'' ;
        11.2.14    multi-threading   DBI;
        11.2.15     stored procedures   DBI;
        11.2.16           stored procedures   DBI;
        11.2.17             DBI;
        11.2.18    DBI   NULL ;
        11.2.19      func (func methods);
        11.2.20    

  12.    PostgreSQL

     12.1 PGACCESS -        PostgreSQL
     12.2 Windows Interactive Query Tool  PostgreSQL (WISQL  MPSQL)
     12.3 Interactive Query Tool(ISQL)   PostgreSQL -  PSQL
     12.4 MPMGR -     PostgresSQL

  13.    PostgreSQL   

  14.      PostgreSQL

     14.1  4  (4GL) PostgreSQL    web    -   AppGEN
     14.2 WWW Web interface  PostgresSQL - DBENGINE
     14.3 Apache Webserver Module  PostgreSQL - NeoSoft NeoWebScript
     14.4  HEITML   HTML  server    4    PostgreSQL
     14.5 America On-line AOL Web server  PostgreSQL
     14.6 Problem/Project Tracking System Application Tool  PostgreSQL
     14.7   dbase dbf  PostgreSQL

  15.   / Web     PostgreSQL - EARP

     15.1    EARP ;
     15.2 
     15.3       EARP
     15.4   ;
     15.5     ;

  16. PHP Hypertext Preprocessor,  scripting    PostgreSQL     html    Server

     16.1  
     16.2 /
     16.3 PHP 3 -  
     16.4    , ,   PHP/FI ;
     16.5   
     16.6 CGI Redirection
        16.6.1    Apache 1.0.x
        16.6.2 Netscape HTTPD
        16.6.3 NCSA HTTPD
     16.7   PHP/FI    

  17.   PostgreSQL  Python

     17.1      PyGres ;
     17.2   

  18.   PostgreSQL  WWW - WDB-P95

     18.1    wdb-p95
     18.2      PostgreSQL,  pgperl,   httpd     host;

  19.     "C", "C++", ESQL/C       PostgreSQL

     19.1   "C"   PostgreSQL
     19.2 Interface  "C++"    PostgreSQL
     19.3 ESQL/C  PostgreSQL
     19.4     PostgreSQL

  20. Japanese Kanji    PostgreSQL

  21.   PostgreSQL  Windows 95/Windows NT

  22.  

     22.1     e-mail
     22.2   
     22.3    
     22.4   

  23.   

     23.1    
     23.2 Online 
     23.3   
     23.4   ANSI/ISO SQL  - SQL 1992, SQL 1998
     23.5  ANSI/ISO SQL 1992
     23.6  ANSI/ISO SQL 1998
     23.7   SQL  
     23.8   (extension)  SQL92
     23.9  0 -    ISO/ANSI SQL
     23.10  1 -    ISO/ANSI SQL
     23.11  2 - ISO/ANSI SQL Foundation
     23.12  3 - ISO/ANSI SQL Call Level Interface
     23.13  4 - ISO/ANSI SQL Persistent Stored Modules
     23.14  5 -  -  ISO/ANSI SQL/ ISO/ANSI SQL/Bindings
     23.15  6 - ISO/ANSI SQL XA Interface Specialization (SQL/XA)
     23.16 Part 7 - ISO/ANSI SQL Temporal
        23.16.1 
        23.16.2  -  / 
        23.16.3  -   
        23.16.4  -  (PROJECTION)
        23.16.5  -  (JOIN)
        23.16.6  -   (AGGREGATES)
        23.16.7 
     23.17  8 - ISO/ANSI  SQL (SQL MULTIMEDIA - SQL/MM)

  24.     PostgreSQL

  25.    

  26.    

  27.      Internet World Wide Web

  28. 

  29.       PostgreSQL

  30.   

  31.  A -   ANSI/ISO SQL 1992

  32.  B -   SQL  

     32.1    PostgreSQL
     32.2  Internet 

  33. Appendix C -     Linux



  ______________________________________________________________________

  [1m1.  [0m

           /URLs
       PostgreSQL     
        (Open Source
  Code)   PostgreSQL, Linux.

           
    / .     
       ,    
           ,
    .  ,     
  , ,       .   
    [1m   [22m    
         .   
        SQL 
      ISO (International Standard
  Organisation)        o  ANSI
  SQL ().      
     ISO/ANSI SQL 1992.       SQL
  1998/99    SQL-3   .  
    Oracle,  Sybase  Informix     
        .

       ,    20
     , / 
  internet,         
      .      
  ANSI/ISO SQL,          
              
  .         
    ISO SQL, ODBC, JDBC      
          
  .

      ,     ISO
  SQL, ANSI SQL/98, SQL/92  ANSI SQL/89 RDBMS   PostgreSQL. 
  PostgreSQL     SQL  
       ANSI SQL   SQL 1998 (SQL-3) 
          
      (Object data types).   PostgreSQL
      RDBMS    
     SQL.        
     , ,      ,
     Web database, application database, 
      (front end GUIs  
  interface).        
   100 %     ISO/ANSI SQL, ODBC, JDBC, 
             
  PostgreSQL, Oracle, Sybase, Informix .

    PostgreSQL,        
       '   
  ' (Open Source Code development).     
             
   ,      internet  
     .       
        
  " " (Information Super-Highway)  
    .    ,    internet 
             
    PostgreSQL   .

       (, ,
  ),        
  ,        
  '   '   PostgreSQL  
          
     .     
      ' ,     
    .       
    [1m       [22m,   [1m[0m
  [1m   [22m    ,    
          
       .    
      ,  [1m [22m   
   .           
    .     21 ,   
         .    
         PostgreSQL,  Linux
  .

     ,       
    .         
      .      [4m[24m 
    .       (hardware), 
            internet.
           [1m [0m
  [1m   [22m.  To        
       .       
     6   180      
        /
  .      chips  
   .      , ,
          
      0.18 micron.     chip 
   /   . 
    AMD, Intel, Cyrix, Hitachi, IBM    
           
    (Micro-electronics)    (Nano-
  electronics).  Micro  (-   10^-6),
  Nano   (-   10^-9).   
       0.35 micron
    ,    0.25 micron
      .     
      0.10 micron   
       .  
        chips  ,
         .  
  ,     ,
           
     0.15 micron.

   20   ,      
          
      .      .
           ,  
    .         
      on/off.     ON
   1,    OFF  0.     
       .

           
    chips  .




                            Advancement of chip capabilities in future
                           ********************************************
       +--------------------------+---------+---------+---------+---------+--------+---------+
       | Item/Year                | 1997    | 1999    | 2001    | 2003    | 2012   | 2020    |
       +--------------------------+---------+---------+---------+---------+--------+---------+
       | Feature size(micron)     | 0.25    | 0.18    | 0.15    | 0.13    | 0.05   |< 0.00001|
       +--------------------------+---------+---------+---------+---------+--------+---------+
       | Wafer size(mm)           | 200     | 300     | 300     | 300     | 450    | Mol/Bio |
       +--------------------------+---------+---------+---------+---------+--------+---------+
       | Min Operating Voltage    | 1.8-2.5 | 1.5-1.8 | 1.2-1.5 | 1.2-1.5 | 0.5-0.6| < 0.001 |
       +--------------------------+---------+---------+---------+---------+--------+---------+
       | Max power dissipation    | 70      | 90      | 110     | 130     | 175    | 600     |
       +--------------------------+---------+---------+---------+---------+--------+---------+
       | On-chip frequencey (MHz) | 750     | 1,250   | 1,500   | 2,100   | 10,000 | > 50,000|
       +--------------------------+---------+---------+---------+---------+--------+---------+
       | DRAM capacity            | 256 MB  | 1 GB    | 2 GB    | 4 GB    | 256 GB | > 1000GB|
       +--------------------------+---------+---------+---------+---------+--------+---------+




   ,         
      .  ,  
  /-       !
     Compaq, Dell, Sun Microsystems, HP, IBM 
        
        !!

    ,      /
  .   ,      
  PC -       
     Oracle .     10  (
    Oracle   10 - ).  
  -          
   .  10    10   
   10 -.

     Oracle, Informix, Sybase, IBM DB2 (Unix)  
   "C"      
       .   Oracle, Sybase,
  Informix   100 % "C"!!

         PostgreSQL   12
  ,          
       ANSI/ISO SQL.    
         
        PostgreSQL  
      .

   PostgreSQL          
  ' Internet'.       "Made By
  Internet"          
  ,  ,       
   .        
  'Made By Internet'     " World-wide
  Internet"         .   
      "Internet"   [1m [22m 
      !

  [1m2.      [0m

        10  ,  -
  DVI, Postscript, Latex, LyX, GNU-info, HTML, RTF (Rich Text Format),
  Plain-text,   Unix (Unix man pages)  SGML.

          HOWTO    tar 
      HTML, DVI, Postscript  SGML   -
     <ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/other-formats/>

         :
     <ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO>


     , , ,   
         HOWTO,  email  
      : voulariba@hellug.gr     :
     evris@hellug.gr   : ep@rocketmail.com


         , , ,
     ,   
     <ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO>  
           .

          " SGML"   
        - <http://www.xs4all.nl/~cg/sgmltools/> 
           

    sgml2html databasehowto.sgml     (    html)

    sgml2rtf  databasehowto.sgml     (    RTF)

    sgml2latex databasehowto.sgml    (   
     latex)


      -

    <http://sunsite.unc.edu/LDP/HOWTO/PostgreSQL-HOWTO.html>

          mirrors sites -

    <http://www.caldera.com/LDP/HOWTO/PostgreSQL-HOWTO.html>

    <http://www.WGS.com/LDP/HOWTO/PostgreSQL-HOWTO.html>

    <http://www.cc.gatech.edu/linux/LDP/HOWTO/PostgreSQL-HOWTO.html>

    <http://www.redhat.com/linux-info/ldp/HOWTO/PostgreSQL-HOWTO.html>

     mirror sites   (network-address-wise)  
       <http://sunsite.unc.edu/LDP/hmirrors.html>  
     site     /LDP/HOWTO/PostgreSQL-HOWTO.html


         dvi,   
  xdvi.   xdvi    tetex-xdvi*.rpm 
  Redhat Linux      ControlPanel |
  Applications | Publishing | TeX menu.      dvi
     -

  xdvi -geometry 80x90 howto.dvi

          .   
     xdvi.

       ,   Page Up,
  Page Down,       'f', 'd',
  'u', 'c', 'l', 'r', 'p', 'n'      , ,
   ,   ,    .

      expert   'x'.   
    postscript   'gv' (ghostview) 
  'ghostscript'.    ghostscript   
  ghostscript*.rpm    gv   gv*.rpm  Redhat
  Linux        ControlPanel |
  Applications | Graphics.    gv     
     ghostscript.   ghostscript   gv  
         OS/2, Windows 95  NT,
           .


                   postscript     -
                       gv howto.ps

                   ghostscript   -
                       ghostscript howto.ps




  [1m: [22m    ,     (
  postscript)      113    (
       ).

         HTML 
  Netscape Navigator, Microsoft Internet explorer, Redhat Baron Web
  browser      10 web browsers.

         latex, LyX  
  LyX,  X-Windows     latex.

  [1m3.        ![0m

     ,        
         , 
  ,  ,       !   
             
          .  
    , -    PostgreSQL, 
  ,  ,  ,  ,  ,  , 
  ,  ,   ...  
    .       
            open-
  source code   PostgreSQL   Linux.     
    ,      
   ,   open-source code   .
             ,
    closed source-code      .

          - " 
    ,         
       PostgreSQL,  Linux".

      project   PostgreSQL,   
  ,   PostgreSQL     .    
          , 
             
  PostgreSQL,  Linux.

     ()  , ,  ,
            .
         ( ), 
  (    ),     
  .        ,   .
      ,   (  
       ).      
      ,   PostgreSQL.
   PostgreSQL   ' ' ,  
     .  ' '   
  ' ',  ' ',   Groups, Rings,
  Collections, Sets, Unions, Intersections, Exclusions, Domains, Lists,
  ...

     PostgreSQL       
  .         , 
       !     
    [1m [22m!           
        100  !

         
   ( )    
    .         ,
           
  . '     !    
   (  )     .
   ,      " " 
           
    .

           
   .        
  ,        
           
  PostgreSQL.

     ,       
   (    )  
   100 %    .      
   ,    [1m [22m    
   .   /  
      ' '    
         .

           
      .  ,    
      4      
      .

     [1m' ' [22m      
              
     !        
         /   
  .       [1m  [22m  
      .       
    ( )        .
   !  ,        
      (  ) 
            
    !          
     !

        ,   
  /       .
           
    .        
      .   
          
       .      
     [1mBIG BANG [22m   ( 20
    )    
      .    
  big bang        ,    
     (,      !!)   
       .     
   , ,   !      
     !   , ,    
   !

   Big bang          
     . [1m [22m(;)   
          
     ,     ,
  , ,  !       
  .      [1m   [22m 
  .

           
     big bang (   
     ,     , 
       ).  
   ,         .
  ,   /   !
      ,      
       !      
          
       .     
       6 
         6  ( !).
        ,  
         .   
      (     
  ),         
      .     ,
       !    
     ,   ,   
  .          
          
          
     !     -  
            ( ), 
             
  (   ).    
          
   .         
       !       
          
        !  
      ,       !  
       /     .
   /       ,
       !      
  ,  ,      
         ,  , 
   !          
   ( ), ,    !   
    .

           
  internet,      [1m  [22m
  (    ).   
      ,    
   ,        
      .      
     ,     
         .      
          
  ,         
     ,      
    (bugs)     
        -  
     .   
         
   .

           
   ,        . 
          
           .
        Microsoft,  IBM   
           
  [1m [22m  !

  ,          
      ANSI/ISO SQL. [1m   [0m
  [1m         [0m
  [1m/    [22m    
      .       :
      ,  '  
  '   PostgreSQL,  Linux      
   '   '     
    .


  [1m4.      PostgreSQL ;[0m

   PostgreSQL  6.4    ,    
          
  -     
  (   )   ANSI SQL1998,92,89   
    hardware   .


                     ,  (patches)  
                   GA PostgreSQL.      patches
                     .   
                    patches -
                       postgresql
                       cd /usr/src/postgresql6.3.1
                       patch -p0 < patchfile
                       make clean
                       make
                     'man patch'




     patch  

    PostgreSQL patches :  <ftp://ftp.postgresql.org/pub/patches>

          PostgreSQL   100
  %    ANSI/ISO SQL       
      .  PostgreSQL   ,
  , ,      
  ANSI/ISO SQL.   ,       
   PostgreSQL     ANSI/ISO SQL.

   Informix Universal server (  1997)  
     PostgreSQL   Informix  
  Illustra Inc.     Informix.    Illustra 
     Postgres (   PostgreSQL).

   PostgreSQL        
   POSTGRES,      DBMS.  
  PostgreSQL        
     POSTGRES,    
  PostQuel      SQL.

     PostgreSQL      
  Internet        
   PostgreSQL.       Marc G. Fournier

    scrappy@postgreSQL.org

               
       PostgreSQL.  ,     
           PostgreSQL!   
             
       internet.

     PostgreSQL 1.01   Andrew Yu  Jolly Chen.
        ,  , 
       .    
  Postgres, '    PostgreSQL,    
   , ,   
          Michael Stonebraker
     ,  Berkeley.

        Berkeley  Postgres. 
      SQL  1995,    
  Postgres95.        1996  PostgreSQL.

   PostgreSQL     
  , Web database servers Application data servers. 
   ,      
   (ORDBMS).

  H PostgreSQL       
       integer, characters, . -
         ,
  ,  .   PostgreSQL   Solaris,
  SunOS, HPUX, AIX, Linux, Irix, Digital Unix, BSDi,NetBSD, FreeBSD, SCO
  unix, NEXTSTEP, Unixware     Unix.   
   Windows 95/NT   .

    :             PostgreSQL SQL RDBMS Database (
         )

     :   6.4

    :       PostgreSQL  12 .   
     1985

    :        
     //  internet    12
     

      PostgreSQL        
       .


       PostgreSQL    

         (c)    California

         , , ,       
           ,  ,    
       ,         
                  .

         ,         
        , , , ,   ,   
                  
        ,          
           .

              , ,
            ,    ,  
          .         " "
                 , ,
       ,  .




  [1m5.       ;[0m

      CDROM Redhat Linux, Debian Linux  
  Slackware Linux     Postgresql    (
       )   :

    Linux System Labs Web site:   <http://www.lsl.com/>  7 (U.S.
     )

    Cheap Bytes Inc Web site:   <http://www.cheapbytes.com/> 7 (U.S.
     )

    Debian  Web site :  <http://www.debian.org/vendors.html>

    PostgreSQL    'PostgreSQL CDROM' 
           
   Unix   .

     CDROM  PostgreSQL       Web site 
      : <http://www.postgresql.org>  29 ( )

    PostgreSQL   :

        PostgreSQL    
     .      Intel-Linux   
     <ftp://www.redhat.com/pub/contrib/i386/> postgresql-6.4.i386.rpm.
        redhat 'rpm'       
         PostgreSQL.

    Site    Solaris, HPUX, AIX, IRIX, Linux :
     <ftp://ftp.postgresql.org/pub/bindist>    
       ,      site,  
         .

    ftp site :     Intel-Linux   
     <ftp://ftp.redhat.com/pub/contrib/i386/> postgresql-6.4.i386.rpm.
        redhat 'rpm'       
         PostgreSQL.

  WWW Web sites:

     Web site: <http://www.postgresql.org/>

     Web site: <http://logical.thought.net/postgres95/>

    <http://www.itm.tu-clausthal.de/mirrors/postgres95/>

    <http://s2k-ftp.cs.berkeley.edu:8000/postgres95/>

    <http://xenium.pdi.net/PostgreSQL/>

    <http://s2k-ftp.cs.berkeley.edu:8000/postgres95/>


   ftp sites   :-

    Primary FTP: <ftp://ftp.postgresql.org/pub>

    Secondary FTP: <ftp://ftp.chicks.net/pub/postgresql>

    <ftp://ftp.emsi.priv.at/pub/postgres/>

    <ftp://ftp.itm.tu-clausthal.de/pub/mirrors/postgres95>

    <ftp://rocker.sch.bme.hu/pub/mirrors/postgreSQL>

    <ftp://ftp.jaist.ac.jp/pub/dbms/postgres95>

    <ftp://ftp.luga.or.at/pub/postgres95>

    <ftp://postgres95.vnet.net:/pub/postgres95>

    <ftp://ftpza.co.za/mirrors/postgres>

    <ftp://sunsite.auc.dk/pub/databases/postgresql>

    <ftp://ftp.task.gda.pl/pub/software/postgresql>

    <ftp://xenium.pdi.net/pub/PostgreSQL>



      PostgreSQL      
  mirror sites  sunsite unc (  1000 sites   
  ).      Red Hat Linux  
  /pub/contrib/i386/postgresql.rpm .

        mirror sites  
     <ftp://sunsite.unc.edu>

  [1m6.   PostgreSQL    , [0m
  [1m 200 Gig[0m

     32-bit  cpu       
     5 gig.      30 gig  
  32-bit cpu         .  
          RAM ( 2
  gig ),         
     .

        , 
       64-bit  Digital Alpha
  cpu, Sun Ultra-sparc 64-bit cpu, Silicon graphics 64-bit cpu, Intel
  Merced IA-64 cpu,  HPUX 64bit, IBM 64-bit.  
  PostgreSQL   64-bit cpu      
     queries.    PostgreSQL   
            
  PostgreSQL    cpu 32-bit.     64-bit
             
         ,
       ,  
    (RAM),    .

  [1m7.          [0m
  [1m  PostgreSQL ;   Regression  [0m

    Regression   (src/test/regress)  
           
   SQL      PostgreSQL.  
        SQL  .

            
   PostgreSQL,       
  .          
  regression       
     .

           
        !

  ,          
   .

            ,
         web site  PostgreSQL 
          internet.   
  Regression        
  PostgreSQL       PostgreSQL 
   .

    Regression        [1m"[0m
  [1m" [22m     
      .   
  PostgreSQL     regression   
            
         .


     PostgreSQL     
  regression.      ,   
          
    PostgreSQL.    ,  ,   
       .


  [1m8.     (GUI FrontEnd Tool)   Post-[0m
  [1mgreSQL[0m

     PostgreSQL      Tcl/Tk, 
   'pgTcl'.  Tcl/Tk      
       scripting .    
         :  NT, Win 95, Linux, OS/2
      unix.  Tcl     'Tool Command
  Language'  Tk  'Tool Kit'.    
   (IDE - integrated development environment)   Tcl/Tk
    SpecTcl.     rpm    Redhat
  linux   sunscript site   .

    Perl        
   ,        
      .   
    Perl-Tk  Perl-Qt  C++ QtEZ  C++ Lesstiff. 
   Perl, C  Tk      
  projects,     ,   
      .   
    Java   .     
     C++       
    C.    C    
        
  .

   Perl      90 %  internet
  scripts  .       ,  "Perl", 
     ,       internet.   
  Perl Database Interface     ``''

          Perl    
  Tcl/Tk    project  Tcl.   Tcl/TK 
     linux cdrom.       sites -

    Tcl/Tk  <http://www.scriptics.com>

     extension  Tcl   INCR 
     <http://www.tcltk.com>

    Visual TCL site  <http://www.neuron.com>

    Visual TCL Redhat rpm 
     <ftp://ftp.redhat.com/pub/contrib/i386/visualtcl*.rpm>

    <http://sunscript.sun.com/>

    <http://sunscript.sun.com/TclTkCore/>

    <ftp://ftp.sunlabs.com/pub/tcl/tcl8.0a2.tar.Z>

     :     TCL/TK  
     .


  [1m9.        PostgreSQL[0m
  [1m(GUI IDE)[0m


          
       ODBC/JDBC.   
    Borland C++ Builder, Borland JBuilder.

   Vibe  Java  C++ IDE (Integrated Development Environment)
     Unix     
    .

        Vibe 
     <http://www.LinuxMall.com/products/00487.html>

     'QT'       Windows95/NT
      Unix  <http://www.troll.no>   ftp site   
     <ftp://ftp.troll.no>

         Borland C++ Builder, Delphi,
     Borland JBuilder, PowerBuilder  Windows95    
      PostgreSQL    unix   ODBC/JDBC.

     [1mPERL [22mDatabase Interface      ``'' 
  Perl  C/C++       IDE.

    IDE -

    CDROM   redhat linux.

    Lesstiff Mottif Tool
     <ftp://ftp.redhat.com/pub/contrib/i386/lesstiff*.rpm>

    FreeBuilder  <ftp://ftp.redhat.com/pub/contrib/i386/free*.rpm>

    SpecTCL  <ftp://ftp.redhat.com/pub/contrib/i386/spec*.rpm>

    JccWarrior  <ftp://ftp.redhat.com/pub/contrib/i386/jcc*.rpm>

    Kanchenjunga Java RAD Tool for PostgreSQL
     <http://www.man.ac.uk/~whaley/kj/kanch.html>

    Applixware Tool  <http://www.redhat.com>

    XWPE X Windows Programming Environment
     <http://www.rpi.edu/~payned/xwpe/>
     <ftp://ftp.redhat.com/pub/contrib/i386/xwpe*.rpm>

    XWB X Windows Work Bench
     <ftp://ftp.redhat.com/pub/contrib/i386/xwb*.rpm>

    NEdit  <ftp://ftp.redhat.com/pub/contrib/i386/nedit*.rpm>

  [1m10.      PostgreSQL[0m


  [1m10.1.  ODBC Drivers   PostgreSQL[0m

  ODBC    'Open DataBase Connectivity',  
          
   .      
  ODBC drivers,        
  PostgreSQL, Oracle, Sybase, Informix .


     PostODBC     .   
     web site  <http://www.postgresql.org>.   CDROM
      PostgreSQL.


    <http://www.openlinksw.com>  Open Link Software Corporation
      ODBC  PostgreSQL   .  Open Link 
       ODBC (  ) -  .

    Insight ODBC   PostgreSQL
     <http://www.insightdist.com/psqlodbc>     site
      PostODBC.

       FreeODBC Pack Package.  
  '    PostgreSQL,    .

    <http://www.ids.net/~bjepson/freeODBC/>     
      ODBC.

  [1m10.2.  UDBC Drivers   PostgreSQL[0m

   UDBC     ODBC   
   (driver managers)   DLL,   
         
  .

    <http://www.openlinksw.com>  Open Link Software  UDBC
       PostgreSQL   .   Open Link  
      UDBC (  ) -  .

  [1m10.3.  JDBC Drivers   PostgreSQL[0m

  JDBC    'Java DataBase Connectivity'.  Java 
         
   Sun Microsystems.   Java   
       JDBC  
         PostgreSQL,
  Oracle, informix, .     Java   
    JDBC  PostgreSQL    sites:

    JDBC      PostgreSQL.


    <http://www.demon.co.uk/finder/postgres/index.html>  Java
     ( Sun)  PostgreSQL

    <ftp://ftp.ai.mit.edu/people/rst/rst-jdbc.tar.gz>

    <http://www.openlinksw.com>   Open Link Software 
     JDBC  PostgreSQL   .   Open Link  
      JDBC (  ) -  .

    JDBC UK site  <http://www.retep.org.uk/postgres>

    JDBC FAQ site  <http://eagle.eku.edu/tools/jdbc/faq.html>

   JDBC home, guide  FAQ   -

    JDBC HOME  <http://splash.javasoft.com/jdbc>

    JDBC guide
     <http://www.javasoft.com/products/jdk/1.1/docs/guide/jdbc>

    JDBC FAQ  <http://javanese.yoyoweb.com/JDBC/FAQ.txt>


  [1m10.4.  Java  PostgreSQL[0m

    Java      sites 
     PostgreSQL.

    <ftp://ftp.redhat.com/pub/contrib/i386>    postgresql-
     jdbc-*.rpm

    <http://www.blackdown.org>

  [1m11.  Perl Database Interface (DBI) Driver  PostgreSQL[0m


  [1m11.1.   Perl 5  PostgreSQL[0m

  PERL    'Practical Extraction  Report Language'.
   Perl        
  hardware.    Perl  Windows95/NT,   Unix
  (Solaris, HPUX, AIX, Linux, Irix, SCO .),  mainframe MVS, desktop
  OS/2, OS/400, Amdahl UTS   .  Perl  [1m [22m 
    /     !!

  ,      perl      
   .

          
   Perl.

    Perl  PostgreSQL    
  PostgreSQL.    src/pgsql_perl5.

     Email      Pgsql_perl5 :
     E.Mergl@bawue.de

        -
     <ftp://ftp.kciLink.com/pub/PostgresPerl-1.3.tar.gz>

    Perl Home page:  <http://www.perl.com/perl/index.html>

      Perl,    Tutorial  :
     <http://reference.perl.com/>

     Perl FAQ   :
     <http://www.yahoo.com/Computers_and_Internet/Programming_Languages/Perl/>

       Perl, Perl-Qt :
     <ftp://ftp.redhat.com/pub/contrib/i386>    
     PerlQt-1.06-1.i386.rpm

       Perl, Perl-Qt :
     <http://www.accessone.com/~jql/perlqt.html>

       Perl, Perl-XForms :
     <ftp://ftp.redhat.com/pub/contrib/i386>     
     Xforms4Perl-0.8.4-1.i386.rpm

       Perl, Perl-Tk :
     <ftp://ftp.redhat.com/pub/contrib/i386>

    Perl GUIkits :  <http://reference.perl.com/query.cgi?ui>

    Perl Database Interfaces :
     <http://reference.perl.com/query.cgi?database>

      Perl  "C" :  <http://www.perl.com/CPAN-
     local/modules/by-module/B/>     Compiler-a3.tar.gz

      Perl   Bourne :
     <http://www.perl.com/CPAN/authors/id/MERLYN/sh2perl-0.02.tar.gz>


     awk  perl a2p   sed  perl s2p   
       PERl.

       newsgroups  PERL  comp.lang.perl.*

  [1m11.2.  Perl Database Interface DBI[0m

  [1m11.2.1.     DBI ;[0m

     [1m [22m     Perl DBI.

  To Perl Database Interface (DBI)     interface
  (API)  Perl     .   
   Perl DBI API     ,  
       interface  
        .  
       DBI     'DBI FAQ' 
      Alligator Descartes     
  .

         Alligator Descartes Hermetica 
     descarte@hermetica.com


  [1m11.2.2.   DBI   PostgreSQL - DBD-Pg-0.89[0m

    DBD-Pg-0.89.tar.gz  

    DBD-Pg-0.89 :  <http://www.perl.com/CPAN/modules/by-module/DBD/>

    Comprehensive Perl Archive Network CPAN  <http://www.perl.com/CPAN>

      DBI   DBI module
     <http://www.hermetica.com/technologia/perl/DBI>

       DBI     <http://www.fugue.com/dbi/>

     ftp site  <ftp://ftp.demon.co.uk/pub/perl/db>

     DBI link  <http://www-ccs.cs.umass.edu/db.html>

     DBI link  <http://www.odmg.org/odmg93/updates_dbarry.html>

     DBI link  <http://www.jcc.com/sql_stnd.html>

      PostgreSQL  <http://www.postgresql.org>

  :


    -  ,       Perl 5
     (  5.002)

    -  ,       module DBI
     (  0.89)

    -  ,       PostgreSQL
     (  6.2)



  [1m11.2.3.      DBI[0m

          


    E.Mergl@bawue.de

        perl -v,  perl -V, 
    PostgreSQL,    DBD-Pg,     DBI
    .



  [1m11.2.4.     DBI, DBperl, Oraperl  *perl;[0m

      Tim Bunce,      DBI:

  `` DBI    interface (API)  Perl 
       .    DBI
  API     ,    
     interface     
     .''

    ,  DBI interface     
       . ,   
  Oracle, Informix, mSQL, Sybase    ,  
         3GL.  API
      DBI       .

            
        perl script, ,  
       Oracle       
  Informix    .   DBI    
      .

  DBperl         interface.
        perl4 modules 
    , , oraperl, isqlperl, ingperl  . 
   interfaces    API    .

      DBperl modules,   DBI   
   .      DBI  
       dbi-users .


            Module                 DBI
           ------------ -----------------   ----------          ---
           Sybperl     Sybase              Michael Peppler     DBD::Sybase
                                           <mpeppler@datamig.com>
                                           http://www.mbay.net/~mpeppler
           Oraperl     Oracle 6 & 7        Kevin Stock         DBD::Oracle
                                           <dbi-users@fugue.com>
           Ingperl     Ingres              Tim Bunce &         DBD::Ingres
                                           Ted Lemon
                                           <dbi-users@fugue.com>
           Interperl   Interbase           Buzz Moschetti      DBD::Interbase
                                           <buzz@bear.com>
           Uniperl     Unify 5.0           Rick Wargo          -
                                           <rickers@coe.drexel.edu>
           Pgperl      Postgres            Igor Metz           DBD::Pg
                                           <metz@iam.unibe.ch>
           Btreeperl   NDBM                John Conover        SDBM;
                                           <john@johncon.com>
           Ctreeperl   C-Tree              John Conover        -
                                           <john@johncon.com>
           Cisamperl   Informix C-ISAM     Mathias Koerber     -
                                           <mathias@unicorn.swi.com.sg>
           Duaperl     X.500 Directory     Eric Douglas        -
                       User Agent


   ,  DBI modules    DBperl.
  ,  DBD::Oracle      Oraperl, 
       oraperl scripts  . 
        oraperl API  
  DBI      DBI switch.

           :


           Module                 
           ------          ---------------------     ------
           DBD::Oracle     Oraperl                   
           DBD::Informix   Isqlperl                   
           DBD::Sybase     Sybperl                   ; (  )
           DBD::mSQL       Msqlperl                     
                                                     DBD::mSQL-0.61




    Msqlperl    .  Msqlperl 
    perl5  mSQL ,     
    DBI.        
  DBD::mSQL.     Msqlperl   CPAN  :

    <http://www.perl.com/cgi-bin/cpan_mod?module=Msqlperl>

  [1m11.2.5.   DBI[0m

       DBI.

     DBI
     <http://www.hermetica.com/technologia/perl/DBI/doc/dbispec>

         link,  
   (Draft) DBI ,     
          interface,  
    DBperl      
   DBI interface.

            
         , 
      .  ,   
    .

   POD  PODs     
     perl     ``in place'',
         
  modules.  POD  DBI  drivers    
  ,       modules    
    .

   DBI  POD   DBI    
   :

  perldoc DBI

  Oraperl      Oraperl   
    DBD::Oracle,         
     Oraperl :

  perldoc Oraperl

           
  oraperl,     Kevin Stock  perl4.  API 
  oraperl     .
  DBD::mSQL    DBD::mSQL module    
   private functions      (driver)
  :

  perldoc DBD::mSQL

     (FAQ)

  To , Frequently Asked Questions    
    POD !        ,
  :

  perldoc DBI::FAQ

           
     ,  Internet.

   POD      POD,    
   POD ,    :

  perldoc perlpod

       Tk module    
       POD    Tk 
   tkpod,   POD      .

  ``'', ``''     
    ``''    
    DBI.

    <http://www.hermetica.com/technologia/perl/DBI/tidbits>


  ``DBI -- The perl5 Database Interface''      
  Alligator Descartes   Tim Bunce     DBI.
     5  ``The Perl Journal''.  
  .     .    , 
    !  ``The Perl Journal''s WWW site is:

    <http://www.tpj.com>

  ``DBperl''   ,      
   1996 ``Dr.  Dobbs Journal''   DBperl.

  ``The Perl5 Database Interface''      
   Alligator Descartes     O'Reilly  Associates.

         DBI 
    Ted Lemon.       
     World Wide Web   :

       <http://www.fugue.com/dbi>

           :

  [1mdbi-announce [22m      .   
         WWW ,
        :

    Email: dbi-announce-request@fugue.com

         (body)   'subscribe'

  [1mdbi-dev [22m         
   ,         DBI
  interface, API  driver.       
     WWW ,       
  :

    Email: dbi-dev-request@fugue.com

         (body)   'subscribe'

  [1mdbi-users [22m       
       , 
     .     
       WWW ,   
      :

    Email: dbi-users-request@fugue.com

         (body)   'subscribe'

  /   


       
     <http://outside.organic.com/mail-archives/dbi-users/>

           <http://www.rosat.mpe-
     garching.mpg.de/mailing-lists/PerlDB-Interest>



  [1m11.2.6.      "  !"[0m

    core dump,   module Devel::CoreStack  
    stack trace   core dump.   Devel::CoreStack
    CPAN :

    <http://www.perl.com/cgi-bin/cpan_mod?module=Devel::CoreStack>

   Email   dbi-users  stack trace,   
  modules,  perl,    ,    
       .  
   ,     
    .     ,  
      .


  -->

  [1m11.2.7.    DBI    Windows 95 / NT ;[0m

     DBI  DBD::Oracle Win32     
   DBI, ,     DBI   0.81 
      .      
  Microsoft Access  SQL-Server   DBI  ODBC.   
  DBI-0.79 ( )    DBI '
  '   module Win32::ODBC.  DBI::W32ODBC.  
    module Win32::ODBC.

    Win32 DBI    <http://www.hermetica.com/technologia/perl/DBI/win32>

    Win32 ODBC    <http://www.roth.net>







  [1m11.2.8.  ;    DBM;       [0m
  [1mDBI  [0m

   UNIX       ``''  
   ,    dbm.  dbm   
     ,      
  ,     .

    (File Locking)

    dbm      
   ,        
      [ ].

     (Arbitrary Data Structures)

    dbm      : 
  - (key-value pairs).       
   ,   [ C ] struct,     
   .       
   dbm.

  ,   dbm       
      ,    ,
      .  modules  Perl  
     dbm      ,
    module AnyDBM_File.

  ,  DBM      ( )
  read-only ,      . , 
       ,    
      transactional locking,  
     DBI.

  [1m11.2.9.    <    >  DBI;[0m

          -,
      , ,  
    .

   DBI    API      
  ,        
     (database-specific functionality).

  ,     ,   , 
   hooks   /
        func    DBI
  API.   scripts      
        func   
     .


  [1m11.2.10.     DBI    CGI;[0m

    , !  DBI     
   CGI!   ,       
   CGI        DBI.

  To DBI      CGI   
     WWW-fronted,      
         .
  ,     site      
  server      ,  DBI  
     server     ,
     cgi scripts.

  [1m11.2.11.        DBD Oracle [0m
  [1mCGI;[0m


   Apache httpd    (pool)    (httpd
  children)       clients.

    module  Apache mod_perl  Doug MacEachern, 
    perl (perl interpreter)    
  httpd.   CGI, DBI,      modules  
        (child).   modules 
        .

        Apache,   Apache
  Project's WWW site:

    Apache Project WWW site  <http://www.apache.org>

    Mod_perl module  <http://www.perl.com/cgi-
     bin/cpan_mod?module=mod_perl>


  [1m11.2.12.     (persistent)   DBI [0m
  [1mCGI[0m

    module Apache::DBI module  Edmund Mergl, 
  logins        
  httpd child.           
   ,        child. 
  ,         
      httpd.

      Apache::DBI   CPAN :

    <http://www.perl.com/cgi-bin/cpan_mod?module=Apache::DBI>

  [1m11.2.13.      httpd, !'' ; `` [0m
  [1m perl script    , ,  [0m


  ,            
        script     
       ,   
  DBD::Oracle,   $ORACLE_HOME, $ORACLE_SID  TWO_TASK.

    httpd       nobody,  
         .  script
           
  .

       ,        
    BEGIN ( )    script .    
  .

  ,      logfile   httpd   
  ,    ``Idiot's Guide To Solving Perl / CGI
  Problems''  ``Perl CGI Programming FAQ''  
  .          DBI.
        !


     ``Idiot's Guide To Solving Perl / CGI Problems''   
     : <http://www.perl.com/perl/faq/index.html>



  [1m11.2.14.     multi-threading   DBI;[0m

       FAQ, .   perl  
  multi-threading. ,  multi-threading   
        perl   5.005,  
    DBI     multi-threading  
   ' .

       OCI   Oracle   multi-
  threaded  SELECT,  :

    <http://www.hermetica.com/technologia/oracle/oci/orathreads.tar.gz>

  [1m11.2.15.      stored procedures   DBI;[0m

        stored procedure  
   , ,  Oracle,     $dbh->do
        (procedure).  ,

  $dbh->do( "BEGIN someProcedure END" );

  [1m11.2.16.            stored[0m
  [1mprocedures   DBI;[0m

  , ,     !


           $sth = $dbh->prepare( "BEGIN foo(:1, :2, :3); END;" );
           $sth->bind_param(1, $a);
           $sth->bind_param_inout(2, \$path, 2000);
           $sth->bind_param_inout(3, \$success, 2000);
           $sth->execute;




  [1m11.2.17.           [0m
  [1m  DBI;[0m


            
       DBI.  ,  Oracle
          !  Oracle
  ,      (database server) 
    ,   mSQL,     (server
  process)          
  .         .

  '   ,      
     private func methods.     
           .

  [1m11.2.18.     DBI   NULL ;[0m

    NULL  DBI     undef.  
  NULL      NULL,  :


           $rv =
               $dbh->do( "INSERT INTO table VALUES( NULL )" );




    ,   NULL      
  undef.       .
  [1m11.2.19.       func (func methods);[0m

    func   DBI     
      , ,   
      .     
         ,  ,
       createDatabase    , 
  :


           $rv =
               $dbh->func( 'argument', 'createDatabase' );




           func
       .

  [1m11.2.20.     [0m

   Interface  Perl5      . 
      .

  ,       
     DBI.

   [1mPerl Clinic : [22m Perl Clinic      
    Perl, DBI, DBD::Oracle  Oraperl.  
         Tim Bunce,   
  DBI.        , 
   :

    <http://www.perl.co.uk/tpc>


  [1m12.     PostgreSQL[0m


  [1m12.1.  PGACCESS -        Post-[0m
  [1mgreSQL[0m

   PgAccess   Tcl/Tk interface   PostgreSQL.
       PostgreSQL.     
    web site   

    <http://www.flex.ro/pgaccess>

       ,   ,   
      e-mail  : teo@flex.ro

    PgAccess

    PgAccess :   ,   (table
  builder) ,   () (table(query) view),
     (visual query builder).

  


    -  ,  200  (   
     preferences)

    -   ,     ( 
             )

    - text wrap   -     

    - import/export    (SDF,CSV)

    -   (    price>3.14)

    -   (  ()  
     )

    - editing in place

    -      (table generator
     assistant)

    -    

      (Queries)

    - ,    "   
     "

    -    views

    -  

    -     select

    -     

    -      drag & drop.  
          Tcl/Tk plugin   Netscape Navigator,
            

     Sequences

    -  sequences,     

    - ,       SQL

   

    -   (  ,  , .)

    -  

    -  report

    -  scripting

     ,   ,   
   e-mail  :


    teo@flex.ro

       libgtcl

           
  PostgreSQL  Tcl   Tcl/Tk 'load'-able module. 
  libpgtcl         
  PostgreSQL /src/interfaces/libpgtcl.   , 
   libpgtcl        Tcl/Tk.  
       PostgreSQL loadable object ,
    libpgtcl     object .   Linux,
   libpgtcl.so.         
     Linux i386.   
  libpgtcl.so      (/usr/lib)
  .          
        libpgtcl.so    
  pgaccess.tcl   wish,   pgwish ( wishpg)   wish  
     link    libpgtcl.


  [1m12.2.  Windows Interactive Query Tool  PostgreSQL (WISQL  MPSQL)[0m

   MPSQL      SQL interface  
  PostgresSQL.   MPSQL     SQL Worksheet  Oracle
       Microsoft SQL Server WISQL.   
   interface   .     cut
   paste         
  .

    <http://www.troubador.com/~keidav/index.html>

    Email: keidav@whidbey.com

    <http://www.ucolick.org/~de/>   tcl_syb/wisql.html

    <http://www.troubador.com/~keidav/index.html>

    Email: de@ucolick.org

  [1m12.3.  Interactive Query Tool(ISQL)   PostgreSQL - [0m
  [1mPSQL[0m

   ISQL     Character command line.  
   ,   PSQL.     ISQL  Sybase, 
   SQLplus  Oracle.  unix prompt    'psql'  
      psql> prompt.


        \h       .




         .    
       scripts  .

  [1m12.4.  MPMGR -     PostgresSQL[0m

   MPMGR    interface   PostgresSQL. 
    

    <www.mutinybaysoftware.com/>

    Email: keidav@mutinybaysoftware.com

    <http://www.troubador.com/~keidav/index.html>

    Email: keidav@whidbey.com

    <http://www.ucolick.org/~de> in file tcl_syb/wisql.html

    WISQL   PostgreSQL  <http://www.ucolick.org/~de/Tcl/pictures>

    Email: de@ucolick.org

  [1m13.     PostgreSQL   [0m

      -cpu      
           host.  
        ,  
   (  100  500 US   ) 
      .

     ,     
  PostgreSQL servers ( , , ), Web servers, ftp
  servers, Intranet servers, Mail servers, News servers    
  .         
  Windows 95/NT  OS/2.

       sites:

         DataComm Warehouse Inc,  24
     ,   ,  1-800-328-2261.   
      /  <http://www.warehouse.com>.   4- KVM switch
     (PS/2)    $89.99. Part No. DDS1354

    Network Technologies Inc
     <http://www.networktechinc.com/servswt.html> (120 /PC 8
     ports)      'Server Switches'  'switches
       Video '

    Scene Double Inc, 
     <http://www.scene.demon.co.uk/qswitch.htm>

    Cybex corporation  <http://www.cybex.com>

    Raritan Inc  <http://www.raritan.com>

    RealStar Solutions Inc  <http://www.real-star.com/kvm.htm>

    Belkin Inc  <http://www.belkin.com>

    Better Box Communications Ltd.
     <http://www.betterbox.com/info.html>

        hardware    "Server
     Switch"    "KVM Auto Switches".

      yahoo     
   "Server Switches"  "KVM Switches".

       unix box    
  PostgreSQL data-server   .  
  /        .  
   ""       
     intel, 13"   (  
  ).       hardware [1m [22mMicrosoft
  Windows/DOS (  $ 150).     
       ,    
    (remote administration)   
  .    RedHat (   ) Linux cdrom  
  -

    Linux System Labs Web site:   <http://www.lsl.com/>  7 (U.S.
     )

    Cheap Bytes Inc Web site:   <http://www.cheapbytes.com/> 7 (U.S.
     )

             
     Redhat Linux.   ftp site  Redhat   , 
      SCSI adapters,   .   $ 600 
           intel  Redhat Linux 
      PostgreSQL.   odbc/jdbc/perl/tcl  
        PostgreSQL  Windows95, OS/2, Unix Motif 
      web browser (.. Redbaron, Opera, Netscape, 20 ).  (
     Web browsers    standard client).

           cpu   
    !

      [1m   networktechnic Inc [22m
  "Server Switches"

     800-742-8324 (   )

          Email  :
  sales@networktechinc.com

      PC   ,  
         ,
       64 PC.  
     ,     
    PC 100%  .

    


    ,      

    9 pin D Serial  6 pin miniDIN   

    5 pin DIN  6 pin miniDIN  

    1600x1200  

      

     Desktop     rack

   - 


        

    5 pin DIN  6 pin miniDIN

          /

   -  


       /     

           
           SCAN, BROADCAST 
     COMMAND

     LEDs      

     CTRL+*      COMMAND

       SCAN, BROADCAST  COMMAND  

  

  * 9 pin D serial

    o  NTI       Microsoft


    o 9 pin D   

    o 9 pin D    /

  * 6 pin miniDIN

    o  NTI     IBM PS/2

    o     

   /


     --    

        " -  "

  -VGA


     150 MHz

    1600X1200   

    1/4    


  [1m14.       PostgreSQL[0m

  [1m14.1.   4  (4GL) PostgreSQL    web [0m
  [1m  -   AppGEN[0m

   AppGEN      

    <http://www.man.ac.uk/~whaley/ag/appgen.html>

    <ftp://ftp.mcc.ac.uk/pub/linux/ALPHA/AppGEN>.

   AppGEN    ,    
         
   World Wide Web (WWW).     
   internet   intranet  .    AppGEN
    C scripts      Common Gateway
  Interface (CGI),       Web
  Servers.

      AppGEN     :-

   PostgresSQL,     

   web server    CGI   HTTPD  NSCA

    ansi C   GCC

   AppGEN       Unix (Linux) :-


    defgen,        (template
     application)     .  
       , ,    
             
        (referential integrity).


    appgen,   AppGEN    appgen 
      CGI C    HTML     
     web server.


    dbf2sql,        dBase III
     .dbf   SQL scripts.     
            DOS/Windows
         SQL server   PostgresSQL.

    ,  AppGEN      HTML , 
     GIF  Java applets     , 
     ,    ,    
      .

       , Andrew Whaley, 

    andrew@arthur.smuht.nwest.nhs.uk


  [1m14.2.  WWW Web interface  PostgresSQL - DBENGINE[0m

   dbengine   plug 'n play Web interface   PostgreSQL
      Ingo Ciechowski.    :

    <http://www.cis-computer.com/dbengine/ >

  [1m   DBENGINE : [22m dbengine   interface 
  WWW  Postgres95        
    .

   PHP 3        Perl   ,
     Perl   AppGen   wdb-p95  
            
  --      '      
     .

      ,     
     scripting language    
     dbengine.      
    ,         .
   -          
    dbengine        
  Perl.

            
            
     .      virtual
  Fields         .

  [1m [22m dbengine        
     Perl.           
       .   ,   
         GNU  --   
       ""    dbengine  
          !



  [1m14.3.  Apache Webserver Module  PostgreSQL - NeoSoft NeoWebScript[0m

   Apache     Web Server.  module 
  PostgreSQL   Apache Webserver   -

    <http://www.neosoft.com/neowebscript/>

   NeoWebScript       
          HTML.
      HTML    
  NeoWebScript,  webserver   NeoWebScript  ()
   script(s),    web   
        ,  
      .

   NeoWebScript   , ,    
   , server-based     HTML  web
  .    NeoWebScript,     
  (counters),   email,   , guest books 
       ,     
  .      NeoWebScript     
     PERL   JavaScript.

       NeoWebScript  webserver , 
  Webmaster      Sysop FAQ   .  
  "  " (Theory of Operations)   
    NeoWebScript,       
    .        
    server,      
   NeoWebScript        
   server.

          NeoWebScript-2.2  
  ISP ,  intranet    extranet .      
  ,      ,     
    99         
          server 
   (.. SSL).


   NeoWebScript   module   Apache webserver  
        Tcl/Tk  
       scripting.    Karl
  Lehenbauer,     NeoSoft,  ,
         
    NeoSoft.

   Apache webserver     webserver  ,
    68 %  sites  .

   Tcl/Tk   , ,   
  scripting,     . John Ousterhout.  
   

  " Tcl/Tk       
         
  (toolkits)   C  C++.     
           
     Internet- ".

   Karl Lehenbauer,       
  NeoSoft,      Tcl/Tk    
  .     Mark Diehkans,   Extended Tcl,
      TclX  NeoSoft Tcl,    
   .        Tcl   
  Extended Tcl,       Dr. Ousterhout  
    .

  NeoSoft Inc., 1770 St. James Place, Suite 500, Houston, TX 77056 USA


  [1m14.4.    PostgreSQL  HEITML   HTML  server[0m
  [1m   4 [0m


    heitml        
  postgres   world wide web.    
    


                 Helmut Emmelmann H.E.I. Informationssyteme GmbH
                 Wimpfenerstrasse 23 . 49-621-795141
                 68259 Mannheim Germany . 49-621-795161





     email  . Helmut Emmelmann  emmel@h-e-i.de

        Heitml  <http://www.heitml.com>

        Heitml  <http://www.h-e-i.deom>

   heitml    HTML    server 
    4 .       web
    HTML  HTML- tags.

   heitml ( ""-)    HTML  
     4      Web 
        SQL ,  
     CGI scripts.

   heitml   HTML    server, 
    ".hei"  HTML       web
  browser.   ,   HTML  
    Tags      
      CGI.    XML,  heitml 
  tags    .   heitml     
  tags   HTML    browser.

   heitml     HTML   
  .   HTML    heitml
  Tags      web,   SQL
  ,      web. ,  
   ,  ,  email , 
  ,      
   HTML- Tags    
  .

    ,  heitml     4
    HTML


                 (.. <if>, <while>,  <let> Tags),




        ,
  , , , tuples .  Tuples
        
      (heap variable).   
  heitml,       ,
           
     Session Mode.      
    tags  tags        
  HTML-tags.

   heitml    

  - - -  Web Sites      , 
        .

  - - -     Web Sites, 
         .

  - - -    SQL     
           
   "dba" Tags.

  - - -       
     Session Variables

   heitml   Linux   Web Server  
  CGI interface,     ( 
    CGI)   APACHE Web Server  
  Apache API.      MSQL ( 1  2),
  PostgreSQL ( 6), mysql,   yard.  heitml   
  Linux, BSDi, Solaris  SunOS,    Windows NT  CGI 
  ISAPI  ODBC  Windows 95.

   heitml ( linux)    , - 
   .   Web Sites      
   .      heitml  
         . (,
  ,   Web  ".hei"     
            .  
   ,          
        .)


   heitml ( ""-)   
      HTML    tags 
    .     
          
   HTML,  CGI   scripting   
  .     ,   HTML,
       web  , 
     tags  CGI   .   
  ,       
       tag.  
     heitml      
  HTML      .   heitml 
   web server    HTML,    heitml 
        internet    web
  browser.          
       CGI.  heitml  
         
     (transaction).

    heitml      HTML,   text
  editor   HTML editor,    web server  
   . ,       
  heitml tags   tag    .   
     tags      , 
    ,   emails,  
          
   .

      HTML     
            
      Interactive Guestbook  
          CGI scripts,
            dba
   .

   heitml      tag ,  
   guestbooks,    , 
   ,   email     web site 
     .      ,
      tags  web site .

    ,      
  heitml   :  heitml    
  scripting    ,   
  ,      ,
          
      session  .



  [1m14.5.  America On-line AOL Web server  PostgreSQL[0m

     webserver, AOLserver  2.3 
     PostgreSQL  6.2.1  .  
     

    AOL Web Server  <http://www.aolserver.com>



  [1m14.6.  Problem/Project Tracking System Application Tool  PostgreSQL[0m

    :

    <http://www.homeport.org/~shevett/pts/>


  [1m14.7.    dbase dbf  PostgreSQL[0m

    dbf2msql    mSQL  PostgreSQL. 
     

    <ftp://ftp.nerosworld.com/pub/SQL/dbf2sql/>

    <ftp://ftp.postgresql.org/pub/incoming/dbf2pg-3.0.tar.gz>

        Maarten Boekhold, Faculty of
  Electrical Engineering TU Delft, NL Computer Architecture and Digital
  Technique section

    M.Boekhold@et.tudelft.nl

      python     dbf
          postgres.

       <http://www.python.org>


  [1m15.    / Web    [0m
  [1mPostgreSQL - EARP[0m


    <http://www.oswego.edu/Earp>

    <ftp://ftp.oswego.edu>   'pub/unix/earp'.


  [1m15.1.     EARP ;[0m

   EARP     / Web , 
         PostgreSQL. 
    :


       .

     interface  sendmail. (     
      mail)

       .

      cgi.

  [1m15.2.  [0m

      EARP    CGI   
     http       
  .         ,
         web.    
     browser,     
          ,
      .

  [1m15.3.        EARP[0m

   EARP           
  .        :

    Solaris 2.5

    Linux 1.2.13+

    GNU C++

    PostgreSQL ( 1.01 / 1.02 )

    netsite server

    NCSA httpd


    GNU C++

    PostgreSQL ( 1.01 / 1.02 )

    NCSA httpd

    Apache httpd

        (1.3)  Earp     
     libpq     PostgreSQL v1.01/1.02.   
          Postgres,    
             . 
       (Earp 2.0),   libpq 
      module.



  [1m15.4.    ;[0m

        EARP   
       html   
    .      
   (objects).      
        ,   
             
    (page tool).     
     .     
  HTML,  (Querys),      , 
      ,    
       .  
       mail   multithreaded
   .

     EARP    .   
      EARP    
   .      ,  EARP
       ,     ids 
      agent.     
  ,         
      Earp. , ,   
        http server 
    ( ) user authentication.

  [1m15.5.      ;[0m

      EARP  anonymous ftp  

    <ftp://ftp.oswego.edu>   'pub/unix/earp'.


  [1m16.  PHP Hypertext Preprocessor,  scripting    Post-[0m
  [1mgreSQL     html    Server[0m

      WWW

    <http://www.php.net>

    <http://www.vex.net/php>

         Professional Home Pages (PHP 3)   
       PHP Hypertext Pre-Processor

     Mirror sites     
     www.COUNTRYCODE.php.net

    <http://www.fe.de.php.net>

    <http://www.sk.php.net>

    <http://php.iquest.net/>

   ,  e-mail  :

    rasmus@lerdorf.on.ca

   PHP 3   scripting    PostgreSQL  
    html    Server.    
    scripts   .HTML    JavaScript, 
      JavaScript,  PHP 3     browser.
   JavaScript        html 
    client-   PHP 3   Server.  PHP 3
          Netscape LiveWire Pro. 
     ,     Server 
  Netscape        ,
          LiveWire Pro.     
  ,         
        PHP 3.

  [1m16.1.   [0m

    CGI, FastCGI  Apache module.    
   CGI,  PHP 3      
  Unix      Unix web server.    
     FastCGI,  PHP 3     
         .   Apache module,
   PHP 3       
     CGI.


       (Access Logging)   
         PHP 3,    
             (hit
     counting and logging).       
        ,    
       .   Log Viewer Script   
              
     . ,         
     footer          
     .          
     .

        ,   web,
            . 
               web
          ,   
              
          .     
      ,    ,   
       (logging disabled)     
     domain  client, browser,  e-mail    
      .

      Postgres  Postgres    
     RDBMS.  PHP 3    Postgres95 
     PostgresSQL SQL      .html.


     RFC-1867 /  (File Upload) 
     Upload       Netscape 2.0.
          (upload)     web
     server.  PHP 3    Mime decoding   
                
           ,     server.

    HTTP-based authentication control  PHP 3   
         authentication  ,
       HTTP,   Apache web server.

    ,  (arrays),   (Associative
     Arrays)  PHP 3    (typed variables),
         Perl-  
     (associative arrays).         web
            , GET 
     POST.

    Conditionals, While Loops  PHP 3    scripting
          C.     
     if/then/elseif/else/endif   while loops  
     switch/case          
      html .

    Extended Regular Expressions  Regular expressions
         (pattern matching),
       pattern    . 
     PHP 3       .

    Raw HTTP Header Control      web  
         HTTP   
          web sites  .
       ,     : URL header 
              URL. 
            caching  
         .

     GIF   /  (On-the-fly)  PHP 3
       GD    Thomas Boutell   
          GIF   .

     ISP "Safe Mode"  PHP 3    "Safe
     Mode"           
     PHP scripts   server.

     !      .  
       .       GPL   
            ,
        .      
     GNU   .

  [1m16.2.  /[0m

  *          
    .    Lee Oattes 
         
    .

  *     PostgreSQL    Adam Sussman

    asussman@vidya.com

  *  ,        
  .

  [1m16.3.  PHP 3 -  [0m

   PHP      cgi   (cgi wrapper)
    Perl.        
  .         Personal Home Page
  Tools,    Personal Home Page Construction Kit.

          SQL  web
  .     CGI wrapper    SQL
            
   .     FI (Form Interpreter).

   PHP/FI  2.0    , '
  ,        .
            
      HTML.   , PHP, .
      .  PHP/FI 
     web sites ,   
     (Personal Home Page).   ,
         Perl cgi ,
       scripts   HTML 
  .       web pages ,   
     (forking)  Perl    
  .       web sites
       web page    html .
      ,   
  ---- .   
          
       HTML  CGI.

       ,    PHP, FI  
  PHP/FI     .     PHP   FI
     .         
   .   PHP/FI   PHP 3.

  [1m16.4.     , ,   PHP/FI ;[0m

             
  PHP/FI     footer     
       (    
    ).         
        PHP/FI.      
    cgi  ,     to FI  
  .  ,        
  web  ,        
    .           
   ,       cgi   
   . To PHP/FI       
          .

  [1m16.5.    [0m

       :


       <FORM ACTION="/cgi-bin/php.cgi/~userid/display.html" METHOD=POST>
       <INPUT TYPE="text" name="name">
       <INPUT TYPE="text" name="age">
       <INPUT TYPE="submit">
       <FORM>




    display.html        :


       < ?echo "Hi $ name, you are $ age years old!<p>" >




    !  PHP/FI      
  input field   .      
     ACTION URL.

           
          tags  
    .   ,     
         ,  
    if/else.    ,   
            
    display.html  :


       <?
           if($age>50);
               echo "Hi $name, you are ancient!<p>";
           elseif($age>30);
               echo "Hi $name, you are very old!<p>";
           else;
               echo "Hi $name.";
           endif;
       >




   PHP/FI     scripting     
   '      .  
    "PHP/FI Script Language"   .

       PHP/FI    
     .      
   .         
       domains      
  ,          
      .    " " 
   .

   PHP/FI      uploads  
   web browser   RFC-1867.   
        text  binary .  
     PHP/FI    ,  
         (upload)   
          .    "File
  Upload"   .

   PHP/FI      PostgreSQL.
    SQL   .HTML  .  
     "  PostgreSQL"  
  .

   PHP/FI          mysql.
    SQL   .HTML  .  
     "  mysql"  
  .

  [1m16.6.  CGI Redirection[0m


  [1m16.6.1.     Apache 1.0.x[0m

        PHP/FI    cgi
  redirection module   Apache server.    
      modules   
     Apache module  PHP/FI.      
  modules  .      
  Dave Andersen

    angio@aros.net

        

    <ftp://ftp.aros.net/pub/util/apache/mod_cgi_redirect.c>

            Apache   mod_actions.c.
       modules   .   
      .                 
      PHP/FI.

      Apache       
  module.  ,     module    
   Configuration.         
     module mod_actions :

  Module action_module mod_actions.o

     module mod_cgi_redirect.c   
  :

  Module cgi_redirect_module mod_cgi_redirect.o


   ,   httpd   .  
    cgi redirection      
   mime    mime.types     
  AddType    srm.conf      mime . 
      mime        :


            application/x-httpd-php phtml




     module mod_actions.c,   
        srm.conf :


            Action application/x-httpd-php /cgi-bin/php.cgi




     mod_cgi_redirect.c     
      srm.conf :


            CgiRedirect application/x-httpd-php /cgi-bin/php.cgi




        mod_actions.c 
  mod_cgi_redirect.c.

        cgi redirection modules  
   ,         
   parsed   php/fi    extension   
  .phtml.  ,    index.phtml  
  DirectoryIndex    srm.conf,   top-level  
      parsed   php   index 
   index.phtml.

  [1m16.6.2.  Netscape HTTPD[0m

          
           PHP/FI  
    Netscape Server CGI Redirection module.   module 
    "File Archives"    PHP/FI.   README
             
     PHP/FI.

  [1m16.6.3.  NCSA HTTPD[0m

   NCSA      modules,     
   cgi   server ,    
     server .   / (patch)   
    NCSA 1.5     site  PHP/FI.

  [1m16.7.    PHP/FI    [0m

     CGI   PHP/FI,    
       : php.cgi filename  
  filename        parse.  
    standalone PHP/FI scripts   
    script   :


      #!/usr/local/bin/php.cgi -q




   "-q"     HTTP headers.   
       .

  [1m17.    PostgreSQL  Python[0m

   Python   scripting , ,  
   (interpreted).      ( , 
    )       
    (GUIs),    WWW, .  
  web browser ( HotJava)    (. 1995)
         .  python
      Stichting S Mathematisch Centrum,
  Amsterdam. The Neverlands    .

     , , modules, 
   (exceptions).       
      C,     Python 
     .

   Python    scripting     X interface.
   Python    Linux cdroms   
    Python modules,   modules   
    Tix widget   Tk.

  To PyGreSQL   python interface   PostgreSQL. 
     PostgreSQL      
      PostgresSQL   Python scripts.
  To PyGreSQL    D'Arcy J.M. Cain   Pascal Andre.


     site  PyGreSQL  <http://www.druid.net/pygresql/>

       D'Arcy at  <http://www.druid.net/~darcy/>

      site  
     <ftp://ftp.via.ecp.fr/pub/python/contrib/Database/PyGres95.README >

    D'Arcy J.M. Cain darcy@druid.net

    Pascal Andre andre@chimay.via.ecp.fr

    Pascal Andre andre@via.ecp.fr




  [1m17.1.       PyGres ;[0m

   home sites    :

    Python
     <ftp://ftp.python.org:/pub/www.python.org/1.5/python1.5b2.tar.gz>

    PyGreSQL  <ftp://ftp.druid.net/pub/distrib/PyGreSQL-2.1.tgz>

    Old site
     <ftp://ftp.via.ecp.fr/pub/python/contrib/Database/PyGres95-1.0b.tar.gz
     >

            mirror site   
     .           
      sites.  PyGres95      
     contrib  sites  Python  PostgreSQL.

  [1m17.2.    [0m

         ,
     web sites :


    Python :      <http://www.python.org/>

    PostgreSQL :
     <http://epoch.cs.berkeley.edu:8000/postgres95/index.html>

    PyGreSQL  <ftp://ftp.druid.net/pub/distrib/PyGreSQL-2.1.tgz>

    Old site PyGreSQL :
     <http://www.via.ecp.fr/via/products/pygres.html>

    :


       PyGreSQL.    
       majordomo@vex.net    "subscribe pygresql
     name@domain"      
     "name@domain"       .

    Newsgroup for Python :     newsgroup comp.lang.python

    PyGreSQL :      Andre  andre@via.ecp.fr 
      , , 

  [1m18.    PostgreSQL  WWW - WDB-P95[0m


  [1m18.1.     wdb-p95[0m

  WDB-P95 -  Web interface   PostgreSQL   J. Douglas
  Dunlop  

     WDB   J Rowe  
     <http://www.lava.net/beowulf/programming/wdb>

       WWW-WDB   <http://www.eol.ists.ca/~dunlop/wdb-
     p95/>

           ,
        dunlop@eol.ists.ca

       wdb-1.3a2    
   WWW   PostgreSQL.       Browser
      HTML      (tabular
  output).       wdb   
        .

      CASI Tape  Image Query.  
       Form Definition File (FDF) 
       CASI Tape  Image Query , 
    JOIN 2 .

            
     WDB-P95     PostgreSQL  .
             
   -       SQL  
  interface  Perl.

  [1m18.2.       PostgreSQL,  pgperl, [0m
  [1m httpd     host;[0m

   -    PostgreSQL     
    host.  WDB-P95     http , 
      host -    WDB-P95   
    Pg.pm -  pgperl      host
  .   Pgperl     libpq, 
         PostgreSQL
    ,     PostgreSQL.
    

  (WWW Client (Netscape)) => (HTTP Server (NCSA's http) + WDB-P95 +
  pgperl + libpq)=> (PostgreSQL server)

    ()  .


         : NT, SUN, HP, ...
       libpq   
        WDB-P95,  
    pgperl. (     
  HTML  '      WWW client).


  [1m19.      "C", "C++", ESQL/C [0m
  [1m     PostgreSQL[0m


  [1m19.1.    "C"   PostgreSQL[0m

       'libpq'.  
    Oracle OCI, Sybase DB-lib    Informix CLI .


  [1m19.2.  Interface  "C++"    PostgreSQL[0m

       'libpq++'.


  [1m19.3.  ESQL/C  PostgreSQL[0m

  O '  C'   PostgreSQL, ESQL/C 
    Oracle Pro*C,   Informix ESQL/C. To PostgreSQL ESQL/C
       (API) SQL, 
     C     
      .   
          
          
     (SQL).

  To ESQL/C      :

      ESQL/C   C    
          (database server).

        ESQL/C       
      ,  ,     
      ESQL/C.

      ESQL/C,     
        C     SQL  
      .

      

     ESQL/C   PostgreSQL    .

      site   <ftp://ftp.lysator.liu.se/pub/linus>

    Email : linus@epact.se



  [1m19.4.      PostgreSQL[0m

        Nicolas Moldavsky

    nico@overnet.com.ar

   "C"       (AND, OR,
  XOR,    2)  pgsql.     
  anonymous FTP  


    <ftp://ftp.overnet.com.ar/pub/utils/linux/bitpgsql.tgz>

   Makefile  Linux.

  [1m20.  Japanese Kanji    PostgreSQL[0m

     site

    <ftp://ftp.sra.co.jp/pub/cmd/postgres/>

  [1m21.    PostgreSQL  Windows 95/Windows NT[0m

     Windows 95/Windows NT   .   
     gcc   gmake  Win NT/95.  
       win32   
  gnu-win32.   GNU gcc    win32.   site -

    <http://www.cygnus.com/misc/gnu-win32>

         cdk.exe (-  
     gnu-win32)

           
  "Unix-Emulator on NT"  

    <http://www.softway.com>

  [1m22.   [0m


  [1m22.1.      e-mail[0m

      -    e-mail
   

    Yahoo  <http://www.yahoo.com>   e-mail

    Lycos  <http://www.lycos.com>     e-
     mail (new email accounts)

    hotmail  <http://www.hotmail.com>   
      e-mail (new email accounts)

          PostgreSQL   Yahoo 
             
       e-mails  PostgreSQL,       
         e-mail.    Email- > Options- >
     Filters      email.    
      e-mail       mail 
            web .

      e-mail,     
  "Mail Filters"      mails  PostgreSQL 
   .      mails   
        o.

  [1m22.2.    [0m

          web  :

    <http://www.postgresql.org/>

      Email : pgsql-questions@postgresql.org

    Developers pgsql-hackers@postgresql.org

    Port specific questions pgsql-ports@postgresql.org

    Documentation questions pgsql-docs@postgresql.org

         e-mail     !!

        .    
    '    e-mail'.   
        ,  mail 

    pgsql-questions-request@postgresql.org

    pgsql-hackers-request@postgresql.org

    pgsql-ports-request@postgresql.org

    pgsql-docs-request@postgresql.org

        (body)       
     

  subscribe

  ()

  unsubscribe

  [1m22.3.     [0m

        html   
   -

           MHonarc  WWW 
     <http://www.postgresql.org/mhonarc/pgsql-questions>

    <ftp://ftp.postgresql.org>   /pub/majordomo

  [1m22.4.    [0m

      ""    postgreSQL 
  .       '   
    e-mails  PostgreSQL' .    ,  
     :

    majordomo@tlali.iztacala.unam.mx

        (body)       
     :

  inscripcion pgsql-ayuda

  [1m23.    [0m


  [1m23.1.     [0m

        PostgreSQL  
  postscript   unix   (man-pages).   
    internet,       
     <http://www.postgresql.org/docs>


    " "

    " "   PostgreSQL

    " -"     
       PostgreSQL.

    Online .

    Online   HTML .

    ,    Postscript  .

  [1m23.2.  Online [0m


           
     


           PSQL   6.4.




       SQL   (keywords)


         script   /tools     




        -


          psql \h




          PostgreSQL
     ()   online  () -


         regression tests  src/test.     
       regress/sql  suite/*.sql.




        PostgreSQL.


         SQL scripts    SQL   src/tutorial




     "  SQL  "  Appendix B
     ``''

  [1m23.3.    [0m


    "Understanding the New SQL: A Complete Guide" -   Jim Melton
      Alan R.Simon


        Morgan Kaufman Publisher        SQL.    SQL92.




    "A Guide to THE SQL STANDARD" -   C.J.Date


         Addison-Wesley Publishing     .     SQL.




    SQL - The Standard Handbook,   1992


       Stephen Cannan  Gerard Otten
       McGraw-Hill Book Company Europe , Berkshire, SL6 2QL, England




    SQL Instant Reference, 1993


       Martin Gruber, Technical Editor: Joe Celko
       SYBEX Inc.  2021 Challenger Drive Alameda, CA 94501




    C.J.Date, "An introduction to Database Systems" (6th Edition),
     Addison-Wesley, 1995, ISBN 0-201-82458-2


                 .
          , SQL, recovery, concurrency, ,
       integrity,  extensions    ,  
        client/server    . 
              .     .




    Stefan Stanczyk, "Theory  Practice of Relational Databases", UCL
     Press Ltd, 1990, ISBN 1-857-28232-9


       ,  , calculus
   .           .     .




    "The Practical SQL Handbook"  , Addison Wesley
     Developers Press ISBN 0-201-44787-8


           .




    Michael Stonebraker, "Readings in Database Systems", Morgan
     Kaufmann, 1988, ISBN 0-934613-65-6


                      .              ()      .




    C.J.Date, "Relational Database - Selected Readings", Addison-
     Wesley, 1986, ISBN 0-201-14196-5


                      .              ()      .




    Nick Ryan  Dan Smith, "Database Systems Engineering",
     International Thomson Computer Press, 1995, ISBN 1-85032-115-9


              ,   .




    Bipin C. Desai, "An introduction to Database Systems", West
     Publishing Co., 1990, ISBN 0-314-66771-7


                    ()      .




    Joe Celko "INSTANT SQL Programming"


       Wrox Press Ltd.
       Unit 16, 20 James Road, Tyseley
       Birmingham, B11 2BA, England
       1995




    Michael Gorman "Database Management Systems: Understanding 
     Applying Database"


  Technology
  QED  John Wiley
  1991




    Michael Gorman "Enterprise Database for a Client/Server
     Environment" QED  John Wiley


             client/server  
        repository      ANSI  SQL
       1993




        SQL !  
  .

  [1m23.4.    ANSI/ISO SQL  - SQL 1992, SQL 1998[0m

       ANSI/ISO SQL   
  sites -

    <http://www.naiua.org/std-orgs.html>

    <http://www.ansi.org/docs>     cat_c.html 
       "Database SQL"

    SQL92 standard  <http://www.jcc.com>    
     sql_stnd.html

    ANSI/ISO SQL 
     <http://www.contrib.andrew.cmu.edu/~shadow/sql.html>   
       SQL.

  [1m23.5.   ANSI/ISO SQL 1992[0m

    Appendix A    ``''

  [1m23.6.   ANSI/ISO SQL 1998[0m

    SQL 1998 (SQL 3)    .   
  'Electronic Access to the SQL3 Working Draft'    
  ``''

  [1m23.7.    SQL  [0m

     Appendix B    ``''

  [1m23.8.    (extension)  SQL92[0m


        SQL-92
     <ftp://FTP.cs.arizona.edu/tsql/tsql2/>

      SQL-3
     <ftp://FTP.cs.arizona.edu/tsql/tsql2/sql3/>

           
      SQL-92.     
  TSQL2.


           
    .

          TSQL2 Language Design
  Committee, Richard T.Snodgrass, Department of Computer Science,
  University of Arizona, Tucson, AZ 85721,

    rts@cs.arizona.edu

          e-mail    TSQL2
     Language Design Committee       
         .

          .

  spec.dvi,.ps      TSQL2,    
  1994

  bookspec.ps        TSQL2,   
   TSQL2,      1995 ( ).

  sql3                  
  ANSI  ISO SQL3.

            
       ,  , 
          .    
       TSQL2 Language Design. 
     :     
   ,        
    ,     TSQL2   
           .
              
     TSQL2,     
    .        
    TSQL2.

   ,       ,  
  (indexes),    ,     :

  Snodgrass, R.T., editor, The TSQL2 Temporal Query Language, Kluwer
  Academic Publishers, 1995, 674+xxiv .

          . 
          eval.ps

    tl2tsql2.pl     prolog   
      TSQL2.     
   Michael Boehlen

    boehlen@iesd.auc.dk

            paper  
       .      dated  
     .     

    <http://www.cs.auc.dk/general/DBS/tdb/TimeCenter/Software>

     (  TimeDB  Tiger).

  [1m23.9.   0 -    ISO/ANSI SQL[0m

           ()  
    SQL-92   "" SQL3 Working Draft.


   ANSI      ANSI,   ISO 
  ISO.

    (2)   SQL,   ANSI  
   ISO.          
         ,  
   ,        "International Standard"   "American
  Standard",  .

     SQL-92

    ISO standard, ISO/IEC 9075:1992, Information Technology -
  Database Languages - SQL,   (, 1993)  ANSI :


            American National Standards Institute
            1430 Broadway
            New York, NY 10018 (USA)
            Phone (sales): +1.212.642.4900




    US$230.00. H ANSI , ANSI X3.135-1992, American
  National Standard    - Database Language SQL,
           , 
           ,
  1993).       US$225.00.

          ANSI,    
     7%  (,  US$9.10). 
          
  .  ANSI       
     . ,    
        ,   
        . (  : 
         ANSI,   ANSI  
          .)

    ISO        
   (   )      ISO
  (   - International Organization for
  Standardization)   IEC (   -
  International Electrotechnical Commission).

            
     ANSI     .  
     ISO:


            International Organization for Standardization
            Central Secretariat
            1, rue de Varembi
            CH-1211 Genhve 20
            Switzerland




            
  ,          . 
     ISO/IEC 9075:1992, Information Technology -
  Database Languages - SQL,  :



       Global Engineering Documents
       2805 McGaw Ave
       Irvine, CA 92714 (USA)
       USA
        (  ): +1.714.261.1455
        (  ): (800)854-7179




    US$308.00.        
      ,       
  ()   .     
         "  
  ".   Global     ANSI     
     (      
       ANSI     
  US$300.00).

      SQL3 Working Draft

        SQL3 working draft   ANSI
  X3 Secretariat, CBEMA (Computer  Business Equipment Manufacturers
  Association).    "  "  SQL3
  working draft     US$60.00  US$65.00.   
     CBEMA :


            CBEMA, X3 Secretariat
            Attn: Lynn Barra
            1250 Eye St.
            Suite 200
            Washington, DC 20005 (USA)




       Lynn Barra  
  +1.202.626.5738     ,    mail 
  .

     SQL3 Working Draft

      (     )  SQL3
  (  ANSI  ISO) working draft (    ) 
    "anonymous ftp"   "ftpmail"  :


            gatekeeper.dec.com

          

            /pub/standards/sql/




        .   
  PostScript  "plain text" (  , 
        ).

  ,       :




       sql-bindings-mar94.ps
       sql-bindings-mar94.txt
       sql-cli-mar94.ps
       sql-cli-mar94.txt
       sql-foundation-mar94.ps
       sql-foundation-mar94.txt
       sql-framework-mar94.ps
       sql-framework-mar94.txt
       sql-psm-mar94.ps
       sql-psm-mar94.txt




       ,  "mar94"   
         (.., "aug94"  
         "mar94").

  ,           
    FTP,        
   :


            ls




     (!)     .

        ftp

            FTP.
  ,      gatekeeper.dec.com, 
         ,  
       .     
       Internet     .  login
   'ftp'      email   ( 
      ftp 'anonymous ftp').   'type binary'
           bits 
  () ()   . H 'get'     .
      script    angle brackets <  
  > .























    % ftp gatekeeper.dec.com
    Connected to gatekeeper.dec.com.
    220- *** /etc/motd.ftp ***
         Gatekeeper.DEC.COM is an unsupported service of DEC Corporate Research.
         <...this goes on for a while...>
    220 gatekeeper.dec.com FTP server ( 5.83 Sat ... 1992) ready.
    Name (gatekeeper.dec.com:<yourlogin here>): ftp  <anonymous also works>
    331 Guest login ok, send ident as password.
    Password: <enter your email address here >
    230 Guest login ok, access restrictions apply.
    Remote system type is UNIX.  <or whatever>
    Using binary mode to transfer files.
    ftp> cd pub/standards/sql
    250 CWD command successful.
    ftp> dir
    200 PORT command successful.
    150 Opening ASCII mode data connection for /bin/ls.
    total 9529
    -r--r--r--  1 root     system     357782 Feb 25 10:18 x3h2-93-081.ps
    -r--r--r--  1 root     system     158782 Feb 25 10:19 x3h2-93-081.txt
    -r--r--r--  1 root     system     195202 Feb 25 10:20 x3h2-93-082.ps
    -r--r--r--  1 root     system      90900 Feb 25 10:20 x3h2-93-082.txt
    -r--r--r--  1 root     system    5856284 Feb 25 09:55 x3h2-93-091.ps
    -r--r--r--  1 root     system    3043687 Feb 25 09:57 x3h2-93-091.txt
    226 Transfer complete.
    ftp> type binary
    200 Type set to I.
    ftp> get x3h2-93-082.txt
    200 PORT command successful.
    150 Opening BINARY mode data connection for x3h2-93-082.txt (90900 bytes).
    226 Transfer complete.
    90900 bytes received in 0.53 seconds (166.11 Kbytes/s)
    ftp> quit
    % <        x3h2-93-082.txt>




        ftp

   Digital Equipment Corporation,     ,
    ftp email.       
    ,        ftp
        ftp   Internet. 
    server :

  ftpmail@decwrl.dec.com

    script    PostScript   
    SQL3 :


            reply joe.programmer@imaginary-corp.com
            connect gatekeeper.dec.com anonymous
            binary
            compress




    script    PostScript   
    SQL3 :




       reply joe.programmer@imaginary-corp.com
       connect gatekeeper.dec.com anonymous
       binary
       compress
       uuencode
       chdir /pub/standards/sql
       get x3h2-93-091.ps
       quit




         script    
  (server)      .   
    "joe.programmer@imaginary-corp.com"  
     Internet.      ,
  x3h2-93-091.ps,    "compress"ed "uuencode"d  34
    email.        
     ,     
    plain text    script:


            reply joe.programmer@imaginary-corp.com
            connect gatekeeper.dec.com anonymous
            chdir /pub/standards/sql
            get x3h2-93-091.ps
            quit




    ,   .ps     
    70 !

        ,  
  x3h2-93-091.ps,    "x3h2-93-091.ps"   
     .        
     ,   "get
  x3h2-93-091.ps"   "dir".

  [1m23.10.   1 -    ISO/ANSI SQL[0m

            
   SQL     .

   :

            SQL  
         
  persistent,  .   : generalization
   specialization hierarchies,  , 
      , triggers  assertions,
     ,  ,  
    .    
      (abstract data types -ADTs), object
  identifiers, , , , encapsulation,
            
  .

     1996,    SQL3   
  ISO CD.     SQL/Framework, SQL/Foundation,  SQL/Bindings.
      (  )  900   
  .   ,      ISO
  DBL         
           
     papers.        DBL
        ,   
  .       
    , 1997,  .

       ,    
          SQL.    
      6      
    DBL,        DIS  
      IS .

    ISO      SQL/92,    
   SQL         
  .

     ,     SQL3    
   ISO/IEC    1998,     
  .

   1993,    ANSI  ISO    
     SQL    .   
  :


     1: Framework        
       .

     2: Foundation    ,
          ADT.

     3: SQL/CLI  Call Level Interface.

     4: SQL/PSM    stored procedures,
       .

     5: SQL/Bindings  Dynamic SQL  Embedded SQL bindings 
        SQL-92.

     6: SQL/XA   SQL   XA Interface 
        X/Open

     7:SQL/Temporal    SQL  
       .

   ,   SQL3    ANSI Domestic
  ("D") project   ISO project.     
     SQL3   1999.

   SQL/CLI  SQL/PSM     
  addendums  SQL-92.  ,    
    (International - "I").  SQL/CLI   1995. 
  SQL/PSM        1996.

    SQL3 ,     are
  persued:


    SQL/MM       
         SQL3 ADT.

        - Remote Data Access (RDA)

         
    SQL    .     
    SQL    ISO.     
     SQL.    () 
     ISO/IEC JTC1/SC 21/WG3 DBL.  
         ISO SQL  :


    

    

    

    

    

    

    

    

    

    

  NIST 

     SQL  ( )   
      (NIST).  NIST     
        entry level SQL-92.  
       NIST   
      - Federal Information
  Processing Standard (FIPS).       SQL
    FIPS 127-2.      Postscript
   Text        NIST.    
    SQL      
  NIST.

          SQL

         SQL.   
     ANSI:


    ISO/IEC 9075:1992, "Information Technology --- Database Languages
     --- SQL"

    ANSI X3.135-1992, "Database Language SQL"

       SQL      
       .       :


            American National Standards Institute
            1430 Broadway
            New York, NY 10018
            USA
            Phone (sales): +1.212.642.4900




     SQL-92,   Technical Corrigendum
  ( bug):


          * Technical Corrigendum 1:1994 to ISO/IEC 9075:1992

   TC 1       ANSI.    ISO
    TC 1 --    ISO  ANSI  
  SQL-92.

  ,         1992
  SQL.         
        .

   

       SQL .   
         .  
          web.


     SQL (FIPS 193)

    Repository    (X3H4) -  News Release 
        "   Repository 
      ."

  [1m23.11.   2 - ISO/ANSI SQL Foundation[0m

      SQL3     SQL
  Foundation :


      SQL/PSM (moved form SQL/PSM-92)

      

    Triggers

    

       - Abstract Data Types (ADT)

     

       :


        

        

            
       SQL,      

         SQL/PSM

          
   SQL-3       
      ODMG.      X3H2 
  ISO DBL paper: Accomodating SQL3 and ODMG.    
     SQL3/OQL Merger.

  SQL3 Timing

      SQL3   ,    
        .


          SQL3 Foundation  
             (Committee
     Draft - CD)      1996.
          

           CD

     Draft         
      1998

             1999.

   ANSI      .

  [1m23.12.   3 - ISO/ANSI SQL Call Level Interface[0m

   SQL/CLI    interface   
  SQL .         
  shrink-wrapped .  CLI    
    SQL Access Group (SAG).     SAG/CLI
       Microsoft Open DataBase
  Connectivity (ODBC)  1992.  1993,  SAG   CLI 
   ANSI  ISO SQL. (  SQL Access  
     X/Open consortium.)

   SQL/CLI      :


    CLI  ,     SQL

    Client-Server         
       

           Client-server

  SQL/CLI Timing

      ,  SQL/CLI  
   .


     SQL/CLI      1992 SQL (SQL-92)

       ISO  1995

    ISO/IEC 9075-3:1995 Information technology -- Database languages --
     SQL -- Part 3: Call-Level Interface (SQL/CLI)

      SQL/CLI      
         SQL3

  [1m23.13.   4 - ISO/ANSI SQL Persistent Stored Modules[0m

   SQL/PSM   SQL :


    / 

    Multi-statement  Stored Procedures

        

          , 
  SQL/PSM      
    SQL3.

  Multi-statement  Stored Procedures


   Multi-statement  stored procedures   
      client/server:


    -    stored procedure    
     SQL ,       (client).

     -         
      stored procedure        
              

      -     stored procedure
              client
          .

     -         
      .

  / 

          
    SQL       
    .

    


    If-then-else

    Looping constructs

    Exception handling

    Case statement

    Begin-End blocks

        
  :


     

     Set   

           

  ,    SQL    
    multi-statement.

         
           
    ,      ,  
        
            
  .


        site     
          

           

            (
     )      
  .
    SQL/PSM

   SQL/PSM   :


     SQL/PSM     SQL-92

          SQL/PSM   Draft 
             1996.

          1996     

         PSM   
     30    4   1996

            
       PSM   1996.

        : ISO/IEC DIS 9075-4:199?
     Information technology -- Database languages -- SQL -- Part 4: SQL
     Persistent Stored Modules (SQL/PSM)

            SQL/PSM 
       SQL3.

  [1m23.14.   5 -  -  ISO/ANSI SQL/ ISO/ANSI[0m
  [1mSQL/Bindings[0m

    ,  ,   
        . 
           
  SQL-92( (dynamic)   (embedded)).

         .

     ,    
     SQL-92.   ,      
       SQL    
   ..

     ,     
       SQL     
   SQL       .

           
       .

           
  SQL3.

  [1m23.15.   6 - ISO/ANSI SQL XA Interface Specialization (SQL/XA)[0m

         interface
  (API)      (Transaction
  Manager)     (Resource Manager) SQL.  
     ,    
  ISO/IEC 10026, "Distributed Transaction Processing",  
    SQL    ,    commit
    (two-phase commit)      
     X/Open,     X/Open,  
          
  (semantics),    : xa_close, xa_commit,
  xa_complete, xa_end, xa_forget,xa_open, xa_prepare, xa_recover,
  xa_rollback,  xa_start.


   ISO       X/Open XA. 
       
  .      XA  ISO SC21, JTC  1, 
   27 , 1995    27 , 1995.   75
        XA,    2/3 
  p-  JTC 1,     .   
   ,  SQL/XA         1996.

  [1m23.16.  Part 7 - ISO/ANSI SQL Temporal[0m

   Temporal SQL     .   
             
     .   Temporal SQL   paper 
    1994   Rick Snodgrass    
  .

   X3      , ISO/IEC 9075  7: 
  SQL/Temporal        SQL/Temporal.


       ----------------------------------------------------------------------------
                                       Temporal SQL
                                       ************
       Rick Snodgrass (   TSQL2)
       31--1994




          SQL3
  (     DBL RIO-75,      
   SQL     (temporal) ).  
          (abstract data
  types -ADT's)    .    
  , , ,   ,
          
      . ,   
  ,       SQL,  
    SQL    (procedural) .  
      TSQL2,    
  SQL-92.

  [1m23.16.1.  [0m

      (Valid-time)    
      (ADT).  ,  
      ,   DATE   INTERVAL
  (   ).     ,  
         , 
     .    (timestamp)
           (valid-time
  table)          
            
  .         
       .

  [1m23.16.2.   -  / [0m

          
      ,       
  ,    ,     . 
        .


               Employee(Name, Salary, Title)

     ,       
  .


               SELECT Salary
               FROM Employee
               WHERE Name = 'Bob'




           
  .     ,     ,  
     .


               Employee(Name, Salary, Title, DateofBirth DATE)




              
   .


               SELECT DateofBirth
               FROM Employee
               WHERE Name = 'Bob'




  [1m23.16.3.   -   [0m

          
     .    ,  
  ,         
  ,        .

  Employee (Name, Salary, Title, DateofBirth, Start DATE, Stop DATE)

    ,        
  DateofBirth.  ,      
  .

  [1m23.16.4.   -  (PROJECTION)[0m

         ,   
   .


               SELECT Salary
               FROM Employee
               WHERE Name = 'Bob'  Start <= CURRENT_DATE  CURRENT_DATE <= Stop




           .  
       .     
         . , 
   ,         .
  ,      SQL.     
       .


  Name    Salary  Title             DateofBirth   Start           Stop
  ----    ------  -----             -----------   -----           ----
  Bob     60000   Assistant Provost 1945-04-09    1993-01-01      1993-05-30
  Bob     70000   Assistant Provost 1945-04-09    1993-06-01      1993-09-30
  Bob     70000   Provost           1945-04-09    1993-10-01      1994-01-31
  Bob     70000   Professor         1945-04-09    1994-02-01      1994-12-31

                                  1




           Bob 
    $70,000.          
     Bob.


       Name    Salary  Start           Stop
       ----    ------  -----           ----
       Bob     60000   1993-01-01      1993-05-30
       Bob     70000   1993-06-01      1994-12-31




           
     ,       
      .        
  .  ,       SQL
  .


       CREATE TABLE Temp(Salary, Start, Stop)
       AS      SELECT Salary, Start, Stop
               FROM Employee;




  


               UPDATE Temp T1
               SET (T1.Stop) = (SELECT MAX(T2.Stop)
                                FROM Temp AS T2
                                WHERE T1.Salary = T2.Salary  T1.Start < T2.Start
                                        T1.Stop >= T2.Start  T1.Stop < T2.Stop)
               WHERE EXISTS (SELECT *
                             FROM Temp AS T2
                             WHERE T1.Salary = T2.Salary  T1.Start < T2.Start
                                        T1.Stop >= T2.Start  T1.Stop < T2.Stop)
                    ;

       DELETE FROM Temp T1

       WHERE EXISTS (SELECT *
                     FROM Temp AS T2
                     WHERE T1.Salary = T2.Salary
                                ((T1.Start > T2.Start  T1.Stop <= T2.Stop)
                               OR (T1.Start >= T2.Start  T1.Stop < T2.Stop))




           
         .    N
     ,   N     
           . 
          
          .

        SQL   
     (cursor)  .   
     ,      . 
     .


       DECLARE emp_cursor CURSOR FOR
               SELECT Salary, Title, Start, Stop
               FROM Employee;
       OPEN emp_cursor;
       loop:
               FETCH emp_cursor INTO :salary, :start, :stop;
               if no-data returned then goto finished;
               find position in linked list to insert this information;
               goto loop;
       finished:
       CLOSE emp_cursor;




        

            
      ORDER BY Start.

    ,  ,    ,   
        SQL-92.   
    TSQL2.


               SELECT Salary
               FROM Employee




  [1m23.16.5.   -  (JOIN)[0m

           
          
     ,      
  (,    ,  ).


               Employee1 (Name, Salary, Start DATE, Stop DATE)
               Employee2 (Name, Title, Start DATE, Stop DATE)




    Employee1   .


       Name    Salary  Start           Stop
       ----    ------  -----           ----
       Bob     60000   1993-01-01      1993-05-30
       Bob     70000   1993-06-01      1993-12-31



       Employee2  .


       Name    Title                   Start           Stop
       ----    ------                  -----           ----
       Bob     Assistant Provost       1993-01-01      1993-09-30
       Bob     Provost                 1993-10-01      1994-01-31
       Bob     Professor               1994-02-01      1994-12-31




     ,        
     .


               SELECT Salary, Start, Stop
               FROM Employee1
               WHERE Name = 'Bob'




             ,
    (,     ..   
      1);      
            
  .    ,    
  SQL. ,         
       Employee1    Employee2.
     .


       SELECT Employee1.Name, Salary, Dept, Employee1.Start, Employee1.Stop
       FROM Employee1, Employee2
       WHERE Employee1.Name = Employee2.Name
            and Employee2.Start <= Employee1.Start and Employee1.Stop < Employee2.Stop
       UNION
       SELECT Employee1.Name, Salary, Dept, Employee1.Start, Employee2.Stop
       FROM Employee1, Employee2
       WHERE Employee1.Name = Employee2.Name
            and Employee1.Start >= Employee2.Start and Employee2.Stop < Employee1.Stop
                Employee1.Start < Employee2.Stop
       UNION
       SELECT Employee1.Name, Salary, Dept, Employee2.Start, Employee1.Stop
       FROM Employee1, Employee2
       WHERE Employee1.Name = Employee2.Name
            and Employee2.Start > Employee1.Start and Employee1.Stop < Employee2.Stop
               and Employee2.Start < Employee1.Stop
       UNION
       SELECT Employee1.Name, Salary, Dept, Employee2.Start, Employee2.Stop
       FROM Employee1, Employee2
       WHERE Employee1.Name = Employee2.Name
            and Employee2.Start > Employee1.Start and Employee2.Stop < Employee1.Stop




           
   .   TSQL2,      
  (temporal join)     .





          SELECT Employee1.Name, Salary, Dept
          FROM Employee1, Employee2
          WHERE Employee1.Name = Employee2.Name




  [1m23.16.6.   -   (AGGREGATES)[0m

    .. ,     ;  
    ,   .


               SELECT MAX(Salary)
               FROM Employee




        ,   
        .    ,
    SQL     .  
      ,       
       . ,  
           
     ,     .     
           
  .


               SELECT Salary
               FROM Employee AS E1
               WHERE NOT EXISTS (SELECT *
                                 FROM Employee AS E2
                                 WHERE E2.Salary > E1.Salary)




            
  .     .


       CREATE TABLE Temp (Salary, Start, Stop)
       AS      SELECT Salary, Start, Stop
               FROM Employee;
       INSERT INTO Temp
               SELECT T.Salary, T.Start, E.Start
               FROM Temp AS T, Employee AS E
               WHERE E.Start >= T.Start and E.Start < T.Stop and E.Salary > T.Salary;

       INSERT INTO Temp
               SELECT T.Salary, T.Stop, E.Stop
               FROM Temp AS T, Employee AS E
               WHERE E.Stop > T.Start and E.Stop <= T.Stop and E.Salary > T.Salary;
       DELETE FROM Temp T
       WHERE EXISTS (SELECT *
                     FROM Employee AS E
                     WHERE ((T.Start => E.Start and T.Start < E.Stop)
                               OR (E.Start >= T.Start and E.Start < T.Stop))
                            E.Salary > T.Salary;




        .  
           
         . 
           
     - (subquery),    NOT EXISTS.
  ,        ,
           . 
    ,   SQL  
     ,   
   (nested)      
   .

     ,    SQL  
  ,        
         .

     TSQL2  .


               SELECT MAX(Salary)
               FROM Employee




  [1m23.16.7.  [0m

          
           . 
   -    SQL.  
           SQL,
      SQL    /  
  (procedural),      - 
         SQL.

    ,     -  
      DBMS,     
   ,    ,    
         
      .

       SQL3     
  ,        ,
    SQL3      .



       ----------------------------------------------------------------------------
                    * X3,  
        

       . :       PR/96-0002

        :       Barbara Bennett  bbennett@itic.nw.dc.us

                    X3      , ISO/IEC

                                9075  7:  SQL/Temporal

       Washington D.C.,  1996
       ----------------------------------------------------------------------------




  --    X3,   
          SQL
  (SQL/Temporal), ISO/IEC 9075  7.     
          SQL3, ..,
    7,  SQL,     SQL 
     ,      
    SQL  .     X3H2
     11-14   1996  .

           


               Chairman of X3H2,
               Dr. Donald R. Deutsch,
               Sybase, Inc., Suite 800,
               6550 Rock Spring
               Drive, Bethesda, MD  20817.
               Email: deutsch@sybase.com.




          (
  ,  ) (copyrights, trademarks)  
   .        


               X3 Secretariat at
               1250 Eye Street
               NW, Suite 200,
               Washington DC  20005.
               Email: x3sec@itic.nw.dc.us
               FAX:  (202)638-4922.




  [1m23.17.   8 - ISO/ANSI  SQL (SQL MULTIMEDIA - SQL/MM)[0m

       ISO/IEC    
    SQL (SQL class library)   
       1993.     
  ,  SQL Multimedia (SQL/MM),   
       SQL (abstract data type- ADT)
         ADT  
         SQL3. 
  SQL/MM          
    ,  full-text  ,  
        , ,
  animation, ,  .      SQL language
  binding     JTC1  
  (.. SC18  , SC24  ,  SC29   
   ).

         SQL/MM     
          
  .    1     (Framework)  
        .    
   ,        SQL
  .       SQL/MM   
    1994:


     1: .        .

     2:    ADTs   
     .   45 .

     3:    ADTs    .
       200       
     ,   3 .

     4:     ADTs   .
          
     , , , .       90
     .

           
   :


    ANSI X3L1 - Geographic Information Systems.  Mark Ashworth of
     Unisys is the liason between X3L1  ANSI X3H2. He is also the
     editor for parts 1, 3,  4 of the SQL/MM draft.

    ISO TC 211 - Geographic information/Geomatics

  [1m24.      PostgreSQL[0m

         
      e-mail :

    pgsql-questions@postgresql.org

          e-mail     .
           internet  ,  
         ,  internet  
             .
        Email       
          cut  paste  
     ,     .     
       /newsgroup.

    ,    PostgreSQL   
    / ,      
       mirror sites (web  ftp) 
    .        
  , ,      .

          
  Anderson, WGS (Work Group Solutions).    
   -

    Work Group Solutions  <http://www.wgs.com>

    Anderson Consulting  <http://www.ac.com>

  [1m25.     [0m

       ,   :
  , , , , 
  ,   ,   
  ,   marketing  .     
        .   
   ,        ,
          R&D.

    , ,     /
      Unix,      
  .         .

   PostgreSQL        
        internet.  
        PostgreSQL. 
  ,    ,    
         10 $ ( 
   PostgreSQL)       
  !!     [1m [22m    internet.

   ,     PostgreSQL   2,00,000
     "C", "C++".       "C"
   $ 2      PostgreSQL    $
  4,00,000 (  !).

         "C",
  "C++". ,        PostgreSQL  
       internet    
      .

  [1m26.     [0m

      SQL    Unix, Linux.

        Applications->databases.
     <http://www.caldera.com/tech-ref/linuxapps/linapps.html>

        Applications->databases.
     <http://www.xnet.com/~blatura/linapps.shtml>

         <http://linas.org/linux/db.html>
        Linas Vepstas: linas@fc.net

      
     <http://cuiwww.unige.ch:80/~scg/FreeDB/FreeDB.list.html>

     RDBMS  Browne <http://www.hex.net/~cbbrowne/rdbms.html>
        Christopher B. Browne cbbrowne@hex.net

      DBMS  SAL <http://SAL.KachinaTech.COM/H/1/>

      DBMS  SAL
     <http://SAL.KachinaTech.COM/H/2/>

           SAL
     <http://SAL.KachinaTech.COM/H/3/>

    ACM SIGMOD.      
      <http://bunny.cs.uiuc.edu/sigmod/databaseSoftware/>

  [1m27.       Internet World Wide Web[0m

   Internet  ,     
         .  
   300%     .    
  10  Web sites    !

          
    "Yahoo", "Netscape", "Lycos" .   Yahoo 
    search.       
     .  default 
     " " ("Intelligent search")  
        .   ""
  ("Options")      " "("EXACT
  phrase"),   "AND",  "OR", .      
        .

  [1m28.  [0m

            [1m [22m 
      ,    
  PostgreSQL    ,   
   ,   RDBMS SQL (-), 
  .

   PostgreSQL         
  ,    ODBC, JDBC      
     .     
  PostgreSQL    ODBC, JDBC    
   ,  Oracle, Sybase  Informix.  ,  
     Oracle, Sybase  Informix    ODBC,
  JDBC     PostgreSQL.

     "  PostgreSQL ;"    
            
      ,      
         -

     

          

          ,   
       

        internet

          .

           SQL 3 (SQL 98)

        

           'PostgreSQL'   
                
     .

  [1m29.        PostgreSQL[0m

       FAQ  General, Linux  Irix
  

    <http://www.postgresql.org/docs/faq-english.shtml>

  [1m30.    [0m

    (c) 1997  Al Dev (Alavoor Vasudevan).  
    .

      .    
          
  (  ,  , ,
  ,  /  ,  , 
   ,  ,  
  ,    )     
    .

       , ,  
  .   ,       
           
  .       
           
  .          
       //
  /         
    .

  [1mAE.   A -   ANSI/ISO SQL 1992[0m

































































            (depth-first tree traversal)  BNF   ,    27--1992 11:03:41.64.
      BNF     :  ANSI-only, SQL2-only.


  <SQL terminal character> ::=
        <SQL language character>
      | <SQL embedded language character>

  <SQL language character> ::=
        <simple Latin letter>
      | <digit>
      | <SQL special character>

  <simple Latin letter> ::=
        <simple Latin upper case letter>
      | <simple Latin lower case letter>

  <simple Latin upper case letter> ::=
            A | B | C | D | E | F | G | H | I | J | K | L | M | N | O
      | P | Q | R | S | T | U | V | W | X | Y | Z

  <simple Latin lower case letter> ::=
            a | b | c | d | e | f | g | h | i | j | k | l | m | n | o
      | p | q | r | s | t | u | v | w | x | y | z

  <digit> ::=
      0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

  <SQL special character> ::=
        <space>
      | <double quote>
      | <percent>
      | <ampersand>
      | <quote>
      | <left paren>
      | <right paren>
      | <asterisk>
      | <plus sign>
      | <comma>
      | <minus sign>
      | <period>
      | <solidus>
      | <colon>
      | <semicolon>
      | <less than operator>
      | <equals operator>
      | <greater than operator>
      | <question mark>
      | <underscore>
      | <vertical bar>

  <space> ::= !! <EMPHASIS>(space character in character set in use)

  <double quote> ::= "

  <percent> ::= %

  <ampersand> ::= &

  <quote> ::= '

  <left paren> ::= (

  <right paren> ::= )

  <asterisk> ::= *
  <plus sign> ::= +

  <comma> ::= ,

  <minus sign> ::= -

  <period> ::= .

  <solidus> ::= /

  <colon> ::= :

  <semicolon> ::= ;

  <less than operator> ::= <

  <equals operator> ::= =

  <greater than operator> ::= >

  <question mark> ::= ?

  <underscore> ::= _

  <vertical bar> ::= |

  <SQL embedded language character> ::=
        <left bracket>
      | <right bracket>

  <left bracket> ::= [

  <right bracket> ::= ]

  <token> ::=
        <nondelimiter token>
      | <delimiter token>

  <nondelimiter token> ::=
        <regular identifier>
      | <key word>
      | <unsigned numeric literal>
      | <national character string literal>
      | <bit string literal>
      | <hex string literal>

  <regular identifier> ::= <identifier body>

  <identifier body> ::=
      <identifier start> [ ( <underscore> | <identifier part> )... ]

  <identifier start> ::= <EMPHASIS>(!! See the Syntax Rules)

  <identifier part> ::=
        <identifier start>
      | <digit>

  <key word> ::=
        <reserved word>
      | <non-reserved word>

  <reserved word> ::=
        ABSOLUTE | ACTION | ADD | ALL
      | ALLOCATE | ALTER | AND
      | ANY | ARE
      | AS | ASC
      | ASSERTION | AT
      | AUTHORIZATION | AVG
      | BEGIN | BETWEEN | BIT | BIT_LENGTH
      | BOTH | BY
      | CASCADE | CASCADED | CASE | CAST
      | CATALOG
      | CHAR | CHARACTER | CHAR_LENGTH
      | CHARACTER_LENGTH | CHECK | CLOSE | COALESCE
      | COLLATE | COLLATION
      | COLUMN | COMMIT
      | CONNECT
      | CONNECTION | CONSTRAINT
      | CONSTRAINTS | CONTINUE
      | CONVERT | CORRESPONDING | COUNT | CREATE | CROSS
      | CURRENT
      | CURRENT_DATE | CURRENT_TIME
      | CURRENT_TIMESTAMP | CURRENT_USER | CURSOR
      | DATE | DAY | DEALLOCATE | DEC
      | DECIMAL | DECLARE | DEFAULT | DEFERRABLE
      | DEFERRED | DELETE | DESC | DESCRIBE | DESCRIPTOR
      | DIAGNOSTICS
      | DISCONNECT | DISTINCT | DOMAIN | DOUBLE | DROP
      | ELSE | END | END-EXEC | ESCAPE
      | EXCEPT | EXCEPTION
      | EXEC | EXECUTE | EXISTS
      | EXTERNAL | EXTRACT
      | FALSE | FETCH | FIRST | FLOAT | FOR
      | FOREIGN | FOUND | FROM | FULL
      | GET | GLOBAL | GO | GOTO
      | GRANT | GROUP
      | HAVING | HOUR
      | IDENTITY | IMMEDIATE | IN | INDICATOR
      | INITIALLY | INNER | INPUT
      | INSENSITIVE | INSERT | INT | INTEGER | INTERSECT
      | INTERVAL | INTO | IS
      | ISOLATION
      | JOIN
      | KEY
      | LANGUAGE | LAST | LEADING | LEFT
      | LEVEL | LIKE | LOCAL | LOWER
      | MATCH | MAX | MIN | MINUTE | MODULE
      | MONTH
      | NAMES | NATIONAL | NATURAL | NCHAR | NEXT | NO
      | NOT | NULL
      | NULLIF | NUMERIC
      | OCTET_LENGTH | OF
      | ON | ONLY | OPEN | OPTION | OR
      | ORDER | OUTER
      | OUTPUT | OVERLAPS
      | PAD | PARTIAL | POSITION | PRECISION | PREPARE
      | PRESERVE | PRIMARY
      | PRIOR | PRIVILEGES | PROCEDURE | PUBLIC
      | READ | REAL | REFERENCES | RELATIVE | RESTRICT
      | REVOKE | RIGHT
      | ROLLBACK | ROWS
      | SCHEMA | SCROLL | SECOND | SECTION
      | SELECT
      | SESSION | SESSION_USER | SET
      | SIZE | SMALLINT | SOME | SPACE | SQL | SQLCODE
      | SQLERROR | SQLSTATE
      | SUBSTRING | SUM | SYSTEM_USER
      | TABLE | TEMPORARY
      | THEN | TIME | TIMESTAMP
      | TIMEZONE_HOUR | TIMEZONE_MINUTE
      | TO | TRAILING | TRANSACTION
      | TRANSLATE | TRANSLATION | TRIM | TRUE
      | UNION | UNIQUE | UNKNOWN | UPDATE | UPPER | USAGE
      | USER | USING
      | VALUE | VALUES | VARCHAR | VARYING | VIEW
      | WHEN | WHENEVER | WHERE | WITH | WORK | WRITE
      | YEAR
      | ZONE

  <non-reserved word> ::=

        ADA
      | C | CATALOG_NAME
      | CHARACTER_SET_CATALOG | CHARACTER_SET_NAME
      | CHARACTER_SET_SCHEMA | CLASS_ORIGIN | COBOL | COLLATION_CATALOG
      | COLLATION_NAME | COLLATION_SCHEMA | COLUMN_NAME | COMMAND_FUNCTION
      | COMMITTED
      | CONDITION_NUMBER | CONNECTION_NAME | CONSTRAINT_CATALOG | CONSTRAINT_NAME
      | CONSTRAINT_SCHEMA | CURSOR_NAME
      | DATA | DATETIME_INTERVAL_CODE
      | DATETIME_INTERVAL_PRECISION | DYNAMIC_FUNCTION
      | FORTRAN
      | LENGTH
      | MESSAGE_LENGTH | MESSAGE_OCTET_LENGTH | MESSAGE_TEXT | MORE | MUMPS
      | NAME | NULLABLE | NUMBER
      | PASCAL | PLI
      | REPEATABLE | RETURNED_LENGTH | RETURNED_OCTET_LENGTH | RETURNED_SQLSTATE
      | ROW_COUNT
      | SCALE | SCHEMA_NAME | SERIALIZABLE | SERVER_NAME | SUBCLASS_ORIGIN
      | TABLE_NAME | TYPE
      | UNCOMMITTED | UNNAMED

  <unsigned numeric literal> ::=
        <exact numeric literal>
      | <approximate numeric literal>

  <exact numeric literal> ::=
        <unsigned integer> [ <period> [ <unsigned integer> ] ]
      | <period> <unsigned integer>

  <unsigned integer> ::= <digit>...

  <approximate numeric literal> ::= <mantissa> E <exponent>

  <mantissa> ::= <exact numeric literal>

  <exponent> ::= <signed integer>

  <signed integer> ::= [ <sign> ] <unsigned integer>

  <sign> ::= <plus sign> | <minus sign>

  <national character string literal> ::=
      N <quote> [ <character representation>... ] <quote>
        [ ( <separator>... <quote> [ <character representation>... ] <quote> )... ]

  <character representation> ::=
        <nonquote character>
      | <quote symbol>

  <nonquote character> ::= !! <EMPHASIS>(See the Syntax Rules.)

  <quote symbol> ::= <quote><quote>

  <separator> ::= ( <comment> | <space> | <newline> )...

  <comment> ::=
      <comment introducer> [ <comment character>... ] <newline>
  <comment introducer> ::= <minus sign><minus sign>[<minus sign>...]

  <comment character> ::=
        <nonquote character>
      | <quote>

  <newline> ::= !! <EMPHASIS>(implementation-defined end-of-line indicator)

  <bit string literal> ::=
      B <quote> [ <bit>... ] <quote>
        [ ( <separator>... <quote> [ <bit>... ] <quote> )... ]

  <bit> ::= 0 | 1

  <hex string literal> ::=
      X <quote> [ <hexit>... ] <quote>
        [ ( <separator>... <quote> [ <hexit>... ] <quote> )... ]

  <hexit> ::= <digit> | A | B | C | D | E | F | a | b | c | d | e | f

  <delimiter token> ::=
        <character string literal>
      | <date string>
      | <time string>
      | <timestamp string>
      | <interval string>
      | <delimited identifier>
      | <SQL special character>
      | <not equals operator>
      | <greater than or equals operator>
      | <less than or equals operator>
      | <concatenation operator>
      | <double period>
      | <left bracket>
      | <right bracket>

  <character string literal> ::=
      [ <introducer><character set specification> ]
      <quote> [ <character representation>... ] <quote>
        [ ( <separator>... <quote> [ <character representation>... ] <quote> )... ]

  <introducer> ::= <underscore>

  <character set specification> ::=
        <standard character repertoire name>
      | <implementation-defined character repertoire name>
      | <user-defined character repertoire name>
      | <standard universal character form-of-use name>
      | <implementation-defined universal character form-of-use name>

  <standard character repertoire name> ::= <character set name>

  <character set name> ::= [ <schema name> <period> ]
        <SQL language identifier>

  <schema name> ::=
      [ <catalog name> <period> ] <unqualified schema name>

  <catalog name> ::= <identifier>

  <identifier> ::=
      [ <introducer><character set specification> ] <actual identifier>

  <actual identifier> ::=
        <regular identifier>
      | <delimited identifier>
  <delimited identifier> ::=
      <double quote> <delimited identifier body> <double quote>

  <delimited identifier body> ::= <delimited identifier part>...

  <delimited identifier part> ::=
        <nondoublequote character>
      | <doublequote symbol>

  <nondoublequote character> ::= <EMPHASIS>(!! See the Syntax Rules)

  <doublequote symbol> ::= <double quote><double quote>

  <unqualified schema name> ::= <identifier>

  <SQL language identifier> ::=
      <SQL language identifier start>
         [ ( <underscore> | <SQL language identifier part> )... ]

  <SQL language identifier start> ::= <simple Latin letter>

  <SQL language identifier part> ::=
        <simple Latin letter>
      | <digit>

  <implementation-defined character repertoire name> ::=
      <character set name>

  <user-defined character repertoire name> ::= <character set name>

  <standard universal character form-of-use name> ::=
      <character set name>

  <implementation-defined universal character form-of-use name> ::=
      <character set name>

  <date string> ::=
      <quote> <date value> <quote>

  <date value> ::=
      <years value> <minus sign> <months value>
          <minus sign> <days value>

  <years value> ::= <datetime value>

  <datetime value> ::= <unsigned integer>

  <months value> ::= <datetime value>

  <days value> ::= <datetime value>

  <time string> ::=
      <quote> <time value> [ <time zone interval> ] <quote>

  <time value> ::=
      <hours value> <colon> <minutes value> <colon> <seconds value>

  <hours value> ::= <datetime value>

  <minutes value> ::= <datetime value>

  <seconds value> ::=
        <seconds integer value> [ <period> [ <seconds fraction> ] ]

  <seconds integer value> ::= <unsigned integer>

  <seconds fraction> ::= <unsigned integer>

  <time zone interval> ::=
      <sign> <hours value> <colon> <minutes value>

  <timestamp string> ::=
      <quote> <date value> <space> <time value>
          [ <time zone interval> ] <quote>

  <interval string> ::=
      <quote> ( <year-month literal> | <day-time literal> ) <quote>

  <year-month literal> ::=
        <years value>
      | [ <years value> <minus sign> ] <months value>

  <day-time literal> ::=
        <day-time interval>
      | <time interval>

  <day-time interval> ::=
      <days value>
        [ <space> <hours value> [ <colon> <minutes value>
          [ <colon> <seconds value> ] ] ]

  <time interval> ::=
        <hours value> [ <colon> <minutes value> [ <colon> <seconds value> ] ]
      | <minutes value> [ <colon> <seconds value> ]
      | <seconds value>

  <not equals operator> ::= <>

  <greater than or equals operator> ::= >=

  <less than or equals operator> ::= <=

  <concatenation operator> ::= ||

  <double period> ::= ..

  <module> ::=
      <module name clause>
      <language clause>
      <module authorization clause>
      [ <temporary table declaration>... ]
      <module contents>...

  <module name clause> ::=
      MODULE [ <module name> ]
        [ <module character set specification> ]

  <module name> ::= <identifier>

  <module character set specification> ::=
      NAMES ARE <character set specification>

  <language clause> ::=
      LANGUAGE <language name>

  <language name> ::=
      ADA | C | COBOL | FORTRAN | MUMPS | PASCAL | PLI

  <module authorization clause> ::=
        SCHEMA <schema name>
      | AUTHORIZATION <module authorization identifier>
      | SCHEMA <schema name>
            AUTHORIZATION <module authorization identifier>

  <module authorization identifier> ::=
      <authorization identifier>

  <authorization identifier> ::= <identifier>

  <temporary table declaration> ::=
      DECLARE LOCAL TEMPORARY TABLE
          <qualified local table name>
        <table element list>
        [ ON COMMIT ( PRESERVE | DELETE ) ROWS ]

  <qualified local table name> ::=
      MODULE <period> <local table name>

  <local table name> ::= <qualified identifier>

  <qualified identifier> ::= <identifier>

  <table element list> ::=
        <left paren> <table element> [ ( <comma> <table element> )... ] <right paren>

  <table element> ::=
        <column definition>
      | <table constraint definition>

  <column definition> ::=
      <column name> ( <data type> | <domain name> )
      [ <default clause> ]
      [ <column constraint definition>... ]
      [ <collate clause> ]

  <column name> ::= <identifier>

  <data type> ::=
        <character string type>
             [ CHARACTER SET <character set specification> ]
      | <national character string type>
      | <bit string type>
      | <numeric type>
      | <datetime type>
      | <interval type>

  <character string type> ::=
        CHARACTER [ <left paren> <length> <right paren> ]
      | CHAR [ <left paren> <length> <right paren> ]
      | CHARACTER VARYING <left paren> <length> <right paren>
      | CHAR VARYING <left paren> <length> <right paren>
      | VARCHAR <left paren> <length> <right paren>

  <length> ::= <unsigned integer>

  <national character string type> ::=
        NATIONAL CHARACTER [ <left paren> <length> <right paren> ]
      | NATIONAL CHAR [ <left paren> <length> <right paren> ]
      | NCHAR [ <left paren> <length> <right paren> ]
      | NATIONAL CHARACTER VARYING <left paren> <length> <right paren>
      | NATIONAL CHAR VARYING <left paren> <length> <right paren>
      | NCHAR VARYING <left paren> <length> <right paren>

  <bit string type> ::=
        BIT [ <left paren> <length> <right paren> ]
      | BIT VARYING <left paren> <length> <right paren>

  <numeric type> ::=
        <exact numeric type>
      | <approximate numeric type>

  <exact numeric type> ::=
        NUMERIC [ <left paren> <precision> [ <comma> <scale> ] <right paren> ]
      | DECIMAL [ <left paren> <precision> [ <comma> <scale> ] <right paren> ]
      | DEC [ <left paren> <precision> [ <comma> <scale> ] <right paren> ]
      | INTEGER
      | INT
      | SMALLINT

  <precision> ::= <unsigned integer>

  <scale> ::= <unsigned integer>

  <approximate numeric type> ::=
        FLOAT [ <left paren> <precision> <right paren> ]
      | REAL
      | DOUBLE PRECISION

  <datetime type> ::=
        DATE
      | TIME [ <left paren> <time precision> <right paren> ]
            [ WITH TIME ZONE ]
      | TIMESTAMP [ <left paren> <timestamp precision> <right paren> ]
            [ WITH TIME ZONE ]

  <time precision> ::= <time fractional seconds precision>

  <time fractional seconds precision> ::= <unsigned integer>

  <timestamp precision> ::= <time fractional seconds precision>

  <interval type> ::= INTERVAL <interval qualifier>

  <interval qualifier> ::=
        <start field> TO <end field>
      | <single datetime field>

  <start field> ::=
      <non-second datetime field>
          [ <left paren> <interval leading field precision> <right paren> ]

  <non-second datetime field> ::= YEAR | MONTH | DAY | HOUR
      | MINUTE

  <interval leading field precision> ::= <unsigned integer>

  <end field> ::=
        <non-second datetime field>
      | SECOND [ <left paren> <interval fractional seconds precision> <right paren> ]

  <interval fractional seconds precision> ::= <unsigned integer>

  <single datetime field> ::=
        <non-second datetime field>
            [ <left paren> <interval leading field precision> <right paren> ]
      | SECOND [ <left paren> <interval leading field precision>
            [ <comma> <interval fractional seconds precision> ] <right paren> ]

  <domain name> ::= <qualified name>

  <qualified name> ::=
      [ <schema name> <period> ] <qualified identifier>

  <default clause> ::=
        DEFAULT <default option>

  <default option> ::=
        <literal>
      | <datetime value function>
      | USER
      | CURRENT_USER
      | SESSION_USER
      | SYSTEM_USER
      | NULL

  <literal> ::=
        <signed numeric literal>
      | <general literal>

  <signed numeric literal> ::=
      [ <sign> ] <unsigned numeric literal>

  <general literal> ::=
        <character string literal>
      | <national character string literal>
      | <bit string literal>
      | <hex string literal>
      | <datetime literal>
      | <interval literal>

  <datetime literal> ::=
        <date literal>
      | <time literal>
      | <timestamp literal>

  <date literal> ::=
      DATE <date string>

  <time literal> ::=
      TIME <time string>

  <timestamp literal> ::=
      TIMESTAMP <timestamp string>

  <interval literal> ::=
      INTERVAL [ <sign> ] <interval string> <interval qualifier>

  <datetime value function> ::=
        <current date value function>
      | <current time value function>
      | <current timestamp value function>

  <current date value function> ::= CURRENT_DATE

  <current time value function> ::=
        CURRENT_TIME [ <left paren> <time precision> <right paren> ]

  <current timestamp value function> ::=
        CURRENT_TIMESTAMP [ <left paren> <timestamp precision> <right paren> ]

  <column constraint definition> ::=
      [ <constraint name definition> ]
      <column constraint>
        [ <constraint attributes> ]

  <constraint name definition> ::= CONSTRAINT <constraint name>

  <constraint name> ::= <qualified name>

  <column constraint> ::=
        NOT NULL
      | <unique specification>
      | <references specification>
      | <check constraint definition>

  <unique specification> ::=
      UNIQUE | PRIMARY KEY

  <references specification> ::=
      REFERENCES <referenced table and columns>
        [ MATCH <match type> ]
        [ <referential triggered action> ]

  <referenced table and columns> ::=
       <table name> [ <left paren> <reference column list> <right paren> ]

  <table name> ::=
        <qualified name>
      | <qualified local table name>

  <reference column list> ::= <column name list>

  <column name list> ::=
      <column name> [ ( <comma> <column name> )... ]

  <match type> ::=
        FULL
      | PARTIAL

  <referential triggered action> ::=
        <update rule> [ <delete rule> ]
      | <delete rule> [ <update rule> ]

  <update rule> ::= ON UPDATE <referential action>

  <referential action> ::=
        CASCADE
      | SET NULL
      | SET DEFAULT
      | NO ACTION

  <delete rule> ::= ON DELETE <referential action>

  <check constraint definition> ::=
      CHECK
          <left paren> <search condition> <right paren>

  <search condition> ::=
        <boolean term>
      | <search condition> OR <boolean term>

  <boolean term> ::=
        <boolean factor>
      | <boolean term> AND <boolean factor>

  <boolean factor> ::=
      [ NOT ] <boolean test>

  <boolean test> ::=
      <boolean primary> [ IS [ NOT ]
            <truth value> ]

  <boolean primary> ::=
        <predicate>
      | <left paren> <search condition> <right paren>

  <predicate> ::=
        <comparison predicate>
      | <between predicate>
      | <in predicate>
      | <like predicate>
      | <null predicate>
      | <quantified comparison predicate>
      | <exists predicate>
      | <unique predicate>
      | <match predicate>
      | <overlaps predicate>

  <comparison predicate> ::=
      <row value constructor> <comp op>
          <row value constructor>

  <row value constructor> ::=
         <row value constructor element>
      | <left paren> <row value constructor list> <right paren>
      | <row subquery>

  <row value constructor element> ::=
        <value expression>
      | <null specification>
      | <default specification>

  <value expression> ::=
        <numeric value expression>
      | <string value expression>
      | <datetime value expression>
      | <interval value expression>

  <numeric value expression> ::=
        <term>
      | <numeric value expression> <plus sign> <term>
      | <numeric value expression> <minus sign> <term>

  <term> ::=
        <factor>
      | <term> <asterisk> <factor>
      | <term> <solidus> <factor>

  <factor> ::=
      [ <sign> ] <numeric primary>

  <numeric primary> ::=
        <value expression primary>
      | <numeric value function>

  <value expression primary> ::=
        <unsigned value specification>
      | <column reference>
      | <set function specification>
      | <scalar subquery>
      | <case expression>
      | <left paren> <value expression> <right paren>
      | <cast specification>

  <unsigned value specification> ::=
        <unsigned literal>
      | <general value specification>

  <unsigned literal> ::=
        <unsigned numeric literal>
      | <general literal>

  <general value specification> ::=
        <parameter specification>
      | <dynamic parameter specification>
      | <variable specification>
      | USER
      | CURRENT_USER
      | SESSION_USER
      | SYSTEM_USER
      | VALUE

  <parameter specification> ::=
      <parameter name> [ <indicator parameter> ]

  <parameter name> ::= <colon> <identifier>

  <indicator parameter> ::=
      [ INDICATOR ] <parameter name>

  <dynamic parameter specification> ::= <question mark>

  <variable specification> ::=
      <embedded variable name> [ <indicator variable> ]

  <embedded variable name> ::=
      <colon><host identifier>

  <host identifier> ::=
        <Ada host identifier>
      | <C host identifier>
      | <COBOL host identifier>
      | <Fortran host identifier>
      | <MUMPS host identifier>
      | <Pascal host identifier>
      | <PL/I host identifier>

  <Ada host identifier> ::= !! <EMPHASIS>(See the Syntax Rules.)

  <C host identifier> ::=
      !! <EMPHASIS>(See the Syntax Rules.)

  <COBOL host identifier> ::= !! <EMPHASIS>(See the Syntax Rules.)

  <Fortran host identifier> ::= !! <EMPHASIS>(See the Syntax Rules.)

  <MUMPS host identifier> ::= !! <EMPHASIS>(See the Syntax Rules.)

  <Pascal host identifier> ::= !! <EMPHASIS>(See the Syntax Rules.)

  <PL/I host identifier> ::= !! <EMPHASIS>(See the Syntax Rules.)

  <indicator variable> ::=
      [ INDICATOR ] <embedded variable name>

  <column reference> ::= [ <qualifier> <period> ] <column name>

  <qualifier> ::=
        <table name>
      | <correlation name>

  <correlation name> ::= <identifier>

  <set function specification> ::=
        COUNT <left paren> <asterisk> <right paren>
      | <general set function>

  <general set function> ::=
        <set function type>
            <left paren> [ <set quantifier> ] <value expression> <right paren>

  <set function type> ::=
      AVG | MAX | MIN | SUM | COUNT

  <set quantifier> ::= DISTINCT | ALL

  <scalar subquery> ::= <subquery>

  <subquery> ::= <left paren> <query expression> <right paren>

  <query expression> ::=
        <non-join query expression>
      | <joined table>

  <non-join query expression> ::=
        <non-join query term>
      | <query expression> UNION  [ ALL ]
            [ <corresponding spec> ] <query term>
      | <query expression> EXCEPT [ ALL ]
            [ <corresponding spec> ] <query term>

  <non-join query term> ::=
        <non-join query primary>
      | <query term> INTERSECT [ ALL ]
            [ <corresponding spec> ] <query primary>

  <non-join query primary> ::=
        <simple table>
      | <left paren> <non-join query expression> <right paren>

  <simple table> ::=
        <query specification>
      | <table value constructor>
      | <explicit table>

  <query specification> ::=
      SELECT [ <set quantifier> ] <select list> <table expression>

  <select list> ::=
        <asterisk>
      | <select sublist> [ ( <comma> <select sublist> )... ]

  <select sublist> ::=
        <derived column>
      | <qualifier> <period> <asterisk>

  <derived column> ::= <value expression> [ <as clause> ]

  <as clause> ::= [ AS ] <column name>

  <table expression> ::=
      <from clause>
      [ <where clause> ]
      [ <group by clause> ]
      [ <having clause> ]

  <from clause> ::= FROM <table reference>
      [ ( <comma> <table reference> )... ]

  <table reference> ::=
        <table name> [ [ AS ] <correlation name>
            [ <left paren> <derived column list> <right paren> ] ]
      | <derived table> [ AS ] <correlation name>
            [ <left paren> <derived column list> <right paren> ]
      | <joined table>

  <derived column list> ::= <column name list>

  <derived table> ::= <table subquery>

  <table subquery> ::= <subquery>

  <joined table> ::=
        <cross join>
      | <qualified join>
      | <left paren> <joined table> <right paren>

  <cross join> ::=
      <table reference> CROSS JOIN <table reference>

  <qualified join> ::=
      <table reference> [ NATURAL ] [ <join type> ] JOIN
        <table reference> [ <join specification> ]

  <join type> ::=
        INNER
      | <outer join type> [ OUTER ]
      | UNION

  <outer join type> ::=
        LEFT
      | RIGHT
      | FULL

  <join specification> ::=
        <join condition>
      | <named columns join>

  <join condition> ::= ON <search condition>

  <named columns join> ::=
      USING <left paren> <join column list> <right paren>

  <join column list> ::= <column name list>

  <where clause> ::= WHERE <search condition>

  <group by clause> ::=
      GROUP BY <grouping column reference list>

  <grouping column reference list> ::=
      <grouping column reference>
          [ ( <comma> <grouping column reference> )... ]

  <grouping column reference> ::=
      <column reference> [ <collate clause> ]

  <collate clause> ::= COLLATE <collation name>

  <collation name> ::= <qualified name>

  <having clause> ::= HAVING <search condition>

  <table value constructor> ::=
      VALUES <table value constructor list>

  <table value constructor list> ::=
      <row value constructor> [ ( <comma> <row value constructor> )... ]

  <explicit table> ::= TABLE <table name>
  <query term> ::=
        <non-join query term>
      | <joined table>

  <corresponding spec> ::=
      CORRESPONDING [ BY <left paren> <corresponding column list> <right paren> ]

  <corresponding column list> ::= <column name list>

  <query primary> ::=
        <non-join query primary>
      | <joined table>

  <case expression> ::=
        <case abbreviation>
      | <case specification>

  <case abbreviation> ::=
        NULLIF <left paren> <value expression> <comma>
              <value expression> <right paren>
      | COALESCE <left paren> <value expression>
              ( <comma> <value expression> )... <right paren>

  <case specification> ::=
        <simple case>
      | <searched case>

  <simple case> ::=
      CASE <case operand>
        <simple when clause>...
        [ <else clause> ]
      END

  <case operand> ::= <value expression>

  <simple when clause> ::= WHEN <when operand> THEN <result>

  <when operand> ::= <value expression>

  <result> ::= <result expression> | NULL

  <result expression> ::= <value expression>

  <else clause> ::= ELSE <result>

  <searched case> ::=
      CASE
        <searched when clause>...
        [ <else clause> ]
      END

  <searched when clause> ::= WHEN <search condition> THEN <result>

  <cast specification> ::=
      CAST <left paren> <cast operand> AS
          <cast target> <right paren>

  <cast operand> ::=
        <value expression>
      | NULL

  <cast target> ::=
        <domain name>
      | <data type>

  <numeric value function> ::=
        <position expression>
      | <extract expression>
      | <length expression>

  <position expression> ::=
      POSITION <left paren> <character value expression>
          IN <character value expression> <right paren>

  <character value expression> ::=
        <concatenation>
      | <character factor>

  <concatenation> ::=
      <character value expression> <concatenation operator>
          <character factor>

  <character factor> ::=
      <character primary> [ <collate clause> ]

  <character primary> ::=
        <value expression primary>
      | <string value function>

  <string value function> ::=
        <character value function>
      | <bit value function>

  <character value function> ::=
        <character substring function>
      | <fold>
      | <form-of-use conversion>
      | <character translation>
      | <trim function>

  <character substring function> ::=
      SUBSTRING <left paren> <character value expression> FROM <start position>
                  [ FOR <string length> ] <right paren>

  <start position> ::= <numeric value expression>

  <string length> ::= <numeric value expression>

  <fold> ::= ( UPPER | LOWER )
       <left paren> <character value expression> <right paren>

  <form-of-use conversion> ::=
      CONVERT <left paren> <character value expression>
          USING <form-of-use conversion name> <right paren>

  <form-of-use conversion name> ::= <qualified name>

  <character translation> ::=
      TRANSLATE <left paren> <character value expression>
          USING <translation name> <right paren>

  <translation name> ::= <qualified name>

  <trim function> ::=
      TRIM <left paren> <trim operands> <right paren>

  <trim operands> ::=
      [ [ <trim specification> ] [ <trim character> ] FROM ] <trim source>

  <trim specification> ::=
        LEADING
      | TRAILING
      | BOTH

  <trim character> ::= <character value expression>

  <trim source> ::= <character value expression>

  <bit value function> ::=
      <bit substring function>

  <bit substring function> ::=
      SUBSTRING <left paren> <bit value expression> FROM <start position>
          [ FOR <string length> ] <right paren>

  <bit value expression> ::=
        <bit concatenation>
      | <bit factor>

  <bit concatenation> ::=
      <bit value expression> <concatenation operator> <bit factor>

  <bit factor> ::= <bit primary>

  <bit primary> ::=
        <value expression primary>
      | <string value function>

  <extract expression> ::=
      EXTRACT <left paren> <extract field>
          FROM <extract source> <right paren>

  <extract field> ::=
        <datetime field>
      | <time zone field>

  <datetime field> ::=
        <non-second datetime field>
      | SECOND

  <time zone field> ::=
        TIMEZONE_HOUR
      | TIMEZONE_MINUTE

  <extract source> ::=
        <datetime value expression>
      | <interval value expression>

  <datetime value expression> ::=
        <datetime term>
      | <interval value expression> <plus sign> <datetime term>
      | <datetime value expression> <plus sign> <interval term>
      | <datetime value expression> <minus sign> <interval term>

  <interval term> ::=
        <interval factor>
      | <interval term 2> <asterisk> <factor>
      | <interval term 2> <solidus> <factor>
      | <term> <asterisk> <interval factor>

  <interval factor> ::=
      [ <sign> ] <interval primary>

  <interval primary> ::=
        <value expression primary> [ <interval qualifier> ]

  <interval term 2> ::= <interval term>

  <interval value expression> ::=
        <interval term>
      | <interval value expression 1> <plus sign> <interval term 1>
      | <interval value expression 1> <minus sign> <interval term 1>
      | <left paren> <datetime value expression> <minus sign>
            <datetime term> <right paren> <interval qualifier>

  <interval value expression 1> ::= <interval value expression>

  <interval term 1> ::= <interval term>

  <datetime term> ::=
        <datetime factor>

  <datetime factor> ::=
        <datetime primary> [ <time zone> ]

  <datetime primary> ::=
        <value expression primary>
      | <datetime value function>

  <time zone> ::=
      AT <time zone specifier>

  <time zone specifier> ::=
        LOCAL
      | TIME ZONE <interval value expression>

  <length expression> ::=
        <char length expression>
      | <octet length expression>
      | <bit length expression>

  <char length expression> ::=
      ( CHAR_LENGTH | CHARACTER_LENGTH )
          <left paren> <string value expression> <right paren>

  <string value expression> ::=
        <character value expression>
      | <bit value expression>

  <octet length expression> ::=
      OCTET_LENGTH <left paren> <string value expression> <right paren>

  <bit length expression> ::=
      BIT_LENGTH <left paren> <string value expression> <right paren>

  <null specification> ::=
      NULL

  <default specification> ::=
      DEFAULT

  <row value constructor list> ::=
      <row value constructor element>
          [ ( <comma> <row value constructor element> )... ]

  <row subquery> ::= <subquery>

  <comp op> ::=
        <equals operator>
      | <not equals operator>
      | <less than operator>
      | <greater than operator>
      | <less than or equals operator>
      | <greater than or equals operator>
  <between predicate> ::=
      <row value constructor> [ NOT ] BETWEEN
        <row value constructor> AND <row value constructor>

  <in predicate> ::=
      <row value constructor>
        [ NOT ] IN <in predicate value>

  <in predicate value> ::=
        <table subquery>
      | <left paren> <in value list> <right paren>

  <in value list> ::=
      <value expression> ( <comma> <value expression> )...

  <like predicate> ::=
      <match value> [ NOT ] LIKE <pattern>
        [ ESCAPE <escape character> ]

  <match value> ::= <character value expression>

  <pattern> ::= <character value expression>

  <escape character> ::= <character value expression>

  <null predicate> ::= <row value constructor>
      IS [ NOT ] NULL

  <quantified comparison predicate> ::=
      <row value constructor> <comp op> <quantifier> <table subquery>

  <quantifier> ::= <all> | <some>

  <all> ::= ALL

  <some> ::= SOME | ANY

  <exists predicate> ::= EXISTS <table subquery>

  <unique predicate> ::= UNIQUE <table subquery>

  <match predicate> ::=
      <row value constructor> MATCH [ UNIQUE ]
          [ PARTIAL | FULL ] <table subquery>

  <overlaps predicate> ::=
      <row value constructor 1> OVERLAPS <row value constructor 2>

  <row value constructor 1> ::= <row value constructor>

  <row value constructor 2> ::= <row value constructor>

  <truth value> ::=
        TRUE
      | FALSE
      | UNKNOWN

  <constraint attributes> ::=
        <constraint check time> [ [ NOT ] DEFERRABLE ]
      | [ NOT ] DEFERRABLE [ <constraint check time> ]

  <constraint check time> ::=
        INITIALLY DEFERRED
      | INITIALLY IMMEDIATE

  <table constraint definition> ::=
      [ <constraint name definition> ]
      <table constraint> [ <constraint attributes> ]

  <table constraint> ::=
        <unique constraint definition>
      | <referential constraint definition>
      | <check constraint definition>

  <unique constraint definition> ::=
              <unique specification> even in SQL3)
      <unique specification>
        <left paren> <unique column list> <right paren>

  <unique column list> ::= <column name list>

  <referential constraint definition> ::=
      FOREIGN KEY
          <left paren> <referencing columns> <right paren>
        <references specification>

  <referencing columns> ::=
      <reference column list>

  <module contents> ::=
        <declare cursor>
      | <dynamic declare cursor>
      | <procedure>

  <declare cursor> ::=
      DECLARE <cursor name> [ INSENSITIVE ] [ SCROLL ] CURSOR
        FOR <cursor specification>

  <cursor name> ::= <identifier>

  <cursor specification> ::=
      <query expression> [ <order by clause> ]
        [ <updatability clause> ]

  <order by clause> ::=
      ORDER BY <sort specification list>

  <sort specification list> ::=
      <sort specification> [ ( <comma> <sort specification> )... ]

  <sort specification> ::=
      <sort key> [ <collate clause> ] [ <ordering specification> ]

  <sort key> ::=
        <column name>
      | <unsigned integer>

  <ordering specification> ::= ASC | DESC

  <updatability clause> ::=
      FOR
          ( READ ONLY |
            UPDATE [ OF <column name list> ] )

  <dynamic declare cursor> ::=
      DECLARE <cursor name> [ INSENSITIVE ] [ SCROLL ] CURSOR
          FOR <statement name>

  <statement name> ::= <identifier>

  <procedure> ::=
      PROCEDURE <procedure name>
          <parameter declaration list> <semicolon>
        <SQL procedure statement> <semicolon>

  <procedure name> ::= <identifier>

  <parameter declaration list> ::=
        <left paren> <parameter declaration>
            [ ( <comma> <parameter declaration> )... ] <right paren>
      | <parameter declaration>...

  <parameter declaration> ::=
        <parameter name> <data type>
      | <status parameter>

  <status parameter> ::=
      SQLCODE | SQLSTATE

  <SQL procedure statement> ::=
        <SQL schema statement>
      | <SQL data statement>
      | <SQL transaction statement>
      | <SQL connection statement>
      | <SQL session statement>
      | <SQL dynamic statement>
      | <SQL diagnostics statement>

  <SQL schema statement> ::=
        <SQL schema definition statement>
      | <SQL schema manipulation statement>

  <SQL schema definition statement> ::=
        <schema definition>
      | <table definition>
      | <view definition>
      | <grant statement>
      | <domain definition>
      | <character set definition>
      | <collation definition>
      | <translation definition>
      | <assertion definition>

  <schema definition> ::=
      CREATE SCHEMA <schema name clause>
        [ <schema character set specification> ]
        [ <schema element>... ]

  <schema name clause> ::=
        <schema name>
      | AUTHORIZATION <schema authorization identifier>
      | <schema name> AUTHORIZATION
            <schema authorization identifier>

  <schema authorization identifier> ::=
      <authorization identifier>

  <schema character set specification> ::=
      DEFAULT CHARACTER
          SET <character set specification>

  <schema element> ::=
        <domain definition>
      | <table definition>
      | <view definition>
      | <grant statement>
      | <assertion definition>
      | <character set definition>
      | <collation definition>
      | <translation definition>

  <domain definition> ::=
      CREATE DOMAIN <domain name>
          [ AS ] <data type>
        [ <default clause> ]
        [ <domain constraint>... ]
        [ <collate clause> ]

  <domain constraint> ::=
      [ <constraint name definition> ]
      <check constraint definition> [ <constraint attributes> ]

  <table definition> ::=
      CREATE [ ( GLOBAL | LOCAL ) TEMPORARY ] TABLE
          <table name>
        <table element list>
        [ ON COMMIT ( DELETE | PRESERVE ) ROWS ]

  <view definition> ::=
      CREATE VIEW <table name> [ <left paren> <view column list>
                                    <right paren> ]
        AS <query expression>
        [ WITH [ <levels clause> ] CHECK OPTION ]

  <view column list> ::= <column name list>

  <levels clause> ::=
      CASCADED | LOCAL

  <grant statement> ::=
     GRANT <privileges> ON <object name>
       TO <grantee> [ ( <comma> <grantee> )... ]
         [ WITH GRANT OPTION ]

  <privileges> ::=
        ALL PRIVILEGES
      | <action list>

  <action list> ::= <action> [ ( <comma> <action> )... ]

  <action> ::=
        SELECT
      | DELETE
      | INSERT [ <left paren> <privilege column list> <right paren> ]
      | UPDATE [ <left paren> <privilege column list> <right paren> ]
      | REFERENCES [ <left paren> <privilege column list> <right paren> ]
      | USAGE

  <privilege column list> ::= <column name list>

  <object name> ::=
        [ TABLE ] <table name>
      | DOMAIN <domain name>
      | COLLATION <collation name>
      | CHARACTER SET <character set name>
      | TRANSLATION <translation name>

  <grantee> ::=
        PUBLIC
      | <authorization identifier>

  <assertion definition> ::=
      CREATE ASSERTION <constraint name> <assertion check>
        [ <constraint attributes> ]
  <assertion check> ::=
      CHECK
          <left paren> <search condition> <right paren>

  <character set definition> ::=
      CREATE CHARACTER SET <character set name>
          [ AS ]
        <character set source>
        [ <collate clause> | <limited collation definition> ]

  <character set source> ::=
        GET <existing character set name>

  <existing character set name> ::=
        <standard character repertoire name>
      | <implementation-defined character repertoire name>
      | <schema character set name>

  <schema character set name> ::= <character set name>

  <limited collation definition> ::=
      COLLATION FROM <collation source>

  <collation source> ::=
        <collating sequence definition>
      | <translation collation>

  <collating sequence definition> ::=
        <external collation>
      | <schema collation name>
      | DESC <left paren> <collation name> <right paren>
      | DEFAULT

  <external collation> ::=
      EXTERNAL <left paren> <quote> <external collation name> <quote> <right paren>

  <external collation name> ::=
        <standard collation name>
      | <implementation-defined collation name>

  <standard collation name> ::= <collation name>

  <implementation-defined collation name> ::= <collation name>

  <schema collation name> ::= <collation name>

  <translation collation> ::=
      TRANSLATION <translation name>
          [ THEN COLLATION <collation name> ]

  <collation definition> ::=
      CREATE COLLATION <collation name> FOR
          <character set specification>
        FROM <collation source>
          [ <pad attribute> ]

  <pad attribute> ::=
        NO PAD
      | PAD SPACE

  <translation definition> ::=
      CREATE TRANSLATION <translation name>
        FOR <source character set specification>
          TO <target character set specification>
        FROM <translation source>

  <source character set specification> ::= <character set specification>

  <target character set specification> ::= <character set specification>

  <translation source> ::=
        <translation specification>

  <translation specification> ::=
        <external translation>
      | IDENTITY
      | <schema translation name>

  <external translation> ::=
      EXTERNAL <left paren> <quote> <external translation name> <quote> <right paren>

  <external translation name> ::=
        <standard translation name>
      | <implementation-defined translation name>

  <standard translation name> ::= <translation name>

  <implementation-defined translation name> ::= <translation name>

  <schema translation name> ::= <translation name>

  <SQL schema manipulation statement> ::=
        <drop schema statement>
      | <alter table statement>
      | <drop table statement>
      | <drop view statement>
      | <revoke statement>
      | <alter domain statement>
      | <drop domain statement>
      | <drop character set statement>
      | <drop collation statement>
      | <drop translation statement>
      | <drop assertion statement>

  <drop schema statement> ::=
      DROP SCHEMA <schema name> <drop behavior>

  <drop behavior> ::= CASCADE | RESTRICT

  <alter table statement> ::=
      ALTER TABLE <table name> <alter table action>

  <alter table action> ::=
        <add column definition>
      | <alter column definition>
      | <drop column definition>
      | <add table constraint definition>
      | <drop table constraint definition>

  <add column definition> ::=
      ADD [ COLUMN ] <column definition>

  <alter column definition> ::=
      ALTER [ COLUMN ] <column name> <alter column action>

  <alter column action> ::=
        <set column default clause>
      | <drop column default clause>

  <set column default clause> ::=
      SET <default clause>

  <drop column default clause> ::=
      DROP DEFAULT

  <drop column definition> ::=
      DROP [ COLUMN ] <column name> <drop behavior>

  <add table constraint definition> ::=
      ADD <table constraint definition>

  <drop table constraint definition> ::=
      DROP CONSTRAINT <constraint name> <drop behavior>

  <drop table statement> ::=
      DROP TABLE <table name> <drop behavior>

  <drop view statement> ::=
      DROP VIEW <table name> <drop behavior>

  <revoke statement> ::=
      REVOKE [ GRANT OPTION FOR ]
          <privileges>
          ON <object name>
        FROM <grantee> [ ( <comma> <grantee> )... ] <drop behavior>

  <alter domain statement> ::=
      ALTER DOMAIN <domain name> <alter domain action>

  <alter domain action> ::=
        <set domain default clause>
      | <drop domain default clause>
      | <add domain constraint definition>
      | <drop domain constraint definition>

  <set domain default clause> ::= SET <default clause>

  <drop domain default clause> ::= DROP DEFAULT

  <add domain constraint definition> ::=
      ADD <domain constraint>

  <drop domain constraint definition> ::=
      DROP CONSTRAINT <constraint name>

  <drop domain statement> ::=
      DROP DOMAIN <domain name> <drop behavior>

  <drop character set statement> ::=
      DROP CHARACTER SET <character set name>

  <drop collation statement> ::=
      DROP COLLATION <collation name>

  <drop translation statement> ::=
      DROP TRANSLATION <translation name>

  <drop assertion statement> ::=
      DROP ASSERTION <constraint name>

  <SQL data statement> ::=
        <open statement>
      | <fetch statement>
      | <close statement>
      | <select statement: single row>
      | <SQL data change statement>

  <open statement> ::=
      OPEN <cursor name>

  <fetch statement> ::=
      FETCH [ [ <fetch orientation> ] FROM ]
        <cursor name> INTO <fetch target list>

  <fetch orientation> ::=
        NEXT
      | PRIOR
      | FIRST
      | LAST
      | ( ABSOLUTE | RELATIVE ) <simple value specification>

  <simple value specification> ::=
        <parameter name>
      | <embedded variable name>
      | <literal>

  <fetch target list> ::=
      <target specification> [ ( <comma> <target specification> )... ]

  <target specification> ::=
        <parameter specification>
      | <variable specification>

  <close statement> ::=
      CLOSE <cursor name>

  <select statement: single row> ::=
      SELECT [ <set quantifier> ] <select list>
        INTO <select target list>
          <table expression>

  <select target list> ::=
      <target specification> [ ( <comma> <target specification> )... ]

  <SQL data change statement> ::=
        <delete statement: positioned>
      | <delete statement: searched>
      | <insert statement>
      | <update statement: positioned>
      | <update statement: searched>

  <delete statement: positioned> ::=
      DELETE FROM <table name>
        WHERE CURRENT OF <cursor name>

  <delete statement: searched> ::=
      DELETE FROM <table name>
        [ WHERE <search condition> ]

  <insert statement> ::=
      INSERT INTO <table name>
        <insert columns and source>

  <insert columns and source> ::=
        [ <left paren> <insert column list> <right paren> ]
              <query expression>
      | DEFAULT VALUES

  <insert column list> ::= <column name list>

  <update statement: positioned> ::=
      UPDATE <table name>
        SET <set clause list>
          WHERE CURRENT OF <cursor name>
  <set clause list> ::=
      <set clause> [ ( <comma> <set clause> )... ]

  <set clause> ::=
      <object column> <equals operator> <update source>

  <object column> ::= <column name>

  <update source> ::=
        <value expression>
      | <null specification>
      | DEFAULT

  <update statement: searched> ::=
      UPDATE <table name>
        SET <set clause list>
        [ WHERE <search condition> ]

  <SQL transaction statement> ::=
        <set transaction statement>
      | <set constraints mode statement>
      | <commit statement>
      | <rollback statement>

  <set transaction statement> ::=
      SET TRANSACTION <transaction mode>
          [ ( <comma> <transaction mode> )... ]

  <transaction mode> ::=
        <isolation level>
      | <transaction access mode>
      | <diagnostics size>

  <isolation level> ::=
      ISOLATION LEVEL <level of isolation>

  <level of isolation> ::=
        READ UNCOMMITTED
      | READ COMMITTED
      | REPEATABLE READ
      | SERIALIZABLE

  <transaction access mode> ::=
        READ ONLY
      | READ WRITE

  <diagnostics size> ::=
      DIAGNOSTICS SIZE <number of conditions>

  <number of conditions> ::= <simple value specification>

  <set constraints mode statement> ::=
      SET CONSTRAINTS <constraint name list>
          ( DEFERRED | IMMEDIATE )

  <constraint name list> ::=
        ALL
      | <constraint name> [ ( <comma> <constraint name> )... ]

  <commit statement> ::=
      COMMIT [ WORK ]

  <rollback statement> ::=
      ROLLBACK [ WORK ]

  <SQL connection statement> ::=
        <connect statement>
      | <set connection statement>
      | <disconnect statement>

  <connect statement> ::=
      CONNECT TO <connection target>

  <connection target> ::=
        <SQL-server name>
          [ AS <connection name> ]
            correspondence with Tony Gordon)
          [ USER <user name> ]
      | DEFAULT

  <SQL-server name> ::= <simple value specification>

  <connection name> ::= <simple value specification>

  <user name> ::= <simple value specification>

  <set connection statement> ::=
      SET CONNECTION <connection object>

  <connection object> ::=
        DEFAULT
      | <connection name>

  <disconnect statement> ::=
      DISCONNECT <disconnect object>

  <disconnect object> ::=
        <connection object>
      | ALL
      | CURRENT

  <SQL session statement> ::=
        <set catalog statement>
      | <set schema statement>
      | <set names statement>
      | <set session authorization identifier statement>
      | <set local time zone statement>

  <set catalog statement> ::=
      SET CATALOG <value specification>

  <value specification> ::=
        <literal>
      | <general value specification>

  <set schema statement> ::=
      SET SCHEMA <value specification>

  <set names statement> ::=
      SET NAMES <value specification>

  <set session authorization identifier statement> ::=
      SET SESSION AUTHORIZATION
          <value specification>

  <set local time zone statement> ::=
      SET TIME ZONE
          <set time zone value>

  <set time zone value> ::=
        <interval value expression>
      | LOCAL
  <SQL dynamic statement> ::=
        <system descriptor statement>
      | <prepare statement>
      | <deallocate prepared statement>
      | <describe statement>
      | <execute statement>
      | <execute immediate statement>
      | <SQL dynamic data statement>

  <system descriptor statement> ::=
        <allocate descriptor statement>
      | <deallocate descriptor statement>
      | <set descriptor statement>
      | <get descriptor statement>

  <allocate descriptor statement> ::=
      ALLOCATE DESCRIPTOR <descriptor name>
         [ WITH MAX <occurrences> ]

  <descriptor name> ::=
      [ <scope option> ] <simple value specification>

  <scope option> ::=
        GLOBAL
      | LOCAL

  <occurrences> ::= <simple value specification>

  <deallocate descriptor statement> ::=
      DEALLOCATE DESCRIPTOR <descriptor name>

  <set descriptor statement> ::=
      SET DESCRIPTOR <descriptor name>
          <set descriptor information>

  <set descriptor information> ::=
        <set count>
      | VALUE <item number>
          <set item information> [ ( <comma> <set item information> )... ]

  <set count> ::=
      COUNT <equals operator> <simple value specification 1>

  <simple value specification 1> ::= <simple value specification>

  <item number> ::= <simple value specification>

  <set item information> ::=
      <descriptor item name> <equals operator> <simple value specification 2>

  <descriptor item name> ::=
        TYPE
      | LENGTH
      | OCTET_LENGTH
      | RETURNED_LENGTH
      | RETURNED_OCTET_LENGTH
      | PRECISION
      | SCALE
      | DATETIME_INTERVAL_CODE
      | DATETIME_INTERVAL_PRECISION
      | NULLABLE
      | INDICATOR
      | DATA
      | NAME
      | UNNAMED
      | COLLATION_CATALOG
      | COLLATION_SCHEMA
      | COLLATION_NAME
      | CHARACTER_SET_CATALOG
      | CHARACTER_SET_SCHEMA
      | CHARACTER_SET_NAME

  <simple value specification 2> ::= <simple value specification>

  <item number> ::= <simple value specification>

  <get descriptor statement> ::=
      GET DESCRIPTOR <descriptor name> <get descriptor information>

  <get descriptor information> ::=
        <get count>
      | VALUE <item number>
          <get item information> [ ( <comma> <get item information> )... ]

  <get count> ::=
      <simple target specification 1> <equals operator>
           COUNT

  <simple target specification 1> ::= <simple target specification>

  <simple target specification> ::=
        <parameter name>
      | <embedded variable name>

  <get item information> ::=
      <simple target specification 2> <equals operator> <descriptor item name>>

  <simple target specification 2> ::= <simple target specification>

  <prepare statement> ::=
      PREPARE <SQL statement name> FROM <SQL statement variable>

  <SQL statement name> ::=
        <statement name>
      | <extended statement name>

  <extended statement name> ::=
      [ <scope option> ] <simple value specification>

  <SQL statement variable> ::= <simple value specification>

  <deallocate prepared statement> ::=
      DEALLOCATE PREPARE <SQL statement name>

  <describe statement> ::=
        <describe input statement>
      | <describe output statement>

  <describe input statement> ::=
      DESCRIBE INPUT <SQL statement name> <using descriptor>

  <using descriptor> ::=
      ( USING | INTO ) SQL DESCRIPTOR <descriptor name>

  <describe output statement> ::=
      DESCRIBE [ OUTPUT ] <SQL statement name> <using descriptor>

  <execute statement> ::=
      EXECUTE <SQL statement name>
        [ <result using clause> ]
        [ <parameter using clause> ]

  <result using clause> ::= <using clause>

  <using clause> ::=
        <using arguments>
      | <using descriptor>

  <using arguments> ::=
      ( USING | INTO ) <argument> [ ( <comma> <argument> )... ]

  <argument> ::= <target specification>

  <parameter using clause> ::= <using clause>

  <execute immediate statement> ::=
      EXECUTE IMMEDIATE <SQL statement variable>

  <SQL dynamic data statement> ::=
        <allocate cursor statement>
      | <dynamic open statement>
      | <dynamic fetch statement>
      | <dynamic close statement>
      | <dynamic delete statement: positioned>
      | <dynamic update statement: positioned>

  <allocate cursor statement> ::=
      ALLOCATE <extended cursor name> [ INSENSITIVE ]
          [ SCROLL ] CURSOR
        FOR <extended statement name>

  <extended cursor name> ::=
      [ <scope option> ] <simple value specification>

  <dynamic open statement> ::=
      OPEN <dynamic cursor name> [ <using clause> ]

  <dynamic cursor name> ::=
        <cursor name>
      | <extended cursor name>

  <dynamic fetch statement> ::=
      FETCH [ [ <fetch orientation> ] FROM ] <dynamic cursor name>
          <using clause>

  <dynamic close statement> ::=
      CLOSE <dynamic cursor name>

  <dynamic delete statement: positioned> ::=
      DELETE FROM <table name>
        WHERE CURRENT OF
            <dynamic cursor name>

  <dynamic update statement: positioned> ::=
      UPDATE <table name>
        SET <set clause>
            [ ( <comma> <set clause> )... ]
          WHERE CURRENT OF
              <dynamic cursor name>

  <SQL diagnostics statement> ::=
      <get diagnostics statement>

  <get diagnostics statement> ::=
      GET DIAGNOSTICS <sql diagnostics information>

  <sql diagnostics information> ::=
        <statement information>
      | <condition information>

  <statement information> ::=
      <statement information item> [ ( <comma> <statement information item> )... ]

  <statement information item> ::=
      <simple target specification> <equals operator> <statement information item name>

  <statement information item name> ::=
        NUMBER
      | MORE
      | COMMAND_FUNCTION
      | DYNAMIC_FUNCTION
      | ROW_COUNT

  <condition information> ::=
      EXCEPTION <condition number>
        <condition information item> [ ( <comma> <condition information item> )... ]

  <condition number> ::= <simple value specification>

  <condition information item> ::=
      <simple target specification> <equals operator> <condition information item name>

  <condition information item name> ::=
        CONDITION_NUMBER
      | RETURNED_SQLSTATE
      | CLASS_ORIGIN
      | SUBCLASS_ORIGIN
      | SERVER_NAME
      | CONNECTION_NAME
      | CONSTRAINT_CATALOG
      | CONSTRAINT_SCHEMA
      | CONSTRAINT_NAME
      | CATALOG_NAME
      | SCHEMA_NAME
      | TABLE_NAME
      | COLUMN_NAME
      | CURSOR_NAME
      | MESSAGE_TEXT
      | MESSAGE_LENGTH
      | MESSAGE_OCTET_LENGTH

  <embedded SQL host program> ::=
        <embedded SQL Ada program>
      | <embedded SQL C program>
      | <embedded SQL COBOL program>
      | <embedded SQL Fortran program>
      | <embedded SQL MUMPS program>
      | <embedded SQL Pascal program>
      | <embedded SQL PL/I program>

  <embedded SQL Ada program> ::= !! <EMPHASIS>(See the Syntax Rules.)

  <embedded SQL C program> ::=
        !! <EMPHASIS>(See the Syntax Rules.)

  <embedded SQL COBOL program> ::= !! <EMPHASIS>(See the Syntax Rules.)

  <embedded SQL Fortran program> ::=
      !! <EMPHASIS>(See the Syntax Rules.)

  <embedded SQL MUMPS program> ::= !! <EMPHASIS>(See the Syntax Rules.)

  <embedded SQL Pascal program> ::=
      !! <EMPHASIS>(See the Syntax Rules.)
  <embedded SQL PL/I program> ::= !! <EMPHASIS>(See the Syntax Rules.)

  <embedded SQL declare section> ::=
        <embedded SQL begin declare>
          [ <embedded character set declaration> ]
          [ <host variable definition>... ]
        <embedded SQL end declare>
      | <embedded SQL MUMPS declare>

  <embedded SQL begin declare> ::=
      <SQL prefix> BEGIN DECLARE SECTION
          [ <SQL terminator> ]

  <SQL prefix> ::=
        EXEC SQL
      | <ampersand>SQL<left paren>

  <SQL terminator> ::=
        END-EXEC
      | <semicolon>
      | <right paren>

  <embedded character set declaration> ::=
      SQL NAMES ARE <character set specification>

  <host variable definition> ::=
        <Ada variable definition>
      | <C variable definition>
      | <COBOL variable definition>
      | <Fortran variable definition>
      | <MUMPS variable definition>
      | <Pascal variable definition>
      | <PL/I variable definition>

  <Ada variable definition> ::=
      <Ada host identifier> [ ( <comma> <Ada host identifier> )... ] :
      <Ada type specification> [ <Ada initial value> ]

  <Ada type specification> ::=
        <Ada qualified type specification>
      | <Ada unqualified type specification>

  <Ada qualified type specification> ::=
        SQL_STANDARD.CHAR [ CHARACTER SET
           [ IS ] <character set specification> ]
            <left paren> 1 <double period> <length> <right paren>
      | SQL_STANDARD.BIT
            <left paren> 1 <double period> <length> <right paren>
      | SQL_STANDARD.SMALLINT
      | SQL_STANDARD.INT
      | SQL_STANDARD.REAL
      | SQL_STANDARD.DOUBLE_PRECISION
      | SQL_STANDARD.SQLCODE_TYPE
      | SQL_STANDARD.SQLSTATE_TYPE
      | SQL_STANDARD.INDICATOR_TYPE

  <Ada unqualified type specification> ::=
        CHAR
            <left paren> 1 <double period> <length> <right paren>
      | BIT
            <left paren> 1 <double period> <length> <right paren>
      | SMALLINT
      | INT
      | REAL
      | DOUBLE_PRECISION
      | SQLCODE_TYPE
      | SQLSTATE_TYPE
      | INDICATOR_TYPE

  <Ada initial value> ::=
      <Ada assignment operator> <character representation>...

  <Ada assignment operator> ::= <colon><equals operator>

  <C variable definition> ::=
        [ <C storage class> ]
        [ <C class modifier> ]
        <C variable specification>
      <semicolon>

  <C storage class> ::=
        auto
      | extern
      | static

  <C class modifier> ::= const | volatile

  <C variable specification> ::=
        <C numeric variable>
      | <C character variable>
      | <C derived variable>

  <C numeric variable> ::=
      ( long | short | float | double )
        <C host identifier> [ <C initial value> ]
              [ ( <comma> <C host identifier> [ <C initial value> ] )... ]

  <C initial value> ::=
      <equals operator> <character representation>...

  <C character variable> ::=
      char [ CHARACTER SET
               [ IS ] <character set specification> ]
        <C host identifier>
          <C array specification> [ <C initial value> ]
          [ ( <comma> <C host identifier>
            <C array specification>
                   [ <C initial value> ] )... ]

  <C array specification> ::=
      <left bracket> <length> <right bracket>

  <C derived variable> ::=
        <C VARCHAR variable>
      | <C bit variable>

  <C VARCHAR variable> ::=
      VARCHAR [ CHARACTER SET [ IS ]
          <character set specification> ]
          <C host identifier>
              <C array specification> [ <C initial value> ]
            [ ( <comma> <C host identifier>
                <C array specification>
                        [ <C initial value> ] )... ]

  <C bit variable> ::=
      BIT <C host identifier>
          <C array specification> [ <C initial value> ]
        [ ( <comma> <C host identifier>
          <C array specification>
                     [ <C initial value> ] )... ]

  <COBOL variable definition> ::=
      (01|77) <COBOL host identifier> <COBOL type specification>
        [ <character representation>... ] <period>

  <COBOL type specification> ::=
        <COBOL character type>
      | <COBOL bit type>
      | <COBOL numeric type>
      | <COBOL integer type>

  <COBOL character type> ::=
      [ CHARACTER SET [ IS ]
            <character set specification> ]
      ( PIC | PICTURE ) [ IS ] ( X [ <left paren> <length> <right paren> ] )...

  <COBOL bit type> ::=
      ( PIC | PICTURE ) [ IS ]
          ( B [ <left paren> <length> <right paren> ] )...

  <COBOL numeric type> ::=
      ( PIC | PICTURE ) [ IS ]
        S <COBOL nines specification>
      [ USAGE [ IS ] ] DISPLAY SIGN LEADING SEPARATE

  <COBOL nines specification> ::=
        <COBOL nines> [ V [ <COBOL nines> ] ]
      | V <COBOL nines>

  <COBOL nines> ::= ( 9 [ <left paren> <length> <right paren> ] )...

  <COBOL integer type> ::=
        <COBOL computational integer>
      | <COBOL binary integer>

  <COBOL computational integer> ::=
      ( PIC | PICTURE ) [ IS ] S<COBOL nines>
        [ USAGE [ IS ] ] ( COMP | COMPUTATIONAL )

  <COBOL binary integer> ::=
      ( PIC | PICTURE ) [ IS ] S<COBOL nines>
        [ USAGE [ IS ] ] BINARY

  <Fortran variable definition> ::=
      <Fortran type specification>
      <Fortran host identifier>
          [ ( <comma> <Fortran host identifier> )... ]

  <Fortran type specification> ::=
        CHARACTER [ <asterisk> <length> ]
            [ CHARACTER SET [ IS ]
                  <character set specification> ]
      | BIT [ <asterisk> <length> ]
      | INTEGER
      | REAL
      | DOUBLE PRECISION

  <MUMPS variable definition> ::=
      ( <MUMPS numeric variable> | <MUMPS character variable> )
          <semicolon>

  <MUMPS numeric variable> ::=
      <MUMPS type specification>
        <MUMPS host identifier> [ ( <comma> <MUMPS host identifier> )... ]

  <MUMPS type specification> ::=
        INT
      | DEC
            [ <left paren> <precision> [ <comma> <scale> ] <right paren> ]
      | REAL

  <MUMPS character variable> ::=
      VARCHAR <MUMPS host identifier> <MUMPS length specification>
        [ ( <comma> <MUMPS host identifier> <MUMPS length specification> )... ]

  <MUMPS length specification> ::=
      <left paren> <length> <right paren>

  <Pascal variable definition> ::=
      <Pascal host identifier> [ ( <comma> <Pascal host identifier> )... ] <colon>
        <Pascal type specification> <semicolon>

  <Pascal type specification> ::=
        PACKED ARRAY
            <left bracket> 1 <double period> <length> <right bracket>
          OF CHAR
            [ CHARACTER SET [ IS ]
                  <character set specification> ]
      | PACKED ARRAY
            <left bracket> 1 <double period> <length> <right bracket>
          OF BIT
      | INTEGER
      | REAL
      | CHAR [ CHARACTER SET
                                  [ IS ] <character set specification> ]
      | BIT

  <PL/I variable definition> ::=
      (DCL | DECLARE)
          (   <PL/I host identifier>
            | <left paren> <PL/I host identifier>
                  [ ( <comma> <PL/I host identifier> )... ] <right paren> )
      <PL/I type specification>
      [ <character representation>... ] <semicolon>

  <PL/I type specification> ::=
        ( CHAR | CHARACTER ) [ VARYING ]
            <left paren><length><right paren>
            [ CHARACTER SET
                  [ IS ] <character set specification> ]
      | BIT [ VARYING ] <left paren><length><right paren>
      | <PL/I type fixed decimal> <left paren> <precision>
            [ <comma> <scale> ] <right paren>
      | <PL/I type fixed binary> [ <left paren> <precision> <right paren> ]
      | <PL/I type float binary> <left paren> <precision> <right paren>

  <PL/I type fixed decimal> ::=
        ( DEC | DECIMAL ) FIXED
      | FIXED ( DEC | DECIMAL )

  <PL/I type fixed binary> ::=
        ( BIN | BINARY ) FIXED
      | FIXED ( BIN | BINARY )

  <PL/I type float binary> ::=
        ( BIN | BINARY ) FLOAT
      | FLOAT ( BIN | BINARY )

  <embedded SQL end declare> ::=
      <SQL prefix> END DECLARE SECTION
          [ <SQL terminator> ]

  <embedded SQL MUMPS declare> ::=
      <SQL prefix>
        BEGIN DECLARE SECTION
          [ <embedded character set declaration> ]
          [ <host variable definition>... ]
        END DECLARE SECTION
      <SQL terminator>

  <embedded SQL statement> ::=
      <SQL prefix>
        <statement or declaration>
      [ <SQL terminator> ]

  <statement or declaration> ::=
        <declare cursor>
      | <dynamic declare cursor>
      | <temporary table declaration>
      | <embedded exception declaration>
      | <SQL procedure statement>

  <embedded exception declaration> ::=
      WHENEVER <condition> <condition action>

  <condition> ::=
      SQLERROR | NOT FOUND

  <condition action> ::=
      CONTINUE | <go to>

  <go to> ::=
      ( GOTO | GO TO ) <goto target>

  <goto target> ::=
        <host label identifier>
      | <unsigned integer>
      | <host PL/I label variable>

  <host label identifier> ::= !!<EMPHASIS>(See the Syntax Rules.)

  <host PL/I label variable> ::= !!<EMPHASIS>(See the Syntax Rules.)

  <preparable statement> ::=
        <preparable SQL data statement>
      | <preparable SQL schema statement>
      | <preparable SQL transaction statement>
      | <preparable SQL session statement>
      | <preparable implementation-defined statement>

  <preparable SQL data statement> ::=
        <delete statement: searched>
      | <dynamic single row select statement>
      | <insert statement>
      | <dynamic select statement>
      | <update statement: searched>
      | <preparable dynamic delete statement: positioned>
      | <preparable dynamic update statement: positioned>

  <dynamic single row select statement> ::= <query specification>

  <dynamic select statement> ::= <cursor specification>

  <preparable dynamic delete statement: positioned> ::=
     DELETE [ FROM <table name> ]
        WHERE CURRENT OF <cursor name>

  <preparable dynamic update statement: positioned> ::=
     UPDATE [ <table name> ]
        SET <set clause list>
        WHERE CURRENT OF <cursor name>

  <preparable SQL schema statement> ::=
        <SQL schema statement>

  <preparable SQL transaction statement> ::=
        <SQL transaction statement>

  <preparable SQL session statement> ::=
        <SQL session statement>

  <preparable implementation-defined statement> ::=
      !! <EMPHASIS>(See the Syntax Rules.)

  <direct SQL statement> ::=
      <directly executable statement> <semicolon>

  <directly executable statement> ::=
        <direct SQL data statement>
      | <SQL schema statement>
      | <SQL transaction statement>
      | <SQL connection statement>
      | <SQL session statement>
      | <direct implementation-defined statement>

  <direct SQL data statement> ::=
        <delete statement: searched>
      | <direct select statement: multiple rows>
      | <insert statement>
      | <update statement: searched>
      | <temporary table declaration>

  <direct select statement: multiple rows> ::=
      <query expression> [ <order by clause> ]

  <direct implementation-defined statement> ::=
      !!<EMPHASIS>(See the Syntax Rules)

  <SQL object identifier> ::=
      <SQL provenance> <SQL variant>

  <SQL provenance> ::= <arc1> <arc2> <arc3>

  <arc1> ::= iso | 1 | iso <left paren> 1 <right paren>

  <arc2> ::= standard | 0 | standard <left paren> 0 <right paren>

  <arc3> ::= 9075

  <SQL variant> ::= <SQL edition> <SQL conformance>

  <SQL edition> ::= <1987> | <1989> | <1992>

  <1987> ::= 0 | edition1987 <left paren> 0 <right paren>

  <1989> ::= <1989 base> <1989 package>

  <1989 base> ::= 1 | edition1989 <left paren> 1 <right paren>

  <1989 package> ::= <integrity no> | <integrity yes>

  <integrity no> ::= 0 | IntegrityNo <left paren> 0 <right paren>

  <integrity yes> ::= 1 | IntegrityYes <left paren> 1 <right paren>

  <1992> ::= 2 | edition1992 <left paren> 2 <right paren>

  <SQL conformance> ::= <low> | <intermediate> | <high>

  <low> ::= 0 | Low <left paren> 0 <right paren>

  <intermediate> ::= 1 | Intermediate <left paren> 1 <right paren>

  <high> ::= 2 | High <left paren> 2 <right paren>




  [1mAF.   B -   SQL  [0m


  [1mAF.1.     PostgreSQL[0m

       PostgreSQL    SQL.
   scripts    SQL   
  src/tutorial

  [1mAF.2.   Internet [0m

         SQL 

    <http://w3.one.net/~jhoffman/sqltut.htm>

       ;  mail 

    jhoffman@one.net

       sites    John Hoffman:

     SQL
     <http://www.contrib.andrew.cmu.edu/~shadow/sql.html>

       SQL Pro
     <http://www.inquiry.com/techtips/thesqlpro/>

     Sites      SQL Pro
     <http://www.inquiry.com/techtips/thesqlpro/usefulsites.html>

      
     <http://infoweb.magi.com/~steve/develop.html>

    DBMS Sites  <http://info.itu.ch/special/wwwfiles>   
        comp_db.html

    DB Ingredients  <http://www.compapp.dcu.ie/databases/f017.html>

    Web Authoring  <http://www.stars.com/Tutorial/CGI/>

    Computing Dictionary   <http://wfn-shop.princeton.edu/cgi-
     bin/foldoc>

    DBMS Lab/Links  <http://www-ccs.cs.umass.edu/db.html>

    SQL FAQ
     <http://epoch.CS.Berkeley.EDU:8000/sequoia/dba/montage/FAQ>
           SQL_TOC.html

     SQL  <http://chaos.mur.csu.edu.au/itc125/cgi/sqldb.html>

    RIT    
     <http://www.it.rit.edu/~wjs/IT/199602/icsa720/icsa720postings.html>
    Database Jump Site  <http://www.pcslink.com/~ej/dbweb.html>

       Web
     <http://www.eng.uc.edu/~jtilley/tutorial.html>

      
     <http://www.ndev.com/ndc2/support/resources.htp>

       <http://ashok.pair.com/sql.htm>

     IMAGE SQL
     <http://jazz.external.hp.com/training/sqltables/main.html>

    Internet Resource List  <http://www.eit.com/web/netservices.html>

  [1mAG.  Appendix C -     Linux[0m

       PostgreSQL  Linux,  
       Linux,    
     Appendix.     -


      Linux -   Linux   
            Windows 95/NT

      10   Linux

      Microsoft-Linux

           Linux


    Main Site is at  <http://members.spree.com/technology/aldev/>

    Mirror site  <http://aldev.8m.com>

    Mirror site  <http://aldev.webjump.com>

    Mirror site  <http://homepages.infoseek.com/~aldev1/index.html>

    Mirror site  <http://www3.bcity.com/aldev/>

























