Representation of data values

Null values. Oracle implements a concept of null values that does not commonly occur in mainframe applications written in COBOL. A null value means that "data is not available." Every data type in Oracle has a specific internal value that represents a null value; for numeric data, a zero and a null are not the same; for character data, all blanks and null are not the same. If declarative integrity constraints are being used, null values are not allowed in the primary keys of a table; although a compound key can contain a data value that is all blank, it cannot contain a column that has a null value.

Some mainframe applications do not distinguish between a null value and a "default value." For example, a field that is initialized to all zeros and then over-written if actual data is available must be interpreted very carefully when it is represented on the data warehouse.

Dates. All dates in the data warehouse will be stored as Oracle dates (which can be displayed in many different formats according to a user's needs). Internally, Oracle stores the time of day with every date.

Dates must go through a date-editing routine in the extract process to assure that illegal dates (e.g., February 30th) are not submitted to Oracle for loading. Other characters. All other characters will be translated from the EBCDIC to the ASCII equivalent. The two character sets do not really match completely, but the characters that are used on the mainframe (the alphabetic and numeric characters) all do have an ASCII equivalent.

Metadata should indicate data elements that are inconsistently used (e.g. used by only one campus, etc.).