 :  
  


                    .     ,           ,      .





 :  





  1. 





1.   


    ()     , :

1)      (  )  ;

2)           ,      ;

3)    , . .        , . .   ;

4)          (. .      ).

,      ,     .

               .              -  ()  -.

         , . .        .     1970 .     ,   (Codd),     .




2.  


      relation .

     (       )    



R = {(x


, , x


) | x


? A


,,x


?A


},


 A


, , A


 ,   .  ,  R     : A


 ?  ? A


 :



R ? A


 ?  ? A


.


,              A


 = A2 = {3, 4, 5}:



R


 = {(3, 4), (4, 5), (3, 5)} ?A


 ? A


;

R


 = {(5, 4), (4, 3), (5, 3)} ? A


 ? A


.


       .

  R


:






  R


:






 ,  ,                   .

 ,       R


  R


    ,  , ,   ,    .

,         .          ?  R


  R


   ,     , ,  ,   ,      .            ,        3, 4, 5, ,    .  ,  ,    (  )             ,    .

    R


  R


       ,  ,   .           ,     .             .           , . .    ,       .

      R


  R


    .

   (  R


):






   (  R


):






 -   (   ,           R


  R


) .

,  ,      ,     ,    ,   R


  R


    .

 ,  ,            ,   .

            .            .




  2.  



            :  ( Empty-)   ( Null-).

  ( )   Null-        ,   .       ,           .




1.  (Empty-)


          -    .

  ,    (. .  ,      ,     ):

1) 0 ()         ;

2) false ()        ;

3) B        ;

4)         .

    ,    ,         ,     .                     . -         .  ,     -   ,   .

      :



1)B0;

2) B000;

3)  .


     ,    ?

           , . .  IsEmpty (<>),     .                 .         ,               .

   ,     ,     .   .        ,        01.01.0100.  31.12.9999?            {},     : {. . }  {. . }.           .    ,     ,    .

              ,    .




2.  (Null-)


 Null        .

  ,     ,  ,    :






,    Null-  :

1) ,  , . .  . ,   ,        , ,  -   (   1980 .    ),    , ,     .         Null;

2)  .    ( 2    )       ,             ,   ;

3)    ,         . ,   ,         ,   ,               .  ,     ,     Null- (    ,    ,   ).      , Null-    .     :

1)     Null-  . ,    ( 2    )  2014 ., . .   , Null-   -    ;

2) Null-         (, , , ,   . .);

3)       Null--     Null-;

4)              (      . 4  2).




3.Null-     


     ,  Null-.

    Null- (,     Null-  Null-)    :

1)  ;

2)    ,    (  );

3)     (,    );

4)    (<, ?, ?, ?, >).

 .        Null-:



3+ Null, 1/ Null, (' + '' +Null) ? Null


       ? -     Null-.         ,  ,                 .

 Null-   ,          Null-, :



(x  x), y * (x  x), x * 0 ? Null  x = Null.


   ,   , ,   (x  x)  x = Null,    (Null  Null),         ,  Null-,    ,   Null-       .

  ,     ,  , Null-   ,       Null-.

       Null-   . ,      Null-     True  False:



(Null < Null); (Null ? Null); (Null = Null); (Null ? Null);

(Null > Null); (Null ? Null) ? Null;


 ,  ,     ,  Null-      .    Null-   ,    Null-     .  Null-       ,   ,              ,        .

,  ,  Null-         .        ,  Null-,          True  False,  Null-,    :



(x < Null); (x ? Null); (x = Null); (x ? Null); (x > Null);

(x ? Null) ? Null;


          Null-    :

IsNull (<>),     Null.

    True,     Null    Null,  False    ,      Null.  IsNull        .       ,     False.

:






, , ,    ,   IsNull   ,     False.   ,       ,       Null-,    ,        Null-,    True.




4.Null-   


           :  ,  &  ?.   ?   ?      :



(x ? y) ? (x ? y);

(x ? y) ? (x ? y) & (y ? x);


,         Null-.

,           &   ?        :



(x & y) ? (x ?y);

(x ? y) ?  (x & y);


  ,    , Null-   .

       ,   ,     True  False,   Null-   .     :  True   t,  False  f,   Null  n.

1.  x.






          Null-:

1) x ? x    ;

2) Null ? Null  Null-   .



2. x & y.






     :

1) x & y ? y & x;

2) x & x ? x  ;

3) False & y ? False,  False   ;

4) True & y ? y,  True   .



3. x ? y.






:

1) x ? y ? y ? x  ;

2) x ? x ? x  ;

3) False ? y ? y,  False   ;

4) True ? y ? True,  True   .

          &  ?     :



(False & y) ? (x & False) ? False;

(True ? y) ? (x ? True) ? True;


     ,    Null-  False  True          .

        ,  Null-         . ,          (x ? x)     (x = x),   x ? Null :



(x ? x), (x = x) ? Null.


  !    ,   :   Null-     ,          ,         Null-.

 ,  :      Null-            ,  .




5.Null-   


,      ,             (True  False),  ,  Null-        .          ,  Unknown.

,   ,         .    Null- ( )      True,   False.

         Null-   False.             If  While:



If P then A else B;


  :  P   True,    A,   P   False  Null,    B.

      , :



If P then B else A;


  ,    :  P   True,    B,    ,  P   False  Null,     A.

 ,   ,   Null-     .   ,    If     !            , . .  .      !      ,  Null-  P      B,     A.

      While:



While P do A; B;


   ?   P   True,    A,    P   False  Null,   B.

   Null-   False. ,        True (    ,        ).   ,          .

 -          IfNull ( , True),    Null-        .

   If  While    :



1)If IfNull ( P, False) then A else B;

2) While IfNull ( P, False) do A; B;


,   IfNull ( 1,  2)    ,     Null-,        .

 ,      IfNull     .             Null-.




  3.   





1.     


1.  ,      ,  .    ,         ,    , ,  ,      .

  ,  ,    .

2.  ,  ,         ,    .    . , :






        .           :






 ,     ,       , . .    .

   ,    .

3.     .        ,           . ,    ,     .          .    :






4. ,  ,    -.       ,       ,      , :






     ,             .

5.           .        .

,       .

      ,      , . .    .  ,        ,  ,  ,     .

                  -.




2.  


             . ,    .

,   ( dom(a)),     ,             .     , . :



dom(a) ? {x | type(x) = type(a)};


 ( ),   ,    ,     name(a)    dom(a), . .:



a = (name(a): dom(a));


      , (     )  :.    ,         .

    :






 = (: {1, 2, 3, 4, 5});




 = (: {x | type(x) = real, x 0});




 = (: {x | type(x) = real, x 0});


,    


  


   .      ,       .          ,    .

          ,       ,  .    :






 ,      a


, a


, a


  ,  - ,   .




3. .   


               .  .

  ( S)        , . .:



S = {a | a ? S};


  ,  ,    ( )     .

             : |S|.

       .

    ,   ,       ,    .




S = {a


, a


, a


, a


}     .



      .

              , :



 (  , , , ,  ).


,      ,    ,  .

  ,        (S = ?). ,     ,               .

     ( t(a))       ,       , . .:



t(a) = (name(a) : x), x ? dom(a);


,       .

               :




 t(a


), t(a


), t(a


)     t   


, 


, 


.



      :



(: 5), (: 5);


        ,  5      ,    . ,         ,   ,            .




4..  


              ,          . ,  ( t,  . tuple  )    S          ,      S.  ,      , def(t), . .:



t?t(S) = {t(a) | a ? def(t) ? S;.


,            .

         , . .:






 t


(S) = {t(a


), t(a


), t(a


), t(a


)}  t


(S) = {t(a


), t(a


), t(a


), t(a


)}  .



           .  :

1) ,          , . . def(t) ? S.

      ;

2) ,         ,   , . . def(t) = S;

3) ,        , . . def(t) ? S;

4)   ,       , . . def(t) = ?.

  .     ,   .






  t


 = {10, 20, 30}, t


 = {10, 20, Null}, t


 = {Null, Null, Null}.   ,   t


  ,      def(t


) = { a, b, c} = S.

 t


  , def(t


) = { a, b} ? S. , ,  t


    ,    def(t3) = ?.

 ,         ,       .      : ?(S).       ,      ,    Null-.




  .


   .

   ,     (https://www.litres.ru/raznoe/bazy-dannyh-konspekt-lekciy/)  .

      Visa, MasterCard, Maestro,    ,   ,     ,  PayPal, WebMoney, ., QIWI ,       .


