Referential Integrity Checking
This document describes how Catalog Tool checks for referential integrity among the catalog files.
Referential integrity is a database concept that ensures that relationships between the tables remain consistent. In Catalog Tool, referential integrity is performed during validation mode. The following referential integrity checks are performed:
Note, however, that not all referential integrity checks can be performed if the set of catalog files that were passed into the tool is incomplete. For example, if a TARGET.CAT file is not passed into the tool, then target integrity checks will not be performed.
Reference Integrity
In a reference integrity check, Catalog Tool will ensure that referential integrity exists in the use of REFERENCE_KEY_ID and REFERENCE_DESC as follows:
- Each REFERENCE_KEY_ID value specified in a catalog file other than the REF.CAT file exists in the REF.CAT file.
- Each REFERENCE_KEY_ID value specified in the REF.CAT file is specified in at least one other catalog file.
- Each REFERENCE_KEY_ID value exists in the 'allrefs' dictionary support file.
- Each REFERENCE_DESC value specified in the REF.CAT file matches the corresponding value in the 'allrefs' dictionary support file.
Personnel Integrity
In a personnel integrity check, Catalog Tool will ensure that referential integrity exists in the use of PDS_USER_ID and NODE_ID as follows:
- Each PDS_USER_ID and NODE_ID value specified in a catalog file other than the PERSON.CAT file exists in the PERSON.CAT file.
Target Integrity
In a target integrity check, Catalog Tool will ensure that referential integrity exists in the use of TARGET_NAME as follows:
- Each TARGET_NAME value specified in a catalog file other than the TARGET.CAT file exists in the TARGET.CAT file.
- Each TARGET_NAME value specified in the TARGET.CAT file is specified in at least one other catalog file.
Instrument Integrity
In an instrument integrity check, Catalog Tool will ensure that referential integrity exists in the use of INSTRUMENT_ID as follows:
- Each INSTRUMENT_ID value specified in a catalog file other than the INSTRUMENT.CAT file exists in the INSTRUMENT.CAT file.
- Each INSTRUMENT_ID value specified in the INSTRUMENT.CAT file is specified in at least one other catalog file.
Instrument Host Integrity
In an instrument host integrity check, Catalog Tool will ensure that referential integrity exists in the use of INSTRUMENT_HOST_ID as follows:
- Each INSTRUMENT_HOST_ID value specified in a catalog file other than the INSTRUMENT.CAT file, exists in the INSTRUMENT.CAT file.
- Each INSTRUMENT_HOST_ID value specified in the INSTRUMENT.CAT file is specified in at least one other catalog file.
Mission Integrity
In a mission integrity check, Catalog Tool will ensure that referential integrity exists in the use of MISSION_NAME as follows:
- Each MISSION_NAME value specified in a catalog file other than the MISSION.CAT file exists in the MISSION.CAT file.
- Each MISSION_NAME value specified in the MISSION.CAT file is specified in at least one other catalog file.
Data Set Integrity
In a data set integrity check, Catalog Tool will esnure that referential integrity exists in the use of DATA_SET_ID and DATA_SET_ID_COLLECTION_ID as follows:
- Each DATA_SET_ID value specified in a catalog file other than the DATASET.CAT file exists in the DATASET.CAT file.
- Each DATA_SET_ID value specified in the DATASET.CAT file is specified in at least one other catalog file.
- The DATA_SET_COLL_OR_DATA_SET_ID value specified in the VOLUME.CAT and NSSDC.CAT files is consistent with the DATA_SET_ID or DATA_SET_COLLECTION_ID value specified in the DATASET.CAT file.
- The PRODUCT_DATA_SET_ID value specified in the INVENTORY.CAT file is consistent with the DATA_SET_ID or DATA_SET_COLLECTION_ID value specified in the DATASET.CAT file.