Este documento describe el proceso de ingeniería inversa para generar un modelo lógico de una base de datos física usando Moskitt. Explica los pasos para conectarse a la base de datos, lanzar el asistente de ingeniería inversa para seleccionar los objetos a incluir, y visualizar el resultado en el editor de bases de datos de Moskitt.
2. Introducción
La Ingeniería Inversa (Reverse engineering) trata
de generar un Modelo de Base de Datos Lógico a
partir de una Base de Datos Física.
Moskitt genera ingeniería inversa para:
PostgreSQL (poner versiones)
Oracle (poner versiones)
MySQL (poner versiones)
4. Pasos
Crear la conexión de la Bases de Datos con el
Explorador de Conexiones.
Lanzar el asistente para la Ejecución de Ingeniería
Inversa.
Visualizar el resultado con el Editor de Bases de
Datos de MOSKitt.
5. Pasos
Crear la conexión de la Bases de Datos con la vista
del Explorador de Conexiones.
Lanzar el asistente para la Ejecución de Ingeniería
Inversa.
Visualizar el resultado con el Editor de Bases de
Datos de MOSKitt.
6. Conexión con la BD (1/11)
Obtener el driver JDBC correspondiente a la Base
de Datos a la que queremos conectarnos.
Abrir el Explorador de Conexiones con Bases de
Datos de Eclipse (Data Source Explorer)
Crear una definición (profile) para la fuente de
datos con la que queremos conectarnos (MySQL,
PostgreSQL, Oracle).
7. Conexión con la BD (2/11)
Abrir la Vista del Explorador de Conexiones con
Bases de Datos de Eclipse:
Window/Show View/Other.../Data Management
Data Source Explorer
8. Conexión con la BD (3/11)
Obtener el driver JDBC correspondiente de:
Zope /G. Base de Datos / General / Software /Drivers JDBC
(http://zope.coput.gva.es/bd/bdgeneral/software/software.html#JDBC)
Para Oracle:
ojdbc14.jar
Para PostgreSQL:
postgresql-8.2-509.jdbc.jar
Para MySQL:
mysql-conector-java-5.0-4.bin.jar
9. Conexión con la BD (4/11)
Crear una definición (profile) para la fuente de datos
con la que queremos conectarnos (MySQL,
PostgreSQL, Oracle):
1.- Botón derecho sobre “DataBase Connections – New ... ”
2.- Se abrirá la ventana “New Conexión Profile”
3.- Situarse sobre la BD con la que se desea conectar
10. Conexión con la BD (5/11)
Crear una definición (profile) para la fuente de datos
con la que queremos conectarnos (MySQL,
PostgreSQL, Oracle):
4.- Crear una nueva definición para el driver.
New Driver Definition
11. Conexión con la BD (6/11)
4.- Name/Type: Seleccionar el Driver que vamos a definir.
5.- Jar List: Cargar el Driver JDBC que vamos a utilizar
6.- Properties: Completar la descripción del Driver
(4) (5)
(6)
12. Conexión con la BD (7/11)
6.- Properties: Completar la descripción del Driver
Connection URL: jdbc:subprotocol:[//|@]host:port[/|:]bd
jdbc: Indica que el protocolo que se está utilizando es JDBC.
subprotocol: Indica el tipo de la fuente de datos. Cuando el
DriverManager busca un driver registrado para conectarse a la
fuente de datos, pasa este URL, entonces el driver puede
determinar si puede manejar esta fuente de datos.
host: Indica el nombre del servidor donde se encuentra el
manejador de la base de datos. Cuando se omite, se toma como
predeterminado a localhost.
port: Especifica el número del puerto donde el servidor está
atendiendo. El puerto estándar predeterminado de PostgreSQL es
el número 5432.
13. Conexión con la BD (8/11)
PostgreSQL (usado en las pruebas)
Name Type: Postgresql JDBC Driver 8.x
Jar List: postgresql-8.1-413.jdbc3.jar
Properties:
URL: jdbc:postgresql://rosa.coput.gva.es:5432/adoc
Database: adoc
Username: *****
PostgreSQL (Para el curso)
Name Type: Postgresql JDBC Driver 8.x
Jar List: postgresql-8.2-509.jdbc4.jar
Properties:
URL: jdbc:postgresql://rosa:5566/geonosis
Database: geonosis
Username: zforNN
Password: ******
14. Conexión con la BD (9/11)
Oracle (usado en las pruebas)
Name Type: Oracle Thin Driver 10
Jar List: ojdbc14.jar
Properties:
Database: luna
URL: jdbc:oracle:thin:@rosa.coput.gva.es:1521:luna
Username: *****
Oracle (Para el curso)
Name Type: Oracle Thin Driver 10
Jar List: ojdbc14.jar
Properties:
Database: Completar cuando tengamos el E.Formación
URL:
Username: zforNN
Password: ******
15. Conexión con la BD (10/11)
MySQL (usado en las pruebas)
Name Type: MySQL JDBC 5.0
Jar List: mysql-connector-java-5.0.4-bin.jar
Properties:
Database: gvtest
URL: jdbc:mysql://gardel.coput.gva.es:3306/gvctest
Username: *****
MySQL (Para el curso)
No se van a hacer prácticas durante el curso con esta BD.
16. Conexión con la BD (11/11)
7.- Comprobar la Conexión: “Test Connection”
8.- Una nueva conexión aparecerá
en la vista “Data Source
Explorer”
(7) ¡Ping Sucsessful!
(8)
17. Pasos
Crear la conexión de la Bases de Datos con la vista
del Explorador de Conexiones.
Lanzar el asistente para la Ejecución de Ingeniería
Inversa.
Visualizar el resultado con el Editor de Bases de
Datos de MOSKitt.
18. Lanzar Ingeniería Inversa (1/4)
Lanzar el Asistente:
Sobre la Base de Datos (desconectada) que queremos
transformar,
Botón derecho -> Reverse Engenieering
¡Ojo! La Base de Datos debe estar desconectada:
Sobre la base de datos,
Botón derecho: Connect/Disconnect/Ping
Obtenemos un fichero .sqlschema que contiene los
objetos del modelo lógico de nuestra Base de
Datos.
19. Lanzar Ingeniería Inversa (2/4)
1.- Situarse sobre la BD de la que se desea hacer Ing.Inv.
2.- Seleccionar en el Menú Contextual: “Reverse Engenieering”
3.- Se abrirá el Asistente para “Ingeniería Inversa”
4.- Asignar el nombre que
deberá tener nuestro modelo de
BD (fichero .sqlschema).
(3) 5.- Pulsar “Next”
20. Lanzar Ingeniería Inversa (3/4)
6.- Seleccionar el esquema de base de datos.
7.- Pulsar “Next”.
Esquema que queremos
21. Lanzar Ingeniería Inversa (4/4)
8.- Seleccionar los elementos del esquema que queremos obtener.
9.- Pulsar “Finish”.
22. Pasos
Crear la conexión de la Bases de Datos con la vista
del Explorador de Conexiones.
Lanzar el asistente para la Ejecución de Ingeniería
Inversa.
Visualizar el resultado con el Editor de Bases de
Datos de MOSKitt.
23. Visualizar el resultado
1.- Para visualizar el resultado crear el diagrama de BD con:
Initialize sqlmodel_diagram diagram file
2.- Indicar en el Asistente el nombre que se le quiere dar al diagrama
Nombre del fichero que va a contener
el diagrama
(.sqlschema_diagram)