      

     DB2      

    .1.  

           ,    
 , ..        ( 
    , ,      , 
         
),          
,    DB2 (IBM DATABASE 2)  IBM [.1-.7]. 

    .  DB2       
MVS,      IBM     , 
     . 

        DB2/6000   AIX. 
        DB2/2 (  OS/2 Database Manager)  
  OS/2. 
       SQL/DS   VM  VSE (  IBM    
   "DB2 for VM and VSE"). 
       DB2/400 (  SQL/400)   
 OS/400. 
              
,         
    MVS, ..    DB2  
     DB2,    
 . ,         
   ,   DB2 Version 3 Release I.   
   ,       
, . 
     DB2,        , 
   SQL.  ,    
SQL-  ,      (, COBOL, 
PL/1  ..).  ,  , , ,   COBOL, 
   SQL-,     
  COBOL (     ).     
  (    )   
   . 
    .  DB2  SQL-    
 ,       SQL  
(table),  (row)   (column),      
   . ,        ,  
    SQL. 

     .  DB2... 719 


    .2.   

     . , 1      
   DB2    .    
    . 
                
,     ,    . ( 
 1         
   .   DB2,      
,    .)  ,   
 DB2       . 
      (      )  
      ,     
           
  START  STOP. 
      ,       - 
      .  
   ,    , .. 
   .     
    4    ,  4   32 
    (1  = 1024 ).    
DB2         MVS   
 VSAM (Virtual Storage Access Method). 

         /  1  
	  			  		 
  
             	 		 
    	 	  
    
    
           
      
    
                                 
      		   
       
                      1 
    |                                    | 
    					 
    
    
    . .1.      DB2 

              
,         
 ,        . 
( ,     DB2 " "   
,      . ,  
    ,      
    .) 

    720  

   ,    . ( 
  ,       ""  
      .    
    ,    .)  
       . 
              ( 
 -).        
,           
     . 

    .      ,     
      . 
,   ,   
    .   ,  
   DB2  ,  .   
     ,   
  DB2     ,   
     . 

               
,        ,  
         . 
   ,       
,      .    
  ,        
   ,     ,  
    .   ,   ,  
        ,    
,      . 

    .     ,   
    CLC   IBM 
System/360 (370, 390,...)        
  SQL-. ,     
  . 

        ,       
   (record ID  RID). 

    ..   

       DB2  ,    
 ,     ,  
  ,    .    
          
  , ,   ,   
   . 
    1.        , 
     . 
    2.        . 
    3.        ,   
    . 
    4.         
DB2      . 

     .  DB2...	721 

            
 ,        .  
     :  ( 
 ),  (    
 ),    (  
  ),    (  
  )   .   IBM 
      .    
       
()   DB2.         
,   . .2     . 

       
     
     
      
     
     
    
    ( ) ( ) 
       
       
      
    () 
    *> 
      
    
    
      

    . .2,        DB2 


    722  

           ,  
 SQL-.         
   (Database Request Module  DBRM),       
  CALL        
 . 
                 
    (   ), ..  
   SQL-   ,    
 . 
             , 
 SQL-.   -   
       
 ,    .   
      , ,  
 ,     . 
            ,  
  ,     .  ,  
 ,   ,      
.           
     ,  , 
,   .. ,     
-   . 
              
     , ..     
 -.    ,  , 
  ,         
,       . 

    .4.     

               
      DB2 (. . .2), 
   . ,      
  COBOL (      ,    
       ).   
        
 . 
    \.            
COBOL,      DB2,  
      DB2  . 
       ,  
SQL-       CALL  .  
         
  .    SQL- 
  DBRM-    ,   
  . 

    .         ,  
      SQL-. 

    2.       COBOL    
  .       
 "  ". 

     ,  DB2...	723 


    3.      ,    
  SQL-       (.. 
SQL-)   . ( ,    
,       ,   
.  ,      DB2 
   .    
    .) 
         DBRM-    
 (   DBRM-,     
    ).   
, ..  ,      
,     DB2,      
   . 
    4.  ,     .   
 ,  ,     (    
),   -      
.  . .2    .   
         . 
  ,        
  CALL,  .    
   ,     
 ,        .  
,   ,    ,  
      (   
 )     . 

    .5.    

             .  
 ,  DB2   , ..   
   ()   .   
      , ,  
 .      
    ,   [. 
10].       .   
,      (  )  
     .    
  . 
    1.  ,      ,   
      X,    
    ,     X. 
 ,         (..  
     ). 
    2.      ,   
,   : 
    DROP INDEX X ; /*   X */ 
    3.     ,  ,     
,   ,    
 . 
       .   ,  DB2    
 ,    ,     
 ("invalid").      
  

    724	 

,    "" ("invalid"),    
    , ..     
        DBRM- ( 
   ).    ,   
          
.  ,        
,      SQL-. 
        , 
       . 
     ,         
    SQL,   COBOL, ..    
       COBOL,   , 
   . 
      ,        
   , ,    ()  
,    .      , 
 SQL-,  SELECT  UPDATE,     
 ,    ,    
.         
    DB2, , .   
DB2      (,  
 ,    ,    
17),           
      . 

    .       
,          
  .      
     .     
DB2  -i*f   . 

         .   
      ,  
    .     
       (  ). 
,           
 ,  . ,   
    ,        
 (  ,        
  ). 
           ,   
,       .  
,       ,     
     . ,  ,  
      , 
         
 .      ,   
         
 (  - ),     
 .  ,   ,  
   ,     ,    
     ,    
       REB1ND. (,  
   DB2       
  .)        ,   
      . 

     .  DB2...	725 

       ,  SQL-    
 DB2    ,       
 .  ,      
 SELECT,   ,      
,   ,    .   
 ,    ,  
   ,    
,     [. 10].  
   ,        
  ,      
 .      
   .   
      . 

    .6.  

         ,     
     DB2.      
      DB2   
    (      
     ).     
    .  ,   
  ,         [.7]. 
      CHECK.        : 
,       ,   
   - ""     (.. 
,        ;   
      LOAD    
 ). 
      COPY.         
        (   ). 
     ,     
    . 
       LOAD.        
          
 .        . 
 ,   LOAD   ,    
   ,   ,   . 
      MERGECOPY.          
    ,      
,         
  . 
      QUIESCE.        
     .    
    ,       
  .  ,  QUIESCE    
      ,   
 .       
     (      
 ). 
      RECOVER.        ,  
          
  ,     . 

    726	 

,         
     ,    . 
       REORG.         
          
   (  ). 
       RUNSTATS.      
    (,    
 )      .   
     ,    
     .    
    ,  ,   
   .     
   . 

    EXPLAIN 

    EXPLAIN    SQL-,    
         
SQL-. ( EXPLAIN      SQL [8.1], 
          , 
     SQL.)     
  ,   ,   (  
  - )     ,  
     (    
 18).         
,        
.      EXPLAIN. 

    EXPLAIN PLAN FOR 
    SELECT S.S#, P.P# 
    FRCM  S, P 
    WHERE    S.CITY = P.CITY ; 

       EXPLAIN     
    PLAN_TABLE.     
  SQL- SELECT      
: ,         
     . 

      

           
,  ,   ,  
   ..     
    ,    
 : 
              , 
   . 
          ,      
 SQL-. 
           -. 
            ( 
 ,   ..). 
          SQL-. 

     .  DB2...	727 

    .7.  

           DB2    
    .     
   DB2 -  ,    
 (     ),   
(     ),    (- 
 DB2).       ,  
    DB2 (       
   )    
     .     
   ,     
(     3  4). 
            . 
       SQL- ( 
   CALL)        
  (DBRM-).      
 . DBRM-     
   , ..    
SQL- (       
 SQL-).      CALL, 
  ,    
 , ,   ,     
(     )      
 .   ,   ,  
  (     )   
  - . 
           ,  SQL-  
 DB2 ,   ,   ,   
 DB2       
   ,    . 
    ,         DB2 (CHECK, 
LOAD, COPY  ..),     ,  , 
, EXPLAIN. 

     

    .1.      DB2. 
    .2.          
 DB2. 
    .. ,    DB2    . 
    .4.      DB2. 
    .5.          DB2? 
 ,         
. ? 
    .6.    ?      
      ?    
 ? 
    .7.   DB2      
 ,       

    728	 

    (.. SQL-). ,   
,      .   
    ?   , 
     ? 
    .8.    EXPLAIN. 

      

     [. 1-.5]     DB2  
IBM, a [.8-.10]      System R,  
   DB2   SQL-  IBM ( 
    [8.12-8.16; 18.29, 18.30]). 
    .  ,      
       DB2,  
    ,   
          System 
R.       System R   
 . 
    .1. IBM Corporation. IBM Database 2. Version 3. General Information. IBM FormGC26-4373. 
    .2. IBM Corporation. IBM Database 2. Version 3. Administration Guide ( 
3- ).  IBM Form  SC26^374. 
    .. IBM Corporation. IBM Database 2. Version 3. SQL Reference. IBM Form 
 SC26-4380. 
    .4. IBM Corporation. IBM Database 2. Version 3. Application Programming 
and SQL Guide.  IBM Form  SC26-4377. 
    .5. IBM   Corporation.   IBM   Database   2.   Version   3.   Command   
and   Utility Reference.  IBM Form  SC26^t378. 
    .6. DB2 Special Issue // IBM Sys. J.  1984.  23,  2. 
            DB2. 
    .7. Date   C.J.,   White   C.J.   A   Guide   to   DB2   (4th   ed.).    
Reading,   Mass.: Addison-Wesley, 1993. 
         DB2    
.          
 . 
    .8. Lorie R.A., Wade B.W. The Compilation of a High-Level Data Language 
// IBM Research Report RJ2598.  1979. 
     /       
System R.         System R. 
    .9. Lorie R.A., Nilsson J.F. An Access Specification Language for a 
Relational Data Base System // IBM J. R&D.  1979.  23,  3. 
           System R.  
  SQL-   System R  
    ASL (Access Specification Language).   
        . 
( ,    ,     ASL  
 .)  ASL    ""  "" 
     .   ASL    
        
 . 

     .  DB2...	729 

    . 10. Chamberlin D.D. et al. Support for Repetitive Transactions and 
Ad-Hoc Queries in System R // ACM TODS.  1981.  6,  1. 
            
System R     ( ad hoc),     
 " ". (    
 ,          
      .     
  .)      
IBM System 370 Model 158   System R    
 VM.        "",  
,  ,  , :    
  ,    ; 
  System R     
    ,       . 
            ;     
   , ,  ,  DB2, 
 ,     , 
   ,  ,    .  
,          
    . 

        

    .1,     DB2    
, ,       , 
    .4.     DB2   , 
 ,  ,    . 
    .5.         
 ,       DB2 
   (4  32 ).    
  ,      
  ,     , 
   . 
    ,6.    ,    
         
   ,    ( 
    ).        
    ,       
   .    
  ,         
       ,   
      . 
    .7.      . 

    730	 

