Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between reverse and forward engineering in SQL [closed]

Tags:

sql

I am currently learning to use SQL and I am confused about the fundamentals of the difference between these two. I am currently using the MYSQL Workbench.

Thank you for your answers!

like image 519
SDG Avatar asked Aug 31 '15 19:08

SDG


2 Answers

Forward Engineering Going from a logical data model to a physical data model. This is easy because the design includes all dependencies, indexes and relationships between the components of the data model.

Reverse Engineering Attempting to reconstruct the logical data model from a physical data model. This is hard because not every database engine has the means to store the interdependencies between objects in a logical model, and sometimes these relationships are lost altogether. This information has to be somehow recovered by analyzing the data and inferring the missing relationships.

Compare this to compiling source code VS decompiling binary code.

like image 181
Stavr00 Avatar answered Oct 09 '22 20:10

Stavr00


Forward engineering in SQL is using a script or database model to create or alter a new database: https://dev.mysql.com/doc/workbench/en/wb-forward-engineering.html Reverse engineering in SQL is creating a script or model based on an existing database: https://dev.mysql.com/doc/workbench/en/wb-reverse-engineering.html

like image 21
Kyle Willoughby Avatar answered Oct 09 '22 18:10

Kyle Willoughby