                          ķ
                            NORMALIZING DATA  
                          Ľ
                            by George L. Jereza

    Normalizing data is a process in which a .dbf file is reduced to two
    dimensions  (i.e.  flat).    A  flat  .dbf  file has one primary key
    (field) and attributes (other fields) in which ONLY the primary key,
    can access the other fields  (i.e. non-key fields have no  access to
    other non-key fields).

    The normalization process involves at  least three steps (a step  is
    called a 'normal form' in database computerese).

    1. First normal from:
       Remove repeating groups.  That is, make a separate .dbf file  for
       each set of related fields, and give each new .dbf file it's  own
       primary key.
             Example:
             PC configuration
             Cpu type
             Bus type
             Manufacturer
             Warranty period
             Nearest Service location
             List price
             Dealer name          Ŀ
              Dealer code          
              Discount price       
              Telephone            
              Address                 a repeating group
             Dealer name           
              Dealer name          
              Discount price       
              Telephone            
              Address             

    2. Second normal form:
       Remove redundant data.  That is, removed field(s) which are
       dependent on only part of a multi-valued key.
             Example:
             PC configuration     Ŀ  a multi-valued key
             Dealer name          
              Dealer code      <--  remove this field (unnecessary
              Discount price             because of the Dealer name field)
              Telephone
              Address

    3. Third normal form:
       Eliminate fields not dependent on the primary key. That is, if
       field(s) do not contribute to the description of a primary key,
       remove to  a separate .dbf file.
             Example:
             PC configuration
             Cpu type
             Bus type
             Manufacturer         Ŀ
             Warranty period         remove to new .dbf file
             Service provider      
             List price           

    As a result of the normalizing steps in the above example, there
    are now several .dbf files (instead of one master .dbf file).

    For most situations, the above steps are adequate.  Additional
    steps may be required for those cases involving one-to-many and
    many-to-many relationships.

    SysOp's Parting Shot:

       "In anything at all, perfection is finally attained not
       when there is no longer anything to add, but when there
       is no longer anything to take away".

                                       Saint-Exupry
                                       Wind, Sand, and Stars

