Legacy Database Reverse Engineering and Methodology

In summary: ERwin model to reconstruct the database. Jedishrfu has some good points about difficulties with non-core tables. Sparx Enterprise Architect is a good tool for this purpose. Depending on the size and scope of the project, different tools might be more appropriate.
  • #1
WWGD
Science Advisor
Gold Member
7,009
10,469
Hi All,
Say we have a legacy database that is not well-documented and we want to reverse-engineer it.
I am looking for an effective way of doing it. Only way I can think is using something like ERwin to
produce a Conceptual, Logical model for the database from which we can reconstruct the (Physical)
database. Right? Since this process would be well-documented and reasonably straightforward, would it be reasonable to use a Waterfall to see it through? I don't think Agile/Scrum would work well. Right?
 
Computer science news on Phys.org
  • #2
It’s not easy to reconstruct a logical database schema from the physical database. You might have more success studying the queries used to extract data.

I once had a patent idea that extracted the star schemas from a database using table meta info, naming conventions of columns and tables and statistics of columns to decide a fact table (many rows many keys) from dimension tables (few rows few keys) heuristic. It was for doing data mining and cube analysis.

But physical schemas can have a lot of added info for distributed databases which just isn't a part of the logical one. Erwin may be able import the schema and then you’d have to reorganize it into something conceptually better.
 
  • Like
Likes QuantumQuest, jim mcnamara and WWGD
  • #3
@jedishrfu has some great points. IMO DB objects not in core schemas are more than painful, they can derail a lot of efforts at a total schema. I would rely on whatever external source code exists - especially code that inserts into or reports from those oddball tables.
 
  • #4
Sparx Enterprise Architect is also a good tool for this purpose, its mostly comparable to ERwin. Different people have different preferences for tools that do things like this, my preference is for Sparx so that's mostly what I use.

Waterfall vs Agile/Scrum I would think would depend size and scope, platform changes, special customization, and expected changes to things like user interfaces or application interfaces.

I've also worked with a company called Auctor that specializes in reverse engineering, assessing and modernizing complex "legacy systems". I believe they use a tool called "evolveware".

Kyle
 
Last edited:
  • Like
Likes WWGD

1. What is legacy database reverse engineering?

Legacy database reverse engineering is the process of analyzing and understanding an existing database that was not properly documented or maintained. It involves extracting information about the database structure, relationships, and data in order to create a more organized and efficient database.

2. Why is legacy database reverse engineering necessary?

Legacy database reverse engineering is necessary because it allows for a better understanding of an existing database, which can be important for businesses that have been using the database for a long time. It also allows for the identification and resolution of any issues or inefficiencies in the database, leading to improved performance and data management.

3. What is the methodology for legacy database reverse engineering?

The methodology for legacy database reverse engineering typically involves four main steps: data extraction, data analysis, data modeling, and database design. The process may also include tasks such as data cleansing and normalization, as well as documentation of the database structure and relationships.

4. What are the benefits of using a methodology for legacy database reverse engineering?

Using a methodology for legacy database reverse engineering helps ensure a systematic and comprehensive approach to understanding and improving an existing database. It also helps to minimize errors and inconsistencies in the data and allows for a more efficient and effective process.

5. What are the challenges of legacy database reverse engineering?

The main challenges of legacy database reverse engineering include dealing with poorly documented or outdated databases, as well as the potential for data loss or corruption during the process. It can also be time-consuming and resource-intensive, especially for large and complex databases.

Similar threads

  • Programming and Computer Science
2
Replies
50
Views
4K
Replies
2
Views
885
Replies
3
Views
565
Replies
9
Views
1K
Replies
20
Views
1K
  • Computing and Technology
Replies
6
Views
2K
  • Computing and Technology
Replies
3
Views
2K
Replies
1
Views
539
  • Introductory Physics Homework Help
Replies
6
Views
994
  • Quantum Interpretations and Foundations
Replies
1
Views
1K
Back
Top