Ingeniería reversa desde una base de datos Oracle

En algunas ocasiones nos encontramos con bases de datos en diversos ambientes: producción, pruebas o test y desarrollo que no poseen la documentación adecuada como: diccionario de datos, diagramas lógico y físico. Sin importar el ambiente, una base de datos debe estar acompañada con la documentación adecuada que no solo permitirá realizar los mantenimientos adecuados, también brindará al personal técnico que se encarga de desarrollar aplicaciones conocer de mejor manera cómo interactuar con sus estructuras (tablas, vistas, procedimientos almacenados, funciones, paquetes, etc.).

Ventajosamente hay muchas herramientas que nos permiten hacer una ingeniería reversa, y a nivel de bases de datos podemos desde una de ellas, crear o reconstruir los diagramas físico, lógico, y diccionario de datos. Cuando trabajamos con bases de datos Oracle, contamos con:

  • Oracle SQL Developer Data Modeler: Con esta herramienta podemos diseñar los modelos lógicos y físicos, y generar el diccionario de datos.
  • Oracle SQL Developer: Con esta herramienta podemos ejecutar sentencias de lectura (Select) y sentencias de manipulación de datos (Insert, Delete, Update); además que nos permite crear/modificar toda la estructura lógica de la base de datos (tablas, índices, paquetes, etc.)

Por ejemplo, en un escenario en donde nos conectamos con el esquema de recursos humanos, que es parte de los ejemplos cuando creamos una base de datos en Oracle, en SQL Developer podemos ver a nivel de estructura de tablas el listado mostrado en la figura


Ahora si quisiéramos ver un mapa o diseño de cómo estas tablas se relacionan, podemos usar a Oracle SQL Developer Data Modeler, así:

1. Vamos a ejecutar un asistente que nos guiará en el proceso de reingeniería

2. En el asistente debemos establecer una conexión a una base de datos existente, seleccionar el esquema de base de datos, seleccionar los objetos del esquema que deseamos analizar o ver y finalmente generar el diseño.

3. Finalmente, tendremos el esquema o diseño físico de la base de datos HR, en donde podremos visualizar como las tablas se relacionan. Desde este esquema físico también se puede llegar al diseño lógico, estos modelos entidad-relación son los que estudiamos y creamos cuando estamos cursando la materia de base de datos en la carrera de Ingeniería Informática, de Sistemas o carreras afines. Son un mapa que permite al administrador saber cómo las estructuras se relacionan, y muy usado por los desarrolladores que interactúan con aplicaciones y datos que se almacenan en el repositorio.