     6

        / 

            , 
  Computer Systems Advisors Research (CSA).   
              
    Borland.      
       
/    .       
     ,   ,   
   .   ,  ,   
,         
    .       
      ,   
             
 8, "   /". 

        

             
  ,          
.      ,    
        .  ,  
      (E.F. Codd)   
          
 .         
  .       ,  
       .    
    ,       
     . 
             
       . 
     ,     
 ,       "?",     
  " ?"   , ,   
,       .  
        ,   
 -     .     
   -      
, ,  ,     . 
     ,   ,     
  .       ,   
      ,  .    
      ,   
       ,   
   . ,     
    "?",    " ?" 

    90  I.  


         

          /  
    .      
   ,   ,    , 
   ,      . 
    ,       / 
     . 
    Q      . 
    Q     ,   
  . 
    Q         
     . 
             
 . 
    Q    . 
       ,        
  . 
    Q . 
    Q . 
     . 
    Q . 
    Q . 

      
         .   
        
,       , 
    .  ""   
,     ,  
    . 

                 
          
 . -,       
 ,  -,     
,         
 .  ,       
  ,       / 
        .     
    ,       
   . 

        

       ,   ,   ,   
    ,      
  .     ,    
    ,     .    
      ,       
   . ,     ,    
 .          
,    ,     , 
      . 
           ,   
         .  
         , 
           
   /. 

     6.     / 91 

     

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

     

        .     
,    ,      
.    ,    , 
      .  
   ,       
 .         
 ,        
,    .       
       "-" 
(ER  Entity-Relationship).         
         
  /. 

     

             , 
      .   
        ,  
    ,       . 
          ,   
   ,     .  ,   
    . ,     
:         
 ,          
  .       , 
     . 

       / 

          / 
    .   ,    
      ,   , 
    .        
 ,          
   /. 
      ,    ,   
         
/.        /, 
       .  ,  
     .    
/      ,  
          
   .   ,  /   
       .  
   /     
       , 
         ,   
    .  ,     
/         
   -

    92  I.  

  .       . 
    ,    , 
  ..,   ,     
  "/". 
           ,     
      . CASE- ,   
 -  ,   .  
/   ,  ,   
,      ,    
.    ,        
,      . 
              
 /    .     
,     .   7, " 
  /",     
  .  ,   7   
     . 
             
  ,     ,    
       
,  .  ,       
 , ,    ,   
  . 
      ,       
    .       
  ,       . 
  ,     
,    ,    .   
 ,   7     
      ,   
    . 

      / 

      ,       
 /,       
     .  ,   
  ,     ,   
      .     - 
 , , ,     
   ,        
.       . 
             
        , 
,   ,     .    
,        , ,   
,         
    . 

        

        ,   ,    
        
.   ,  ,     .  
        
      ,  
 .  ,  , ,   .   
      ,       
    - . 
     ,      ,     , 
    .   , 
         
  ,        
 .        
     ,       
 /. 
           ,      
     /.  
           
,     . 

     6.     / 93 

      
           / 
    ,        ,   
Paradox, dBASE  Access.   /    
   ,  ,    
  /     , 
     .     
    /,    
    .                                       ., 

       

         ,   , 
    ,     
  ,    .       
     Allodium Properties.  
,   ,       
,   .    RENTMAN. 

      
      " "     RENTMAN  
.       8. 

           , 
 ,    .   
  ,  " ..."  " RENTMAN..." 
  ,    ,  " 
 ..."  " RENTMAN ..."  
 ,    ,  "  
    "  " RENTMAN  
  ". 
            
,   .      
   .  , ,    
  " "  " "     . 
      .  
        
    .     
 ,     ,   
  . 
      ,     
,  ,          
.  ,      , 
      ,    
     .     
    ,     
 ,    ,   . 
  ,    ,    
        . 

       

      ,      
 .        
?      .  
   - ,      
.       
,      .  ,  
  ,      . 
     RENTMAN    . 
    Q      . 
    Q      . 

    94  I.  

         . 
            . 
    ,           
   .  , ,  
    , ..     
        . 

           

    ,           
,   ,         
  .      
,   "-"    
 .      ,    
,         
     .      
    ,   , 
       .   
    ,   
   ,    . 
    ,   ,      
     ,      .    
,         
,   .        
     . 
    1.        ,  
      . 
    2.  ,     . 
    3.     ,     . 
     . 6.1         
  .      
   ,     
   .      
 ,    ,  
 ,  ,     
,    ER-    
      .     
  ,      . 
        ,     
      ,   
  .     CASE-,  
       /. 

    CASE- 

         CASE-,     
   .    ,  CASE-  
      ,  ,   
     .   , 
  CASE-     ,  , 
     ,        
       , CASE-   
  ,     . 
      ,  CASE-,    
    ,    
.    ,   ,   
,      .     
        
,   ,       
"".   (James Rambaugh),    
     Unified Method for Object-Oriented 
Development,      : " CASE- 
    

     6.     / 95 

 ,     .     
  ,  ,    ,   
     , ,   ""  
 ". 

    . 6.1. ,       

         ,   ,  
 CASE-      .   
,         - 
,      . 
    ,  CASE-       
 /    ,     
    .   ,     
  .   ,     
    . CASE-      
      ,   . 
     ,  , ,     
  ,       .   
      / CASE 
   . ,       
,          
             
 . 
       ,       
 ,  ,   ,    
 CASE-.  CASE-      
   ,        
 .   ,     
 CASE-,    -, . 

    96  I.  

    CASE-,        
,       
      .  , CASE- 
     ,    
      .  , 
  ,     CASE- ,  
       .    
 ,   CASE-  . 

      

        ,   
  .    
         . 
 CASE-,     , 
 Process Analyst  S-Designor (   PowerDesigner) 
 Powersoft, Silverrun,   CSA  . 

     "- 

     "-" (ER-)    
   .     
       . 
ER-        
    .  ER-  
  ,       ERwin 
 Logicworks  ER/1  Embarcadero. 

              

       ER-,     
     . ER-   
        . 
  CASE-,     
 ER-.       
   .        
 Data Architect    S-Designor  Silverrun-RDM 
 CSA. 
        ,    CASE-   
          .  
  . 6.2,       
.   ,   ,    
ER-,        
 . ,       
.         
        , 
        . 

    . 6.2. CASE-       
    


     CASE-  ? 

      ,    CASE-,     
.  ,    ,   
           ,  
     ,       
   .   CASE-,   
  ,      , 
   .     
   ,     
 ,    ER/1  Embarcadero,   
 ERWin  Logicworks.   ER/1    
 CASE-  ,        
  .  ,  

     6.     / 97 
    4 Delphi 3   / 

 ,        
 . ,    ERWin, ER/1   
  IDEF1X.    ,   
CASE- ER/1      . 
           
CASE-  Computer Systems Advisors (CSA),   
Silverrun.       :  (Business 
Process Modelling)      ; ERX 
(Entity Relationship eXpert)    ER-; RDM (Relational 
Data Modelling)        WRM 
(Window Repository Management)     . 
        ,     Silverrun,   
   (S-Designor, ERWin  ..).      
. -,      CASE-,  Silverrun 
   .    Silverrun   
Solaris?  !  Windows NT? !     
Macintosh?   !      
     ,      
 ,       .  
 ,  Silverrun,   
         ,  
  ,         
,    . 
        Silverrun  ,    
Delphi.  Silverrun-RDM    ,  
  "Delphi work mode".    Silverrun-RDM 
   ,      
 Delphi ,  ,     . 
          Delphi,   
    Silverrun   . 
     ,  Silverrun     
ER-      .  
 ,         .  ER- 
      , ,   
,           
  .  ER-     
   ,    . 
         Silverrun   .  
 ,      ,  S-Designor  ERWin, 
   ,       ,  
      ,   ADW  System 
Engineer.    ,   /  
 Silverrun  . 

     
         -   
  Silverrun,     Silverrun-ERX  
Silverrun-DRM ( Silverrun-BPM ).       
,            
   .  ,    
 Internet no  www.silverrun.. 

            
Computer Systems Advisors (. 1-800-537-4262)    .  
    ,      
.     ,    , 
 ,         
    .     
   CSA    . 
       ,    Silverrun     
 , ,          
  . ,  Silverrun  
    CUA-,   , 
,    Windows.   ,  
     ,  ,   
       .   ,  
     Silverrun  Solaris  Windows NT, 
        .    
        , ,  
 ,   Silverrun     
 . 

    98 .  I.  


        

         .  
   ,      
   .       
          
  /.     
    "-",      
  .       
       ,   
         .  
  ,     , 
      . 
        (business process model)  
    : ,  , 
   .       
  ,    .  . 6.1 
            
. 

     6.1.      

                   

     (process) 
    ,     .  
   ,   .  
      ,  ,   
    .. 
      (external entity) 
     ,     ,   
       ,   
   .      , 
,  ,   .. 
     (store)
     , ,                  
.      ,  
,  ,     .. 
     (flow)       
      ,    ,   
.       ,  , 
 ,     .. 
     (resource)   
      ,      - 
.      , ,   
,    .. 
     (qualifier)
        , ,   .           
,   ,      
            
 
      (data structure)
      ,   .    
    

      ,    .   
       Silverrun, , 
         
CASE-   ,          
   . 

      
     CASE-      
  ,    . CASE- 
       ,    
,       .      
  ,  -     
      .  CASE-   
   ,   .  ,   
 ,  CASE-,   
        
    .       
 ,    CASE-. 

     6.     / 99 


       Silverrun 

      
         Silverrun    
  .     ,    
,  ,       
 .   ,    , 
  ,    
.    ,       , 
    CSA   . 

            Silverrun-BPM. 
    Q          , 
   ,     (. 
6.3).       ,   
    . 
    Q     Silverrun    . 
  Presentation       . 
       ,   . 
    Q      Silverrun,    
 .     Presentation=>Grid   
   Grid Spacing   Grid Shown  Grid 
Active.           
  (  0,5 ),      .  
    ,       
.          
. (       
Edit=>Preferences=>Unit Type.) 
    Q     ,    . 
      . 
Silverrun-BPM   Gane-Sarson, Merise, Yourdon-DeMarco  
Ward-Mellor.  ,  Silverrun     
Datarun.        
Presentation=>Notation=>Preset Notation.  ,    
       ,  
Silverrun.        .  
   Ward-Mellor.         
    Q   ,       
. ,   ,       
     ( File=>Save As).    
         . 

         

              
 RENTMAN.   ,     
 : 
    " RENTMAN    ". 
          RENTMAN. 
    Q      . 
    Q      . 
    Q     . 
    Q        . 
          ,    . 
          , , 
  ,  ,     . 
     ,     
       
.        
     .   , 
 ,          
   . 
       ,   , 
        RENTMAN, ..  
    .    ,   
      ,     
  . 

    100  I.  

    . 6.3.    Silverrun-BPM 

           . 
    1.    , ,   . 
    2. ,       . 
    3.  ,         
 . 
            
,       . 
    Q          ? 
    Q      ? 
    Q     ? 
    Q   ? 
    Q      ? 
              
 . 
    Q ,   ,      . 
    Q          .     
    Q ,        
  ,       , 
    .      
 ,       , , 
   .     
    Q       ,    
. 
             
         
  . 
       ,   ,    
 . 
             
  . 
             . 

     6.     / 101 

       ,     , 
 . 
           . 
            
 . 

      

      Silverrun-BPM,   File=>New,   
  (         ,  
 ).   Project=>Project Description    
Project Name        RentMan 
System.   Model=>Model Description    Name  
       Diagram for Lease Process.  
,  <Alt+S>    .      
 LEASE.. 
       External Entity      
  ,      .    
      PROSPECTIVE TENANT.    
  ,     
       - . 
 . 6.4      . 

    . 6.4.       


     

        ,  .   
   ,        (. 6.5). 
    Lease Processing,    Lease Execution 
(     ).  Lease Processing 
         
.       .  Lease 
Execution        
.            
    . 

     

          .    
  ,      
.    CALL (),   PROPERTY ( 
),   TENANT (),    LEASE ( 
).  . 6.6  ,       . 

    102  I.  

    . 6.5.       
    
    Puc. 6.6.      

     6.     / 103

     

      ,  ,   .  
    .      
    ,      , 
   ,    ,   
   ,     ,   
    (    <Esc>).  
  Silverrun-BPM  ,     
.           
,     (    
    ).          
    ,    . 
      PROSPECTIVE TENANT   Lease Processing.  
        Applies for lease.   
        . 
       Lease Processing   PROSPECTIVE TENANT. 
         Notifies of Acceptance. 
         
. 
      Lease Processing  Lease Execution.    
      Verifies Lease.   , 
    . 
    ,   Lease Execution  PROSPECTIVE TENANT.  
  Leases Property.       
   .  . 6.7         
   . 
       ,    . 
  . 6.8         . 

      

    ,           
 .       , 
    .      
     "-" . 
     Silverrun-BPM    ,  
   ERX  RDM.     
   ER-      . 
          
     ,   
,     .      
  ,      .  
   ,      . 
              . 
-,        Project=>Data 
Structures. -,       
 . 
      Project=>Data Structures     
     : CALL, LEASE  TENANT.  
      ,      
  Data Structures,     Add (. 6.9). 
       ,     .  
       Data Structures,   
  Data Structure Composition,     
.      ,     
 ,     Add (. 6.10). 
           .  
     CALL. 
    Call Number 
    Call Date 
    Call Time 
    Property Number 
    Call Description 

    104  I.  


    . 6.7.         

    . 6.8.         
  


     6.     / 105


    . 6.9.        Data Structures 

    Puc. 6.10.        
 Data Structure Composition 


     I.   106

       LEASE   . 
    
    Lease Number 
    Tenant Number 
    Property Address 
    Property City 
    Property State 
    Property Zip 
    Property Addition 
    Property BedRooms 
    Property LivingAreas 
    Property BathRooms 
    Property GarageType 
    Property SchoolDistrict 
    Property Deposit 
    Property Rent 
    Property Range 
    Property Refrigerator 
    Property Dishwasher 
    Property CentralHeat 
    Property CentralAir 
    Property GasHeat 
    Property PrivacyFence 
    Property LastSprayDate 
    Property LastLawnDate 
    Lease BeginDate 
    Lease EndDate 
    Lease MovedInDate 
    Lease MovedOutDate 
    Lease Rent 
    Lease Deposit 
    Lease PetDeposit 
    Lease RentDueDay 
    Lease LawnService 
    Lease Comments 
    
       TENANT   . 
    
    Tenant Number 
    Tenant Name 
    Tenant Employer 
    Tenant EmployerAddress 
    Tenant EmployerCity 
    Tenant EmployerState 
    Tenant EmployerZip 
    Tenant HomePhone 
    Tenant WorkPhone 
    Tenant ICEPhone 
    Tenant Comments 
    
    ,     ,    
   ,     .. 
,            
  .          
     ,     
 . 
       ,        
  ,        . 
         
 .  ,    ,     
  Silverrun-ERX. 
       ,      
 .     Presentation=>Palettes=>Data 
Structures    (. 6.11).     
    ,     
       . 

     6.     / 107 


    . 6.11.          

            
.    CALL   CALL,  
TENANT    TENANT,   LEASE    LEASE.  
          , 
    .        
 Data Structures         
 . 
         ,    
   ,     
.     "-",   
    .     
  Silverrun-ERX. 
    ,      ,     
       Silverrun.  
      ER   
       .    
    ,  . 
    1.     Util=>WRM Dictionary.    Silverrun 
    WRM Dictionary,      WRM Dictionary. 
    2.    WRM Dictionary,    WRM Dictionary 
 Update WRM Dictionary,       
.       Update     
      updt_rep.   ,  
       , Silverrun 
     . 
    3.    WRM Dictionary  Save WRM Dictionary.   
    RENTMAN     Save (). 
    Silverrun       
        . 
     , .  ,   Silverrun-BPM  
  Silverrun-ERX. 

    108  I.  

        

     1976 .   (Peter Chen)      
         ("The 
Entity Relationship Model  Toward a Unified View of Data", ACM Transaction on 
Database Systems, Vol. 1, No. 1 [March 1976], pp. 936).  ,   
 ,   (Hammer)  - (McLeod),  
  ,     ER- 
( "-"),       
        
 . 

     ER- 

    ER-,  ,    .   
   .     
          
.  . 6.12    ER-,  
 . 
         ER-.  
ER-   ,  ,    
,          
      .     
ER- ,  ,  ,      
    .     
,    .  ER-    
            
.  . 6.13    ER-. 

    . 6.12.  ER-  


      
         "-"  , 
   IDEF1X.       
(Robert G. Brown)         70- . 
  ,       
IDEF1X.       ,   
 ,    ,    Lockheed 
 Hughes Aircraft,  Bank of America  .  ,   
IDEF1X     ,      
        
(Federal Information Processing Standards). 

     IDEF1X    ,  ,  
 "-" . ,       IDEF1X 
      ,       
 .       ,  , 
  ,      ERWin  ER/1, 
    IDEF1X. 
        ,  ,     
 ER-,       
   .      
         
 ,        .  
  ,   ,     
     ,     
     . 

     6.     / 109 


    . 6.13.   "- "    
,     


         

         ER-,     
  .       
 ,     .   . 
6.2    ,    ,  
    .      
    ER-,     
    . 

     6.2.                   

                     

     (entity)    
      ( , , , ),  
 .      (entity class) 

      (entity instance)
       . ,    
     .   
    (entity occurrence) 

        (entity relationship (ER) modelling)
        ,   
,          
    .    
    ,   (attribute).  
     ,      
  .     (relationship)  
. ER-      
  


    110  I.  


      6.2. 

     		 

     (subtype) 
     ,     
   ,  . ,   
      .   
    ,      
  .   (, , , ) 
   (subtype cluster) 

     
     ,       
 (supertype) ,  . ,   
      ,     
.      - (S-Type) 

     (attribute) 
       .    . 
,        
  

     (domain) 
         ,    
. ,   TDate      
,         
 .   ,   TNonZeroCost   
  ,          

      
    ,   ,  .   
(domain integrity)    , ,  , 
  ,     Date,   
,  ,   ,     Numeric, 
   

     (relationship) 
      ,   ,     
     .    
   "  ", "  ", "  ", 
" "  ""

      (relational integrity)  
    ,     . , 
       , 
        

     (connectivity) 
             
 . ,        
 ,         
      

     (cardinality)
           .  
,   ,     
. ,        
,       ,   , 
     

     (modality)  
          . 
       
 

     
     ,     
(normalization) .    ,   , 
          
 

      (entity identifier) 
     ,   ,      
   


     6.     / 111 

         ER-  
  .  . 6.3    
 ER-     . 

     6.3.  ER-     

    ER-		  

    			 (table) 
     		 (row) 
     	  (primary key) 
     	  (candidate key) 
    				  (foreign key) 
    				 (column) 
    				  (data tvoe) 

      Silvenun  ,     , 
  ,  ER-     
   .     
    ER-.  ,   
       .   
Silverrun-ERX,          
 ER-,       ,  
 ,  . 
    ,      , 
       ,   
  . 

      "-" 

             
 ,         ER- 
 .  ,      
 Silverrun-ERX,    . 
     ,      
      .     
    "-"     
.        
,   ER-     
  ,      ,  
   "" ER-.         
 .  ER-    
Silverrun-ERX,          
Silvermn-RDM.        
  , ,    Silverrun-ERX   
   ,    ,     
 . 
       ER-      
  .      
 ,     Silverrun-BPM.   
   . 
    1.   Silverrun-ERX    .   
 ,     Silverrun-BPM. 
    2.   Util=>WRM Dictionary.      
WRM Dictionary. 
    3.   WRM Dictionary   Open WRM Dictionary,   
   RENTMAN.WRM,   Silverrun-BPM. 
    4.   WRM Dictionary   Update a Model   
      Update.    
   ,   .    
 ,       ,   
 Yes. 

    112              I.  

    5.          
 ,    Save (),   
     ,     Yes (),  
     . 
    6.        (update completed) 
   . 
    7.      WRM Dictionary,    
  . 
    8.   Presentation=>Palettes=>Component: SR Store,  
     Component: SR Store. 
    9.        , 
   .      , 
  ,     
 .      PROPERTY,  
   ,       
 . 
    10.      . 
    11.    ,      
    . 

     . 6.14     . 

        Silverrun-ERX    ,   
,        
  ,         
 .      ER-.  
      . 
    1.    . 
    2.     . 
    3.     . 
    ,     Silverrun-ERX,   
       .  
      ,   
  .      
Silverrun-ERX,   . 
    1.   Model=>Abbreviations.    
  (. 6.15)       
. ,  ,    Number   
  No.      4, "",  , 
           
   . 
    2.    ,   Expert=>Expert Mode. 
    3.   Expert=>Normalize Model.    , 
   ,    Yes.     
     .    
 Yes. 
    4.     .     
,      ,     
 .         . 6.16. 
     ,      . 
    5.    ,  ,      
   Property.      
,     LEASE.     
      PROPERTY.  . 6.17  ,  
     . 
            ,  , 
,    -        
    PROPERTY. ,  ,    
. ,       PROPERTY,  
     LEASE.     ,  
   CASE-   .  , 
   RPOPERTY,     LEASE   
   Property.     ,   Property 
Number     CALL. 

     6.     /              113 


    . 6.14.    ,    Silverrun 

    . 6.15.        , 
  Silverrun       

     I.  114


    . 6.16.        Silverrun-ERX 

    . 6.17.    Silverrun-ERX   
    

     6.     / 115

     

     , ,     " ", 
     .     
,  ,       
         . 
,          INVOICE,  
          , 
  .         
   ,        
. ,         
    ,  ,   
-    . 
          ,  ,   
      .    
      ,  
     .   
      ,    
 . ,    ,    , 
      .    
 ,         
    . 

      
              , 
     ,   ,   
    ER-,   ,  
  .     ,  ,   
    ,  ,   
    ,    . 

       

           ,  
          
 .   ,     
  . ,  ,     
,    ,    ,   . 
      ,     
    . 
        ,       
           . 
,     ,    LEASE, 
          
    PROPERTY.    ,  
      ,   LEASE 
     ,    
  .       
 . 
             
          
 . ,      
      .  
    Advanced Revelation.   
(multivalued column),       ,   
       .    
  AREV    ,   
 .       (associative 
array)     Peri.       
-,    .     
     ,     
   ,     . 
,       , 
  _ occurs several times  COBOL. ,  
  ,     ,   
, ,       . 
      ,         
,      .  
  ,        
   .   ,  ,  -

    116  I.  

 , -  .    
,          
 . -,      LEASE,   
    LEASE     , 
  ,       
 ,   ,      
 . , ,     
 . -,     
     .  ,  
       .   
     ,     
, -       . 
-,       
,     ,    
  LEASE,    ,     . 

       

           ,   
           
  ,       .  
,          
  . 
          INVOICE.    
    LocationNo  InvoiceNo,    
(location)   LocationName        
  .     ,   
 LocationName  ,      ,   
   .   
      LocationNo,   InvoiceNo 
    .   LocationName  ,  
,      ,     
 INVOICE. 

       

     ,    ,    
     ,      
    .  ,   , 
   ,     
  ,       . 
        INVOICE.     
   LocatioNo  InvoiceNo.     
 , -,  CustomerNo.    CustomerNo 
  INVOICE   CustomerName,     
    ,      
    .     CustomerNo  
       CustomerName,  . 
 ,  CustomerName      
(,   CUSTOMER)         
. 

      
       ,    
- (BCNF  Boyce-Codd Normal Form), ,   ,  
   ,    .  
,     ,  
  (candidate key).      
  . BCNF ,     
    .  , BCNF   
        
  .      
 ,      ,   
    ,     
 ,    .    
  ,    ,   
 ,     ,     
    , 
        ,  .   
      ,   
   . ,      
,   . 

     6.     / 117 

       

           
 .       
,       ,  ,  
     .   
   TENANT  RENTMAN. ,  
,          
,    .    
    TENANT   Employer.    
    (,       
    /),     
 TENANT      .    
  ,    Employer. 
     ,      TENANT   
Employer            
  TenantNo     Employer.   
 ,      ,    
     .  ,  
 ,       . 
  , -     , 
   ,     
 .          
 TenantNo  Employer,        
 . ,         
 ,       TENANT  
       TenantNo. 
             
  .      
      ,   
    . ,     ,  
     . 

       

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

       

           .  
      . 
,          
  ,    TENANT.   ,   
   ,      
 Employer  EmployerAddress   ?!     
   -  ?  ,  . 
             
 .  Allodium Properties,  -,  , 
    .   ,     
          
     .      
    . 
     ,  ,     
,      , 
     (limited denormalization). 
, ,    ,   
    .     
 ,   ,     , 
    ,      
 .          
      ,     
            
.           
      , ,    
,           . 

    118  I.  

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

      "-" 

             , 
       . -,    
   ( ). -,   
     ,  
 . 

      

         ,   
   .      . 
    1.   Expert=>Verify Connectivities.    
 Verify Connectivities   all connectivites, 
,    for selected relationships,     Verify. 
    2.     ,      
      .    
   . 
       In general, is it necessary for a "CALL" to have a "PROPERTY" 
to exist?  No (..    No).     
      . 
       In general, can one "CALL" have many "PROPERTY"?  No. 
  ,          
   . 
       In general, is it necessary for a "PROPERTY" to have a "CALL" 
to exist?  No.      , 
   . 
       In general, can one "PROPERTY" have many "CALL"?  
Yes.          . 
       In general, is it necessary for a "LEASE" to have a "PROPERTY" 
to exist?  Yes.         
 . 
       In general, can one "LEASE" have many "PROPERTY"?  
No.         . 
       In general, is it necessary for a "PROPERTY" to have a "LEASE" 
to exist?  No.       
    . 
       In general, can one "PROPERTY" have many "LEASE"?  
Yes.       ,    
   . 
       In general, is it necessary for a "LEASE" to have a "TENANT" 
to exist?  Yes.        . 
       In general, can one "LEASE" have many "TENANT"?  No. 
      . 

     6.     / 119 

       In general, is it necessary for a "TENANT" to have a "LEASE" 
to exist?  No.      
      . 
       In general, can one "TENANT" have many "LEASE"?  Yes. 
     ,     
  . 
       Silverrun-ERX     
    .         
     .  . 6.18   
    .    . 6.17,  ,  
    CALL  PROPERTY. 

    . 6.18.     

    ,       CALL  PROPERTY 
  1,1  0,1.   ? ,    
, , ,     
   .  ,  1,1   
 CALL  PROPERTY ,      
CALL        PROPERTY.  
    ,      CALL  
     PropertyNo  PROPERTY,  
     .    ,  , 
    PROPERTY     
  CALL,       
 0.   ,    
  ,       
,     .   
 PropertyNo  CALL  . 
      ,  ,  1, ,  
    CALL ,  ,  
    PROPERTY.  ,   
 CALL       .   
,       -   
 (, ,   )   
  -   (,    ). 

    120  I.  

           . 
 ,   ,       
  . 
              
       
     . 
           CALL-PROPERTY, 
  . 
        CALL    0    
 1     PROPERTY. 
    ,           
PROPERTY.   ,  , . ,  
  PROPERTY      
 LEASE,     . 
           .  
CASE-      , 
   .      
    : 

         N   

       ,      
 : 

    CALL     PROPERTY 

      ,  

         N   

        .    
     : 

    CALL    1 PROPERTY 

       ,      .    
,     . 

       

        ER-      
 .        
   ,       
   . 
        :   , 
 .   (natural identifier)   
 (  ) ,       
     . ,  
       
.   (artifical identifier)   
,         
   .   
   CalINo  CALL. 
           . 
-,         
   ,     . , 
        
 ,    ,    
    . -,    
   . ,    CALL  
 CalINo,        ,  
      . 
        RENTMAN     
.            
  ,       
    .    
       . 
           . 
    1.   Expert=>Search for Identifiers. 
    2.    Search   ,   
 for selected entities . 

     6.     / 121 

    3.      ,      
    .     
        Number,  
   . 
            CALL,  
   Call Number,      Continue. 
            LEASE, 
    Lease Number,      Continue. 
            PROPERTY, 
    Property Number,      Continue. 
            TENANT, 
    Tenant Number,      Continue. 
     ,        
  .  . 6.19      
  . 

      

          ,    
  . ,         
 Silverrun-ERX     .    
Silverrun  ,   ,   
 (coded name).       , 
  ..,        
.       
         
      . ,  
          . , 
 SQL Server     30 ,    
     18 .  , 
    ,      ,  
    ,    . 
 Silverrun-ERX    ,   
 ,  ,    .   
 ,        . 
        ,   . 
    1.   Model=>Generate Coded Names. 
    2.    Maximum Length  Nb. of characters used 
from beginning of each word in the name  30.    
        InterBase,   
,  30 (   ),  
 ,   .    
,   Oracle,       30 
.    (   )  3  
30       , 
      .    ,   
,  Tenant Name,    Ten_Nam     
 ,      . 
    3.     ,    Generate. 
          ,     
   (. 6.20).      
         Entity 
Attributes (. 6.21). 
          .   
Model=>Model Description    Model Name   Model 
Description   ER-Diagram for Lease Process.  , 
    Coded Name,     .  . 6.22 
     "-". 
       File=>Save       LEASE.ERX 
    File=>Exit,       Silverrun-ERX. 

    122  I.  


    . 6.19.      

    . 6.20.  Silvenvn-ERX     


     6.     / 123


    . 6.21.  Silvenvn-ERX      , 
  

    . 6.22.   "-' 


    124  I.  


        

    ,      ,    
   ,     
  .  ,  , 
        
"-".       ,  
        
 .       Silverrun-RDM. 
     SQL,     . 

         

     ,  ,      
        .  
. 6.4   ,      
   .      
       ,   
       .   
   , ,  ,    
      . 

     6.4.     

      

      (database)
     ,    .     
   .     , 
 ,           
 

     (table) 
          .   
    ,     .  
     ,     
  ,   .     
 ,   ,       
  (,   ) 

     (row) 
        .     
-,       ,   
   ..       .   
 ,       .   
     .       
        .    
 ,    ,   , ,   , 
  .    "  ",   
,         
.   ,    _    
  

     (column)
     .       
,   .    ,  
     .      
  .        . 
  ,       ,      
    

      (primary key) 
        ,    
 .          
.       .   , 
  -    ,      
,   . ,   ,  
    ,    
    


     6.     / 125 


     . 6,4. 


      

      (foreign key) 
       ,    .  
      .  , 
   ,      ,    
,       .    
-,     ,    
      .     
 .          
,        ,  
  ,        . 
,   ,    -, 
  ,  ,      
 ,    .  ,  
         , 
        

      (candidate  key) 
        ,    
 .      (unique) . 
        

     (join) 
     SQL,         , 
   . ,   ,  
     ,     
SQL,    .     
:  (inner join)   (outer join).   
   ,    .  
    ,   ,  
   

     (constraint) 
    ,     
   .     : 
   (referential integrity)   
  (domain integrity).     
    .     
       ,   
   .. 

     (index) 
       ,    
    .     
       
     ,    
 .     :    
(   ,        
 Oracle).        
 ,   .  ,    
   .      
,        .  
        
,        

     (view)
         . 
           
  SQL,     ,  
    .       
  ()     

      (stored procedure) 
          SQL,  
    .     , 
       ,    
   

     (trigger) 
       ,  ,   
     ,  
 SQL.        
    


    126  I.  

      ,   .    
,        "-", 
     Silverrun-ERX    
.      SQL,     
    . 

      "-"    

    ,   ,   ,   
Silverrun-ERX,  ,   Silverrun-RDM.    
   Silverrun ERX-RDM.     
    Silverrun-RDM.     
"-"   . 
    1.     Silverrun ERX-RDM     . 
    2.  <Alt+T>,     .     
  LEASE.ERX     .   , 
        ,    
   (. 6.23).    ,  
    . 
    3.    Silverrun ERX-RDM. 

    . 6.23.    Silverrun ERX-RDM  "-" 
    


        

    ,  ER-  ,     
   .   Silverrun-RDM,  
  File=>Open         
  LEASE.RDM. (       
     ;      
 Yes.)     .      
  InterBase,       Delphi 
Client/Server.    Avail. Target Sys.     
 INTBAS41.TYP,      .    
 ,     . 6.24. 

     6.     / 127 


    . 6.24.    


       

            .   
Silverrun-RDM     .   ,  
  ,   .   , 
   CASE-,     ( 
    )   .   
   . 
    1.    ,     . 
      -  .  
         . 
    2.      ,    
        .   
,       Silverrun-RDM. 
    3.  -     . 
-   ,    
.    , , ,   Rent  
        EndDate 
 LEASE     BeginDate.    , 
     Silverrun-RDM. 
    4.      .   
       ,  
     .  ,   
   ,    
 .        
    Silverrun-RDM. 
    ,        Silverrun-RDM.  
    . 
    1.   Project=>Target Systems,     
  InterBase     Generate.    
  InterBase     

    128  I.  

    ,     .   
   ,    ,      
     Target Systems,   . 
    2.   Project=>Domains.       
   InterBase.    ,   
   ,        
      .   
          .  
         Domains,  
 . 
         (    ), 
     ,     
.      InterBase. 
       ,      ,   
 . 
        ,      
 ,      ,   
   .       . 
        Add,     . 
            ,    , 
    Domain Description.      
       (Length), 
    (Nbr. Decimals),   (Picture),  
 (Example)      (Default Value).  
,    , :     
  (Null Value Posible),      
(Identity),        (Case Sensitive)  . 
    ,    Domain   
 Values.     (. 6.25)   . 
       ,       Domains. 

    . 6.25.      


     6.     / 
    5 Delphi 3   / 129 

     
        ,     ,  
   Domain Description ,    , 
      .    ,  
    no     
  . 

     . 6.5   ,       
.    ,    . 

     6,5          -: 

                      	           
                                                  

    TAddition         Character 	20      -            'Sherwood'  'Sherwood', 'Deerfield', 
                                                                     'Switzerland Estates', 
                                                                     'Firewheel', 'Legacy Hills', 
                                                                     'RockKnoll' 
    TAddress         Character 	30      -         	         
    TCity            Character 	30      -            'Oklahoma   'Oklahoma City', 'Norman', 
										City'	    'Edmond', 'Dallas', 'Piano', 
         								                'Richardson' 
    TComments        VarChar   	80      -         	         
    TPhone           Character 	13      -                        
    TPropertyNo      Integer        -       -                        
    TRent            Numeric   	5       2               750         
    TRooms           Integer        -       -                       0,1,2,3,4,5 
    TSchoolDistrict  Character      20      -              'Putnam     'Putnam City', 'Oklahoma City', 'Edmond', 
                                                            City'       'Dallas', 'Richardson', 'Garland', 'Piano' 
    TState 		   Character      2       -               'OK'        'OK', 'TX'
    TTenantNo        Integer        -       -                         
    TYesNo           Character      1       -                        'Y', 'N', T', 'F' 
    TZip             Character     10       -               '73132'      

       TComments    ,   
 Null Values Possible,   ,     
,    -  ( ,   
  ). 
     ,   Uniformly Used   
Domain Description.    ,     , 
  .      ,  
        
 .        
   .      , 
       . ,   
  Uniformly Used,     
      ,     . 
     , ,     , 
   4,        T. 
     Delphi   
  VCL.     Object Pascal  
    ,        
 . 

    130      I.  


       

     ,        .  
,       ,    
.         Silverrun-RDM,  
 . 
    1.     .      
 Table Columns. 
    2.            
 . 6.6.  ,   Coded Name     
,   ,      . 
    3.       . 

     6.6.      

     					    

    Addition		TAddition			 
    Address			TAddress			 
    BathRooms		TRooms			 
    BedRooms		TRooms			 
    BeginDate		DATE				 
    Call Date		DATE				 
    Call Time		CHARACTER	11		 
    Call Number		INTEGER			 
    CentralAir		TYesNo			 
    CentralHeat		TYesNo			 
    City			TCity				 
    Comments		TComments			 
    Deposit			TRent				 
    Description		CHARACTER	30		 
    DishWasher		TYesNo			 
    Employer		CHARACTER	30		 
    EmiyerAddress	TAddress			 
    EmployerCity		TCity				 
    EmployerState		TState			 
    EmployerZip		TZip				 
    EndDate			DATE				 
    GarageType		TRooms			 
    GasHeat			TYesNo			 
    HomePhone		TPhone			 
    ICEPhone		TPhone			 
    LastLawnDate		DATE				 
    Last Spray Date	DATE				 
    LawnService		TYesNo			 
    Lease Number		INTEGER			 
    LivingAreas		TRooms			 

     6.     / 131 


     . 6.6. 

     					    

    MovedInDate		DATE				 
    MovedOutDate		DATE				 
    Name			CHARACTER	30		 
    PetDeposit		Trent				 
    PrivacyFence		TYesNo			 
    Property Number	TPropertyNo			* 
    Range			TYesNo			 
    Refrigerator		TYesNo			 
    Rent			TRent				 
    RentDueDay		SMALLINT			 
    School District	TSchoolDistrict		 
    State			TState			 
    Tenant Number		TTenantNo			 
    WorkPhone		TPhone			 
    Zip			Zip				 

    *    CALL 

      

       ,    . 
 : "     , 
   ?"    ,  
 ,    ,  . 
           ,  255, 
   8-  ,    . 
    Q  ,    ,    INTEGER,   NUMERIC. 
    Q          
,     ,    . 
    Q       (,  SQL Server), 
   ,   ,   , 
      . 

       

            
ER-,       .  ,   
       ,   
      .    
    .     
         DDL ( 
    ),       . 
    . 
    1.   Project=>Generate Coded Names.    
 Coded Names Generation    Specify.   Specification. 
    2.   Maximum Length  Nb. of characters used from the 
beginning of each word in the name  30     . 
    3. ,    ,     
(     Specify   Partial). 
    4.    Generate. 

    132      I.  

     ,     Partial,   
Complete.         
 ,     .   Complete 
      ,   
,    .  ,  Partial   
      ,      . 

      

     ,   ,    
,    .     
       .  
Silverrun-RDM     . 
      SQL,  ,  
   ,   .   
       Silverrun-RDM,  
 . 
    1.      .   Table Description. 
    2.    Table       
  Comment.    (. 6.26),    
 ,  . 
    3.           . 
            , 
 . 
    1.       .   Table Columns. 
    2.        ,     
 .   Column Description. 
    3.    Column      
  Comment.  ,      
   (. 6.27). 
    4.           . 
     ,  ,     
   .   ,     
,     ,    , 
     . 

       

    ,      ,   
  .        
 ,    ER-.   
   ,          
  .        
     .    
      . 
           Silverrun-RDM  
,  . 
    1.   Schema=>Foreign Keys=>Generate. 
    2.    Generate   . 
    3.    Save ()    , 
      . 
            .  
      FK,   ,   
   .  . 6.28    . 

     6.     /              133 


    . 6.26.          

    . 6.27.          

     I.  

    . 6.28.       

    ,    .    
  SQL,    , 
 . 

      
         Silverrun-RDM  
   ,   Information 
Egineering, Information Egineering+, Logical Data Structure   
   Datarun.         
,   ,      
  .      
 ,     Presentation=>Notation. 


       

        SQL,      
  ,     .    
 Silverrun-RDM    .  
 . 
    1.   Schema=>Verify Integrity. 
    2.     .    Save 
(),     ,   . 
    3.    ,     ,      
,      . 
    4.    Util=>View a Text File    ( 
  VERIFY, )   . 
          SQL   
         
   -    .  
Silverrun-RDM     .  
         SQL. 

     6.     / 135 

      DDL 

     SQL,    ,     
  DDL (Data Definition Language    ). 
  ,     DDL,   
    .     
 . 
    1.   Schema=>Generate DDL. 
    2.       Coded Name  
   Generate. 
    3.         , 
    ,    SQL.   
     LEASE.SQL. 
      6.1     SQL.    
     InterBase,    DDL,  
 Silverrun-RDM,     SQL  InterBase. 

     6.1.  LEASE.SQL,   Silverrun-RDM 

    CONNECT "E_R_Diagram_for_Lease_Process" USER " " PASSWORD " "; 
    CREATE DOMAIN TAddition AS CHARACTER(20) NOT NULL CHECK 
    (VALUE IN ('Deerfield', 'Firewheel', 'Legacy Hills', 'Switzerland 
Estates', 'Sherwood', Rockknoll') ) ; 
    CREATE DOMAIN TAddress AS CHARACTER(30) NOT NULL; 
    CREATE DOMAIN TCity AS CHARACTER(30) NOT NULL CHECK (VALUE IN ('Oklahoma 
City', 'Norman', 'Edmond', 'Dallas', 'Richardson', 'Piano')); 
    CREATE DOMAIN TComments AS VARCHAR(SO); 
    CREATE DOMAIN TPhone AS CHARACTER(12) NOT NULL; 
    CREATE DOMAIN TPropertyNo AS INTEGER NOT NULL; 
    CREATE DOMAIN TRent AS NUMERIC(5, 2) NOT NULL; 
    CREATE DOMAIN TRooms AS INTEGER NOT NULL CHECK (VALUE IN (0, 1, 2, 3, 4, 5)); 
    CREATE DOMAIN TSchoolDistrict AS CHARACTER(20) NOT NULL CHECK 
    (VALUE IN ('Putnam City', 'Oklahoma City', 'Richardson', 'Edmond', 
'Garland', 'Dallas', 'Piano')) ; 
    CREATE DOMAIN TState AS CHARACTER(2) NOT NULL CHECK (VALUE IN ('OK', 
'TX')) ; 
    CREATE DOMAIN TTenantNo AS INTEGER NOT NULL; 
    CREATE DOMAIN TYesNo AS CHAR(1) NOT NULL CHECK (VALUE IN ('Y', 'N')) ; 
    CREATE DOMAIN TZip AS CHARACTER(10) NOT NULL; 

    CREATE TABLE PROPERTY 
   ( Property_Number PropertyNo NOT NULL, 
     Address         TAddress NOT NULL, 
     City            TCity NOT NULL, 
     State           TZip NOT NULL, 
     Zip             TZip NOT NULL, 
     Addition        TAddition NOT NULL, 
     SchoolDistrict  TSchoolDistrict NOT NULL, 
     Rent            TYesNo NOT NULL, 

    136  I.  

     Deposit            NUMERIC(5, 2) NOT NULL, 
     LivingAreas        TRooms NOT NULL, 
     BedRooms           TRooms NOT NULL, 
     BathRooms          TRooms NOT NULL, 
     GarageType         TRooms NOT NULL, 
     CentralAir         TYesNo NOT NULL, 
     CentralHeat        TYesNo NOT NULL, 
     GasHeat            TYesNo NOT NULL, 
     Refigerator        TYesNo NOT NULL, 
     Range              TYesNo NOT NULL, 
     DishWasher         TYesNo NOT NULL, 
     PrivacyFence       TYesNo NOT NULL, 
     LastLawnDate       DATE NOT NULL, 
     LastSprayDate      TYesNo NOT NULL, 
     PRIMARY KEY (Property_Number) 
    ) ; 

    CREATE TABLE TENANT 
   ( Tenant_Number      TTenantNo NOT NULL, 
     Name               CHARACTER(30) NOT NULL, 
     Employer           CHAR(30) NOT NULL, 
     EmployerAddress    TAddress NOT NULL, 
     EmployerCity       TCity NOT NULL, 
     EmployerState      TState NOT NULL, 
     EmployerZip        TZip NOT NULL, 
     HomePhone          TPhone NOT NULL, 
     WorkPhone          TPhone NOT NULL, 
     ICEPhone           TPhone NOT NULL, 
     Comments           TComments NOT NULL, 
     PRIMARY KEY (Tenant_Number) 
   );
    
   CREATE TABLE CALL 
   ( Call_Number        INTEGER NOT NULL, 
     CallDate          DATE NOT NULL, 
     CallTime          CHARACTER(11), 
     Description        CHARACTER(30) NOT NULL, 
     Property_Number    TPropertyNo, 
     PRIMARY KEY (Call_Number), 
     CONSTRAINT FK_PROPERTY1 
       FOREIGN KEY (Property__Number) 
         REFERENCES PROPERTY 
    ); 
    
    CREATE TABLE LEASE 
    ( LeaseJMumber       INTEGER NOT NULL, 
      BeginDate          DATE NOT NULL, 
      EndDate            DATE NOT NULL, 
      MovedInDate        DATE NOT NULL, 
      MovedOutDate       DATE NOT NULL, 
      Rent               TRent NOT NULL, 
      PetDeposit         NUMERIC(5, 2) NOT NULL, 
      RentDueDay         SMALLINT NOT NULL, 
      LawnService        TYesNo NOT NULL, 
      Comments           TComments NOT NULL, 
      Property_Number    TPropertyNo NOT NULL, 
      Tenant_Number      TTenantNo NOT NULL, 
      PRIMARY KEY (Lease_Number), 
      CONSTRAINT FK_PROPERTY2 
        FOREIGN KEY (Property_Number) 
          REFERENCES PROPERTY,     
      CONSTRAINT FK_TENANT3 
       FOREIGN KEY (Tenant_Number) 
         REFERENCES TENANT 
    ); 

     6.     / 137 

        ,      
 RPOPERTY,     .   
PROPERTY    ,     
 .       
,    ,   . 
     ,       , 
      InterBase.    
      .   , 
 .  -      
    .     
     . ,    
   ,   Yes/No,   
 TYesNo.      - 
 ,      . 
                
CONNECT, ,   ,       
InterBase,          . 
,    ,       
 ,    . 
           
"-",    ,   
Silverrun-ERX.   ,  ,     
   . 
        Schema=>Schema Description     
Local Name    Relational Data Model for Lease Process 
(. 6.29).     Coded Name     
  InterBase. , ,   :\DATA\RENTMAN\RENTMAN.GDB, 
             , 
  DDL. 

    . 6.29.    Schema Description  
   

    138       I.  

      ,        
  , " ".     LEASE.DRM. 
         ,    
  DDL.    Schema=>Generate DDL   
 LEASE.SQL (    Coded Name).   
   CONNECT     . 

    CONNECT ":\DATA\RENTMAN\RENTMAN.GDB" USER " " PASSWORD " "; 

             
   . ,      
   SYSDBA    
   . 

    CONNECT "C:\DATA\RENTMAN\RENTMAN.GDB" USER "SYSDBA" PASSWORD "masterkey"; 

        SQL    
Delphi.       Delphi  
     SQL      
,        Database 
Explorer.  . 6.30     Delphi   
   LEASE.SQL. 

    . 6.30.    SQL    
 Delphi 

         Windows  Multi-Edit for Windows.  
    .    
,      ,  
  ,  ,     
 ,         
 (, HTML, Pasal, Basic  ..).   Delphi  
,     Multi-Edit    
Delphi  -   . 

     6.     /              139 

         SQL    
 Multi-Edit,     Delphi.    
  ,   MultiEdit,    
   SQL (, ISQL, WISQL, SQL*Plu5  ..).  
    SQL     
.       SQL,   
Multi-Edit,      SQL.    
    American Cybernetics,  Multi-Edit.
     Silverrun-RDM     Delphi  
  Delphi.        
     Delphi,     
   .       
   " ",     8. 

        

       ,     
   .       
    .        
,         
   . ,     RENTMAN,  
 WISQL InterBase,    File  Run an ISQL Script,  
      .    
    Run,       RENTMAN. 
       ,     
 InterBase.      InterBase 
Server 4.2,    InterBase 4 .2 (, ,   
Delphi Client/Server   InterBase). 

     

               
 ,       
  .    ,     
   RENTMAN.       
,        .  , 
           
  .        
     . 
         RENTMAN,      
,       , " ".  
            
   /.    
  ,         
   /.      
     . 

     ... 

     7, "   /",  
        ,  
, ,      .   
     ,    
,         
     .  7   ,   
          
,    . 

    140      I.  
