Kbase P14506: How to find all the redundant data when normalising your database design.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/16/2008 |
|
Status: Unverified
GOAL:
How to find all the redundant data when normalising your database design.
GOAL:
Is it possible to find in a Progress database all the instances of a given piece of data (for instance, a given string).
FACT(s) (Environment):
Progress 9.1x
FIX:
Progress can be of help only when trying to find fields that have the same name across different tables, for example:
/* The WHERE clause on _File excludes Progress schema tables. */
FOR EACH _Field NO-LOCK,
FIRST _File OF _Field WHERE _File._File-num > 0 AND
_File._Owner "SYSPROGRESS"
NO-LOCK
BREAK BY _Field._Field-Name:
IF FIRST-OF(_Field._Field-Name) AND LAST-OF(_Field._Field-Name) THEN
NEXT.
IF FIRST-OF(_Field._Field-Name) THEN
DISPLAY _Field._Field-Name COLUMN-LABEL "Possible Duplicate Field".
DISPLAY _File._File-Name COLUMN-LABEL "Tables".
END.
But even with this program, we cannot quickly identify those cases where the same piece of duplicate data is stored in fields with different names. For such cases, it would be interesting to have a Progress utility that scans the whole database in search for duplicate data, but unfortunately at the time of this writing there is no such utility.