× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: Re: Seeking Database Design Guide
  • From: Buck Calabro <mcalabro@xxxxxxxxxxxx>
  • Date: Wed, 30 Jul 1997 16:11:41 -0400

>> Now it's time for the critic to take some of his own medicine. 
>>  I want to bring my design skills up
>> to standard to take advantage of the features DB2/400 offers..
>> 
>> Your advice, please!  
>
>Grab yourself any book which explains database normalization..
>In a nut shell there are 5 levels of normalization..
>If a data base is designed to at least the third level:
>No compound fields, no repeating fields, no file containing data that is
>not dependant upon the key..
>Then you're doing pretty good.  The objective is that a piece of
>information only exists in one place..

Has anyone here used "surrogate keys" for their files?
For example, we have a payroll master file containing 
Employee#, Employee name
we have a payroll transaction file containing
Employee#, date, hours, rate of pay

Let's say that the time-entry had a foobar, causing employee A's
time to be entered under employee B and vice versa.  With the
database as-is, we can't easily exchange the employee numbers
because of duplicate keys.

If we add a surrogate key to the files:
Key,Employee#, Employee name
Key,Employee#, date, hours, rate of pay

and made Key the unique key to the file, then Employee# is simply
an attribute, like Name and Hours.  

Now, given the same mistake, it's easy to simply swap the employee
numbers because the surrogate keys are different for each employee.

Our Synon developers are starting to use the surrogate key
concept, and I was curious as to how widespread the practise is.

Buck Calabro
Commsoft, Rensselaer, NY
mcalabro@commsoft.net

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* This is the Midrange System Mailing List!  To submit a new message,   *
* send your mail to "MIDRANGE-L@midrange.com".  To unsubscribe from     *
* this list send email to MAJORDOMO@midrange.com and specify            *
* 'unsubscribe MIDRANGE-L' in the body of your message.  Questions      *
* should be directed to the list owner / operator: david@midrange.com   *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.