The complexity of Oracle® Applications’ relational databases has grown exponentially with each new version release, resulting in a system that is extremely difficult to implement and maintain. For example, Oracle Applications 184.108.40.206 contains over 2 million columns, each of which could be related to any other, or could be part of a check constraint, or part of a unique or primary key.
The constraints (or rules about the data) determine the sequence of changes made to the database. Most of these rules are not documented at the database level, so if a change is to be made, the rules have to be discovered and then validated with actual data. Furthermore, because rules cascade in a relational database, it is impossible to comprehend all of the possible combinations of relationships, making manual mining of the rules a daunting task that will almost certainly result in compromising the data integrity. While consultants with expert knowledge of relational databases can be an asset to an organization undergoing changes to their data systems, the assistance of software is necessary to ensure complete and correct data as well as an understanding of the impact of change. Verification has been a manual process, as analysts and consultants manually mine the database attempting to maintain data integrity, checking as many of the possible existing combinations as they can and keeping numerous spreadsheets as workarounds to making changes in their Apps.
The changes and rules at the database level do not consider the impact of business changes to related data. (If a product ID is changed, what is the business impact to production and inventory processes?) Managing the complexity of change both at the database level and at the business process level often results in a disconnect between the technical and functional players of database management. The time-consuming task of manual mining is naive concerning its effects on business processes, often proving very costly for a company going through data and business changes.