Reverse data modeling is basically a form of reverse IT code engineering and it is a process wherein an IT expert tries to extract information from an existing system in order to work backward and derive a physical model and work further back to a logical model in the case of data modeling.
Because of the some of the nuances associated with different database systems and development platforms, reverse data modeling is generally a difficult task to accomplish. But today, there are software vendors trying to offer solutions to make reverse data modeling relatively easier to do. These reverse data modeling software solutions can take snapshots of existing databases and in producing physical models from which an IT staff can begin to verify table and column names.
While it can be generally relatively easy to document table and column names through using such tools, or by reviewing database creation scripts, thing that is really very complicated and difficult to do is dealing with the relationships between tables in the database.
Hard skills like coding and software engineering are very important in reverse data modeling, some soft skills like documentation, employee know-how, training, can also be invaluable in figuring out exactly how data is being used by the system in question.
One of the biggest factors for a successful task of reverse data modeling is learning as much as possible about using the application can you determine how the existing data structures are being used and how this compares with the original design.
Reverse data modeling is a technology that represents a big opportunity for some legacy reporting systems to have its useful life gain extension but it should not be construed as a permanent replacement for the data warehousing technology stack.
Reverse data modeling has also a very big role in helping improve the efficiency of enterprise applications by determining faults in the design, aiding integration of existing systems by pinpointing table and column definitions and relationships between such tables, and allowing comparisons of existing systems with potential new system solutions.
A data warehouse implementation is based on an enterprise data model a system for analyzing data in at least data source of an enterprise. The system may be comprised of various steps like a step for providing a meta model for an enterprise as well as step in forming the data schema from the meta model. Also included in the system may be the definition for creating a database organized to the data schema, incorporating data into the database is part of the system, and performing analysis on the data in the database.
Some commercial software offers solutions that can enable true enterprise application engineering by storing and documenting data, processes, business requirements, and objects that can be shared by application developers throughout an organization.
With reverse data modeling and the help of such software, the business organization implementing an enterprise data management system can easily design and control enterprise software for quality, consistency, and reusability in business applications through the managed sharing of meta-data.
Like all other reverse engineering technologies regardless of whether they are for software or hardware or non-IT implementation, reverse data modeling is very useful in time when there is a deep seated need for system troubleshooting with very complicated problems. Reverse data modeling can give IT staff with a deeper insight and understanding of the data models thereby empowering them to come up with actions to improve the management of the system.