      

         

    3.1.  
        1,       
 .   II      
,  ,  .      
       II (     
  ),       
  .  ,    , 
       . 

    3.2.   

         (   
)    ,  ,     . 
    1.       (  ). 
    2.       (,   
),         ,  
 ,   SELECT (   RESTRICT), PROJECT  JOIN. 
          ,     
 1. 
     . 3.1         
.  ,     "  
" ( ,       ). 

    DEPT 

    DEPT#       DNAME			BUDGET 
    Dl         Marketing		10M 
    D2         Development		12M 
    D3         Research			5M 

    	

    EMP#	ENAME		DEPT#		SMARY 
    El	Lopez		Dl		40K 
    E2	Cheng		Dl		42K 
    E3	Finzi		D2		30K 
    E4	Saito		D2		35K 
    
    
    . 3.1.      (   ) 

     . 3.2     SELECT, PROJECT  JOIN  
  .   ( !)   . 
       SELECT ( RESTRICT)    
   . 

     3.      57 

       PROJECT       . 
       JOIN         
   . 

    SELECT (RESTRICT) :	:    DEPT,  BUDGET > 8 

    DEPT*	DNAME	BUDGET 
    Dl	Marketing	10M 
    D2	Development	12M 

    PROJECT: 
      DEPT#, BUDGET 

    : 

    DEPTff	BUDGET 
    D1	 
    D2	12 
    D3	5 

    JOIN: 
     DEPT      DEPT# : 

    DEPT#	DNAME		BUDGET	EMP#	ENAME	SALARY 
    Dl	Marketing	10M		El	Lopez	40K 
    Dl	Marketing	10M		E2	Cheng	42K 
    D2	Development	12M		E3	Finzi	30K 
    D2	Development	12M		E4	Saito	35K 

    . 3.2.   SELECT, PROJECT  JOIN 

        , -,    
 JOIN.  ,    ,    DEPT  
    DEPT#,  ,      
     . 
     ,    DEPT     , 
     ,       
,         DEPT#. ,  
  DEPT   

    DEPT#	DNAME		BUDGET 
    Dl	Marketing	10M 

    #	ENAME	DEPT#	SALARY 
    1	Lopez	Dl	40K 
    (    )    
  

    DEPT#	DNAME		BUDGET	EMP#	ENAME	SALARY 
    Dl	Marketing			El	Lopez	4 OK 

    (             D1).  
       .  
,   DEPT#       
,   .     ,       
 D3   DEPT# (..  ,    D3),    
    D3   ,      
 D3   DEPT. 
        ,   . 3.2:  
        .    
.        ,  -

    58  I.   

      ,   ,   
 ,    ,   ,    
    -  . ,  
  ( PROJECT)   ( JOIN)   
    SELECT  ..  ,  
  , .. ,    
 ,     .     
  ,    ,   ,   . 
    . ,      ,  
  ,       .    
,        
  . , ,     
 ( SELECT)   . ,     
  ,      
  ,  ,      
,    ,  .  ,  
,    ,      
       .  , 
 ,        
          . 
     ,      . 3.2, 
  ,        ,  
      , ..      
 ,   ,    . , 
 JOIN  . 3.2          
,        .  
       
 .  ,       
        . 
        . 3.1.   ,   
,       . 
       -,  ,   " " 
,        . 
     ,    
.          
        , 
, ,  ,   ..    
         
.     -:    
   ,       
    ,   , 
  ,   ,   
,   ,  ..    . 
        " "   ANSI/SPARC 
   ,    . .   , , 
    2,       
  ,  ,     .  
           
; ,   , ""  ,    
 . 
      -,    ,    . 3,1, 
   :      
     ,  :    
.    (     

     3.     	59 

       )      
.  ,   ,     
. ,     D1   DEPT   
1   ,    1    D1;    
  ,    D1   DEPT#  1 
  .    , ,   
  ,    . 
    .   ,      ,  
   ,            
, , ,         
 . ,   ,      
    . 
     ,    ,      ( 
).  ,          
             
. , ,    (  , 
    )   

    DEPT*	* 

    D1	1 
    D1	2 

     

    DEPT#	# 
    D1	1,2 

     #       ,    
 .        , 
        (   
     ).     
  ;  ,      
 . (      .) 
      ,       " 
"      (   [3.1]  
     1980-). ,      
        .  
, ,       ,   
"   SELECT, PROJECT  JOIN". 

    3.3.    

     ,      ,  ,  
 ,        (    ), 
   :         
?   ?  :  "relation" ()  
    (,   ; 
     4). ,  ,    
  ,   . 3.1,   . ( 
 ,   ,    , 
    .     , 
   ,   .) 

    60  I.   

        ""  ""   
;       ""  
 ,   "".      
 ,  ,  -  "" 
   .    . 
        ,     ,  
   .  ,   ,  
   ,      
(      ). 
             1969-70-  
 ..  (E.F. Codd),    ,   
 IBM.   1968  ,   ,  
,     ,    
       ;   
        .    
     "A Relational Model of Data for 
Large Shared Data Banks" (CM. [4.1]   4). 
               
       ,      
,    ,     
  . 
       ,     , 
   ,    "", 
      ,     
.    ,    
        ,    
 ,   . 
     .   "".       
     ;     COBOL ( 
   )    (   
  );     ; 
    ;  ,   -. 
            "" 
;     "",    
 ,    .       
,   ,   ""   
    ( ,   "" 
   ).     
        
,          , 
  ,   "", ""  "". 

    3.4.   

         ?     
 :       , 
..      ( )   
     ( ,   
JOIN).  ,       : 
,    . ,    
  ,   .    (, 

     3.     	61 

     ),         
,   . 3.1.   ,    
       .   
,      ,    
  . 
    1.     DEPT     DEPT#; 
            #. 
    2.    DEPT#        
DEPT#   DEPT (   ,     
    ). 
     DEPT#   DEPT  #      
   .  DEPT#     
 ,      DEPT. 
    .  , , ,     
    ,     (., 
, . 3.1).         . 
       .  ,   
,  .   , ,     
    ,    
      .  , 
 ,        ,  
       .    , 
      ;   ,   
  ,     .    
,     ,    "  "; 
,         , 
  100% . ,    ,     
        .   , 
           
   . 
    . ,     ,     , 
     .   ,      
  ,  ;    ,  
, ,   ,      
 .        
       . 

    3.5.  

       ,  ,   SELECT, PROJECT 
 JOIN,    .   ,   
SQL,   ,    ,  
,    , ..  ,   ,  
   .  ""    
       
,    .     
   .     
        .  
. 3.3       
 SQL INSERT  ,   ""; 
 , ,       
   . 

    62	 I.   

       ,  ,  ""   
  ,     ,     
 -  .     ,  
   ( ) ,   .    
,   ,   SQL,    
 ,   ,     COBOL ( 
 ,    ;    
  . . 3.3) 

    INSERT INTO SP ( Stt, P#, QTY ) ______VALUES ( 'S4', 'P3', 1000 ) 

    MOVE 'S4' TO S# IN S 
    FIND CALC S 
    ACCEPT S-SP-ADDR FROM S-SP CURRENCY 
    FIND LAST SP WITHIN S-SP 
    while SP found PERFORM 
    ACCEPT S-SP-ADDR FROM S-SP CURRENCY 
    FIND CWNER WITHIN P-SP 
    GET P 
    IF P# IN P < 'P3' leave loop 
    END-IF 
    FIND PRIOR SP WITHIN S-SP END-PERFORM MOVE 'P3' TO P# IN P FIND CALC P 
    ACCEPT P-SP-ADDR FROM P-SP CURRENCY FIND LAST SP WITHIN P-SP while SP 
found PERFORM 
    ACCEPT P-SP-ADDR FROM P-SP CURRENCY 
    FIND CWNER WITHIN S-SP 
    GET S 
    IF S# IN S < 'S4' leave loop 
    END-IF 
    FIND PRIOR SP WITHIN P-SP END-PERFORM MOVE 1000 TO QTY IN SP FIND DB-KEY 
IS S-SP-ADDR FIND DB-KEY IS P-SP-ADDR STORE SP 
    CONNECT SP TO S-SP CONNECT SP TO P-SP 

    . 3.3,     

    ,      
  . 
      ,    ,  
   ė .  ,   
  ,        
    . , ,  
   : 

    RESULT   :=   {   WHERE # =   '4'   )    [   SALARY  ]   ; 

    .     ( WHERE ...)   
    ,   ,    #  
4.      (SALARY)    
 (  )    ,   
 SALARY.  ,   (:=)    
    RESULT. ,   
 RESULT         ,  
  4. (    , 
      .   ,  
         :  
  ,         
   .) 

     3.     	63 

               
   . 
    1.       ( ), 
     . 
    2.       # (  )  
(, ,  ,     
 ,         
 ),          
 4. 
     ,      .   
        
       ,  : 
             (   , 
, ,  - ); 
    	   ; 
    	  ; 
    	   ; 
    	     ; 
    	     .. 
          ,   
  ,      ;     
  ( ).    
       , 
, , ,      . 
             18. 

    3.6.  

        2,      
,  . ,  ,  ,   
  (, , )  ,    
 (-, -).  
,     (  
),   ,     
 .      , , 
 ,    ..   
     . ,  
    ,    ,  
,     .  , 
        
 ,   ( )   . 
            ,  
     (,  ,    
   ).     
    ,    . ,    
   TABLES  COLUMNS,     
      . (  "",  
     ,      
    .)       
 TABLES  COLUMNS    ,    
. 3.4. 

    64	 I.   

    .  ,  TABLES  COLUMNS   
  ,    , 
   oo-  .  
   ,   " "   
, ..    .   . 3.4    
  . 
    
    TABLES	TABNAME	COLCOUNT	ROWCONT 
    		DEPT		3		3 
    				4		4 
    
    COLUMNS	TABNAME	LNA 
		    DEPT		DEPT# 
		    DEPT		DNAME 
		    DEPT		BUDGET 
		    		#	..... 
		    		ENAME	..... 
		    		DEPT# 
		    		SALARY 

    . 3.4.       ( ) 

     ,        
 ,      DEPT (, 
,   -      
).       : 

    ( COLUMNS WHERE TABNAME = 'DEPT' ) [ COLNAME ] 

    .          
,       , ,  RESULT,  
    ,         
   (  ,     ). 
       .  ,      #: 

    ( COLUMNS WHERE COLNAME = '#' ) [ TABNAME ] 

      .      : 

    ( ( TABLES JOIN COLUMNS ) 
    WHERE COLCOUNT < 5 ) [ TABNAME, COLNAME ] 


    3.7.     

      ,     ,   DEPT  , 
     ,   
  .       . 
 ()    ;  ,  
    -  ,  
 .     ,   
      . ,   
 ,      ,    
   ,   ,    ,  
     ,    . 

 3. 
     

    65 3      

     , ,      
    .  SQL, ,    
 CREATE TABLE ( TABLE    ,   
).  , ,    (..   
   ).   , , 
.       
   ,  ,   
.  ,     , ,  
  ,      ,    
      (    ). 
    ,  

    CREATE VIEW TOPEMPS AS ( EMP WHERE SALARY > 33K ) [ EMP#, ENAME, SALARY ] ; 

         TOPEMPS.   
 , ,     AS  
  ,  ,   "" 
 (        TOPEMPS). 
            
 TOPEMPS,    ,     . 3.5,  
   .  ,  TOPEMPS  
 , .. ,    ,   
,  ,     . 

    TOPEMPS 

    #	ENAME	DEPT#	SALARY 
    1	Lopez	Dl	40K 
    2	Cheng	Dl	42K 
    	Finzi	D2	30K 
    4	Saito	D2	35K 

    . 3.5. TOPEMPS      ( ) 

      : ,   TOPEMPS  ", 
   ,   ,  , 
    ",     ,     
  , ..     ,  ,  
,    . ,     
""    .  , ,     
         "" 
(,         ); 
,   TOPEMPS       
   , ,    "". 
       ,   TOPEMPS: 

    ( TOPEMPS WHERE SALARY < 42K ) [ EMP#, SALARY ] 

        : 

    #	SALARY 
    1	40 
    4	35 

      ,  ,  
       ,  
  (.. ,   ).   
   

    ( TOPEMPS WHERE SALARY < 42 ) [ #, SALARY ] 

        

    (((  WHERE SALARY >  ) [ #, ENAME, SALARY ] ) WHERE SALARY < 42K 
) [ EMP#, SALARY ] 

    66  I.   

            
  : 

    (  WHERE SALARY >  AND SALARY < 42 ) [ #, SALARY ] 

          ,  . 
 ,      
       . 
       (, 
    ). 
     TOPEMPS    , ,  ,  
      .    
     . ,  
,        : 

    CREATE VIEW JOINEX1 AS ( (  JOIN DEPT ) WHERE BUDGET > 7M ) [ EMP#, 
DEPT# ] ; 

               
 17. 
     ,       2  
,   "" ("view")    
   ,    ,   
  ANSI/SPARC.        
  " ",    ( 
      ).   
, , ,   ,   
   .    
" " ANSI/SPARC      
,        . 
" "     . 
     ANSI/SPARC       
     .  ,   
 ,    ,   : , 
      ,     
         . 
          
    ,      
       -  
,    .      
   ,          
  ( SQL). ,  ,     
 ,      ,     
,     . 
    .   SQL   SQL, ,   
 ,     "  " (  
,     ).     
     ""    . 
         ,    
  .        
 : 
        " "   ,    
,      ; 
       , , "  ",   
    "" . 
      ,        
 ,     . ,  
  

     3.     	67 

        ; ,  
     ,    
   ,    ,    
,       .  (   
 ""!)     ,   
      (..   
,   ,       
   ).   ,    
       ,  
     .  ,     
      . 
         .     
  .   , ,   
       ,       
.           
  ,       , 
         , 
     ,    . 

    3.8.  SQL 

           
   SQL.       IBM 
Research   1970- ,      
  IBM- System R;      
     IBM,    
.      SQL   
  (ANSI),   (ISO),  
 UNIX (X/Open),   IBM,  "  
 ",       IBM 
(System Applications Architecture,  SAA),   
  (FIPS).       SQL. 

    CREATE TABLE DEPT 
    ( DEPTS  CHAR (2),   CHAR(20), BUDGET DECIMAL (7), PRIMARY KEY ( DEPT# 
) ) 
    CREATE TABLE EMP 
    ( EMP#   CHAR(2), 
    ENAME  CHAR(20), 
    DEPT#  CHAR(2), 
    SALARY DECIMAL (5), PRIMARY KEY ( EMP# ), FOREIGN KEY ( DEPT# ) REFERENCES 
DEPT ) 

    . .6.      (  SQL) 

     SQL      (.. , 
       ).  
   .  . 3.6 ,  
   - (. . 3.1)    
  SQL. 
     ,     CREATE TABLE   
.   ,  CREATE TABLE    
  SQL.   CREATE TABLE   
 ,       ,   
        (  

    68	 I.   

         . 3.6).    
        ,   
    . 
     ,         
    SQL, ..  SELECT, INSERT, UPDATE  
DELETE.  ,       SELECT, 
PROJECT  JOIN         SQL 
SELECT.  . 3.7    SELECT, PROJECT  JOIN (. . 
3.2),    SQL. 

    SELECT ( : 
    SELECT DEPT#,   DNAME,   BUDGET 
    FROM      DEPT 
    WHERE BUDGET > 8M ; 

    : 

    DEPTtt	DNAME		BUDGET 
    Dl	Marketing	10M 
    D2	Development	12M 

    PROJECT: 
    SELECT DEPT#, BUDGET FRCM  DEPT ; 

    : 

    DEPT#	BUDGET 
    Dl	10M 
    D2	12M 
    D3	5M 

    JOIN: 
    SELECT DEPT. DEPT*, DNAME, BUDGET, EMPtt, ENAME, SALARY 
    FROM  DEPT, BMP 
    WHERE DEPT.DEPT* = EMP.DEPT* ; 

    : 

    DEPT#	DNAME	BUDGET	EMPt	ENAME	SALARY 
    Dl	Marketing		10M	El	Lopez	40K 
    Dl	Marketing		10M	E2	Cheng	42K 
    D2	Development		12M	E3	Finzi	30K 
    D2	Development		12M	E4	Saito	35K 

    . 3.7.   SELECT, PROJECT  JOIN   SQL 

    .        
 ,       SQL  
" "   .    
 , ..  WHERE      "WHERE 
DEPT# = DEPT#",    DEPT#   , ..   
,        DEPT.DEPT#   EMP.DEPT#. 
    , , ,   SELECT  SQL   SELECT 
        ! 
    ,  SQL       
SELECT, PROJECT  JOIN (  )   SELECT.  RESTRICT  
      SELECT,  
           
 . (  ,      
 RESTRICT ();  ,    ,   
   , ,   , 
   8 .) 
         SQL  . 

     3.      69 

    1.   .     SQL,  INSERT, 
UPDATE  DELETE,     1.      
    .   ,    
SELECT,  INSERT, UPDATE  DELETE     
 (      1  
  ).       
      : 

    INSERT 
    INTO        TEMP  ( # ) 
    SELECT EMP# 
    FRCM   EMP 
    WHERE  DEPT# = 'Dl' ; 

       ,      
 TEMP    #.  INSERT     
     D1. 

    UPDATE	EMP 
    SET	SALARY = SALARY * 1.1 
    WHERE	DEPT# = 'Dl' ; 

     UPDATE       ,   
  D1  10%   . 

    DELETE 
    FRCM        EMP 
    WHERE       DEPT# = 'D2' ; 

     DELETE         D2. 
    2.  .  SQL     , 
    (   8).   
    ,    ,  
  . 
    3.  .    SQL- CREATE VIEW  
 TOPEMPS         
,     . 

    CREATE VIEW TOPEMPS AS 
    SELECT EMP#, ENAME, SALARY 
    FRCM   EMP 
    WHERE  SALARY > 33K ; 
    SELECT	EMP#, SALARY 
    FRCM	TOPEMPS 
    WHERE	SALARY < 42K ; 

    4.   .    SQL   
 SQL  : "", ..   
 ,      (..  SQL  
 "",   ,       
    ).  ,    
        (, COBOL, Pascal, PL/1  ..). 
    5. SQL  .       SQL, 
      ,   
  .   ,   SQL  
  ,     .   
 ,     .  
 8     SQL. 

    70	 I.   

    3.9.      

     ,      ,    
   .        
 ,         . 
 . 3.8     .   
        (  
 ).  . 3.9    ,   
    4.  ,  ,  
    . 

    S									SP 

    s#	SNAME	STATUS	CITY				S#	P#	QTY 
    SI	Smith	20		London			SI	PI	300 
    S2	Jones	10		Paris				SI	P2	200 
    S3	Black	30		Paris				SI	P3	400 
    S4	Clark	20		London			SI	P4	200 
    S5	Adams	30		Athens			SI	P5	100 
    SI	P6	100 						S2	PI	300
									S2	P2	400
    P									S3	P2	200
									S4	P2	200
    P#	PNAME	COLOR	WEIGHT	CITY			S4	P4	300			 
    PI	Nut	Red	12		London		S4	P5	400		 
    P2	Bolt	Green	17		Paris			 
    P3	Screw	Blue	17		Rome			 
    P4	Screw	Red	14		London		 
    P5	Cam	Blue	12		Paris			 
    P6	Cog	Red	19		London 
    
    
    . .8.      (  ) 

    CREATE CREATE CREATE CREATE CREATE CREATE CREATE 

CREATE DOMAIN S# DOMAIN NAME DOMAIN STATUS DCMAIN CITY DOMAIN P# DCMAIN COLOR 
	DCMAIN WEIGHT DCMAIN QTY 
	CHAR(5)   ; CHAR(20)   ; NUMERIC(S) CHAR(15)   ; CHAR(6)   ; CHAR(6)   ; 
	NUMERIC(S) NUMERIC(9) 
CREATE BASE RELATION S 
    	(  S#	DCMAIN   (  S#   ) , SNAME DCMAIN   (  NAME  ), STATUS               
   	DCMAIN   (  STATUS  ), CITY                      DCMAIN   (  CITY  )   ) 
	PRIMARY      KEY     (  S#  )   ; 
CREATE BASE RELATION P 
    (  P#	DCMAIN   (  P#   ), PNAME DCMAIN   ( NAME ) , COLOR DCMAIN WEIGHT CITY 
    PRIMARY KEY   (  P#  )   ; 
CREATE BASE RELATION SP 
    (  S#	DCMAIN  COLOR ), 
    DCMAIN   ( WEIGHT  ), DCMAIN   (  CITY  )   ) s# ), 
    DCMAIN   (  P#   ), DCMAIN   (  OTY  )   ) 
    P# OTY PRIMARY KEY ( S#, P# ) FOREIGN KEY ( S# ) REFERENCES S FOREIGN KEY ( P# ) 
	REFERENCES P 

    , 3.9,      ( ) 

     3.      71 

         .	? 
       S  .     
 (S#);  (SNAME),    (   , 
  . 3.8, );     (STATUS);  
 (CITY). ,       
  (..       CITY  ). 
          (,  ).    
    (#),   ;   
(PNAME);  (COLOR);  (WEIGHT);  ,     
 (CITY).  (   ),    
  .  ,      
          . 
       SP  .       
   . ,    SP  . 3.8 
  S1  S    1  , .. 
    1  S1 (   
   300 ).  ,    
  (S#),   (#)   (QTY). 
,              
     ;      
 S#  #       ,  
  SP. 
     ,    ,   
 .         
         , ..  
          . 
      ,       , 
          
.   ,       
 .          , 
  ,   ,        
 ,    ,     
,     . 
      :        
,      ,    
 ;         
  ,   .    ,    
    ,     
  ,  (  )    
   (  )    .  
  : ,     ,   
  ,   SUPPLIERS (), PARTS ( 
  )  SHIPMENTS (),    
S,   SP;  ,       
 .         
      ,   
   .    
  . 

    3.10.  

          . ,  
   ,      
, ,   ,        
 ,      .   
 ,      .    
  . 

    72	 I.   

            
 .        (  
).        
  ,         
RESTRICT (  SELECT),    PROJECT ( 
 )     JOIN.    
    .    
 ,       ,   ,  
   (   );   
   . 
     ,      ,  
 .        
     .     
    ( ),     
().     ,   
   ,     RESTRICT, PROJECT, JOIN  .. 
        , ,    
  ( ,  ,    ).  
,       "" 
       ;   
    .   
       
 . 
         ,    
     ( , , 
  ..).      ,  
 . 
        ,      
 .    ,   
.      ,  
      .   
    ,    . 
    ,     
 ,  , ..    
      .   
    . 
              
SQL.        SQL CREATE 
TABLE.   SELECT ( SELECT-FROM-WHERE)  SQL  
    RESTRICT, PROJECT  JOIN  
 .   SQL   INSERT, UPDATE  DELETE. 
 SQL      ,     
""  . 
     ,      ,     
    ,       
.      ,     
 .  ,   , ,      
   ,        
 (,      ). 
               
  ANSI/SPARC,    2.    
 ,      . 
    1.    !     
ANSI/ SPARC. 
    2.      ,    
  ANSI/SPARC. 

     3.     	73 

    .       
         , 
         
   ,    . 
    3.           
,      ANSI/SPARC.  ,  
   ,       
   .    ,   
 ""         
     .  ,    
,       : 
          
 ;     ,     
    .  ,    
   ,    
  . 
    .   ,    (,  
 SQL)        ,  
 .          
       (    
 ),     . 
(  ,     SQL,   ,  , 
          
 .) 
    4.  SQL    ( )  .  
            
.   ,    SQL    
 ,     .       
SQL         
(),   ( )    
 (      )     
(,   ).  ,  SQL   
  " ", .. ,    
    ,     .   
   GRANT,     
      (  
    ). 
    5.     SQL-       
  ,   COBOL,   SQL-. 
  SQL  " "   SQL   
.  ,     SQL    
 .  ,   ,   
     (      8). 

     

    3.1.    :  ; 
 ;  ; ; ;   ; 
;  ;  ;  ; 
 ;  ; ;    ; 
; . 

    74	 I.   

    3.2.     TABLES  COLUMNS    
  . 
    3.3.     ,    , .. 
     .  . 3.4 ,   
      TABLES  COLUMNS. 
    3.4.        : 

    RESULT := ( ( S JOIN SP ) WHERE Pi = 'P2' ) [ Si, CITY ] ; 

          ? 
    3.5. ,  ,     . 3.4, 
    

    CREATE VIEW V AS ( ( S JOIN SP ) WHERE Pi = 'P2' ) [Si, CITY ] ; 

       

    ANSWER :=   ( V WHERE CITY =  'London'   )   [ Si ]   ; 

          ? ,  
      . 

      

    3.1. Codd E.F. Relational Database: A Practical Foundation for 
Productivity // CACM. 1982. 25, 2. (: Robert L. Ashenhurst (ed.). 
ACM Turing Award Lectures: The First Twenty Years 1966-1985.  Reading, Mass.: 
Addison-Wesley, 1989.) 
           ACM Turing Award  
1981 .        . 
,  : "      
   ,     (  
   )       ." 
      . 
    1.             
    . 
    2.         
,   . 
      ,       ,  
      . 
    3.2. Date C.J. Why Relational? // C.J. Date. Relational Database Writings 
1985-1989.  Reading, Mass.: Addison-Wesley, 1990. 
      ,      
  .     : 
      ,  
  ,     . : 
    "...   .   , 
   .   , ,  
 ;        
,        .     
  ...   ,  []   ". 
    "       
 ;  (,   ) 
      ,     
,  

    3.     	75 

          .     (  
 ).  ,    
  , , ,   ". 
    3.3. Date C.J. Relational Technology: A Brief Introduction // C.J. Date 
and Hugh Darwen. Relational Database Writings 1989-1991.  Reading, Mass.: 
Addison-Wesley, 1992. 
               . 

        

    3.2.  . 3.10     TABLES  COLUMNS ( 
    ). ,    
 COLCOUNT  ROWCOUNT . 
    
    
    TABLES	TABNAME	COLCOUNT	ROWCOUNT	..... 
    TABLES COLUMNS	(>3) (>2)	02) 05)	..... 
    
    
    COLUMNS	TABNAME	COLNAME 
    TABLES TABLES TABLES COLUMNS COLUMNS	TABNAME COLCOUNT ROWCOONT TABNAME COLNAME	..... 
    
    
    . 3.10.      TABLES  COLUMNS () 
    3.4.        ,  
  2. 
    3.5.    : "    
,   2".      ( 
 V ,   V) : 

    (   (   (   (  S JOIN SP  )   WHERE # =   '2'   )    [  S#,   CITY ]   ) 
    WHERE CITY =   'London1   )    [  S#  ] 

         : 

    ( ( S WHERE CITY = 'London1 ) JOIN ( SP WHERE P# = 'P2' ) ) [ S# ] 

             
  . 

    76  I.   

