If there is no data element in the child segment that will serve to uniquely distinguish the segments, the logical key to the child table is formed by concatenating the parent key with an arbitrary sequence number. The data extract and loading process must be explicit as to whether new rows are inserted or replaced. Since these rules are specific to each subject area, they are not discussed in these guidelines. Referential integrity . Declarative integrity prevents any screen or query from entering, changing or deleteing data that violates integrity constraints.
Procedural integrity puts the burden on the screens or queries to prevent violation of the rules.
The data warehouse is updated in batch mode, usually a complete row at a time. Since those who are loading data into the data warehouse are otherwise not involved with the data subject area, and do not like getting messages about violations of integrity constraints, the responsibility for referential integrity must lie first with the mainframe application system that collects and manages the data and second with the data extract process. The design of the extract process might consider adding rows to some tables to make it explicit that, for example, the key's value exists in the database but a label is not available for a particular code. Another way of solving referential integrity problems is to denormalize a table as part of the extract process. This approach can have a positive performance impact as well.