Database Structure Change

We already have a database structure, but it is the structure without normalization and very confused and in need of change, but already has a large volume of stored data, for example, all financial data company, which finance department officials are afraid of losing.
We are undecided about remodeling the entire structure of the database and retrieve the most basic and all that is possible, or continue with the same model along with their problems.
I wonder if someone has made ​​a change like this, if you can actually transfer the data to a new structure.
thanks
Marco Bueno
System Analyst - Melies on Line.

Editorial / Best Answer

Bapineedu Bollempalli  

  • Member Since Sep-2011 | Sep 18th, 2011


What ever data base structure you have you can get a Logical model out of it using Reverse Engineering. Erwin is one data model tool which does it. You should apply normalizing techniques to bring the same to a 3NF (Normal Form) and reduce the redundancy. Creating new entities by breaking up of de-normalized entities. Resolving many to many relationships. Finally create a new database structure (Physical Model) based on 3NF from the logical model. Once you acheive a model in 3NF you can do Data migration by simple ETVL ( Extract, Transform, Validation and Load) from old data structure to new data structure. Before doing it your High Level Design should have proper Data mapping document and Metadata document so that you do not lose data.

Showing Answers 1 - 6 of 6 Answers

What ever data base structure you have you can get a Logical model out of it using Reverse Engineering. Erwin is one data model tool which does it. You should apply normalizing techniques to bring the same to a 3NF (Normal Form) and reduce the redundancy. Creating new entities by breaking up of de-normalized entities. Resolving many to many relationships. Finally create a new database structure (Physical Model) based on 3NF from the logical model.

Once you acheive a model in 3NF you can do Data migration by simple ETVL ( Extract, Transform, Validation and Load) from old data structure to new data structure. Before doing it your High Level Design should have proper Data mapping document and Metadata document so that you do not lose data.

  Was this answer useful?  Yes

Rohit

  • Nov 18th, 2012
 

It purely depends what kind of problem you are facing currently. Performance issue can be dealt in n different ways, you need to see the current configuration of DB, the queries, the hardware etc. If you are facing semantic issue such as incorrect query result, heavy redundancy, anomalies, etc. then I would say the model business needs a re-evaluation. Try to break the model by business function and call them as subject area, e.g. revenue, profit, etc. Slice and dice to the root level where you are facing the issue. Example may be say you are getting a single load of revenue data which is getting dumped into a flat table with no proper key defined etc. this is a case of duplication making an entry. Then check if you can normalize this single table and define proper keys. This narrowing down of problem will reduce the amount of change. I never recommend a total make over for any data model due to certain cost factors. Create a test schema and run the new queries to test the results. Once you are confident with unit and system testing, you can denormalize the table retaining the keys. This is will certainly need some changes in your ETL, but worth the effort. If the DB is solely used for reporting and there is an appetite for slight inconsistency, and performance is the main concern then you can try using the open source big data appliance such as hadoop and hive DB (for DW reporting) or Cassandra for OLTP. The beauty of these application is that they need minimal modeling and is very easy to configure a sand box.
Regards
Bibudesh Rohit

  Was this answer useful?  Yes

Give your answer:

If you think the above answer is not correct, Please select a reason and add your answer below.

 

Related Answered Questions

 

Related Open Questions