Legacy Database Reverse Engineering and Methodology

Click For Summary

Discussion Overview

The discussion revolves around the methodologies and tools for reverse-engineering legacy databases that lack proper documentation. Participants explore various approaches to reconstructing database schemas and the suitability of different project management methodologies for this task.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant suggests using ERwin to create a conceptual and logical model from a legacy database, proposing that this process could be straightforward and well-documented.
  • Another participant argues that reconstructing a logical schema from a physical database is challenging and recommends analyzing the queries used to extract data as a potentially more effective method.
  • A participant shares an idea for extracting star schemas from a database using metadata and naming conventions, highlighting the complexity of physical schemas in distributed databases.
  • There is a mention that external source code related to the database can be valuable for understanding non-core schema objects.
  • One participant recommends Sparx Enterprise Architect as an alternative tool to ERwin, noting that preferences for tools can vary among users.
  • Another participant indicates that the choice between Waterfall and Agile/Scrum methodologies may depend on factors such as project size, scope, and expected changes in user interfaces.
  • A participant references a company called Auctor that specializes in reverse engineering legacy systems and mentions their use of a tool called "evolveware."

Areas of Agreement / Disagreement

Participants express differing opinions on the best tools and methodologies for reverse-engineering legacy databases, indicating that there is no consensus on a single effective approach.

Contextual Notes

Participants note that the complexity of physical schemas and the presence of non-core schema objects can complicate the reverse-engineering process. There are also references to specific tools and methodologies that may have varying effectiveness depending on the context.

Who May Find This Useful

Individuals involved in database management, software development, or data analysis, particularly those dealing with legacy systems and seeking methodologies for reverse-engineering databases.

WWGD
Science Advisor
Homework Helper
Messages
7,806
Reaction score
13,120
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
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   Reactions: QuantumQuest, jim mcnamara and WWGD
@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.
 
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   Reactions: WWGD

Similar threads

  • · Replies 50 ·
2
Replies
50
Views
9K
Replies
2
Views
3K
  • · Replies 19 ·
Replies
19
Views
5K
  • · Replies 5 ·
Replies
5
Views
3K
Replies
17
Views
6K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 20 ·
Replies
20
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
Replies
6
Views
2K