MOSKitt: Ingeniería Inversa de Bases de Datos con MOSKitt

Preview:

Citation preview

María Martínez Ortuño(martinez_mso@gva.es)

Ingeniería InversaIngeniería Inversa

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)

Dónde usarla?

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.

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.

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).

Conexión con la BD (1/11)

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

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

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

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.

Conexión con la BD (5/11)

New Driver Definition

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)

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.

Conexión con la BD (7/11)

6.- Properties: Completar la descripción del Driver

PostgreSQL (usado en las pruebas)Name Type: Postgresql JDBC Driver 8.xJar List: postgresql-8.1-413.jdbc3.jarProperties:

URL: jdbc:postgresql://rosa.coput.gva.es:5432/adocDatabase: adocUsername: *****

PostgreSQL (Para el curso)Name Type: Postgresql JDBC Driver 8.xJar List: postgresql-8.2-509.jdbc4.jarProperties:

URL: jdbc:postgresql://rosa:5566/geonosisDatabase: geonosisUsername: zforNNPassword: ******

Conexión con la BD (8/11)

Oracle (usado en las pruebas)Name Type: Oracle Thin Driver 10Jar List: ojdbc14.jarProperties:

Database: lunaURL: jdbc:oracle:thin:@rosa.coput.gva.es:1521:lunaUsername: *****

Oracle (Para el curso)Name Type: Oracle Thin Driver 10Jar List: ojdbc14.jarProperties:

Database: Completar cuando tengamos el E.FormaciónURL: Username: zforNNPassword: ******

Conexión con la BD (9/11)

Conexión con la BD (10/11)

MySQL (usado en las pruebas)Name Type: MySQL JDBC 5.0Jar List: mysql-connector-java-5.0.4-bin.jarProperties:

Database: gvtestURL: jdbc:mysql://gardel.coput.gva.es:3306/gvctestUsername: *****

MySQL (Para el curso)

No se van a hacer prácticas durante el curso con esta BD.

Conexión con la BD (11/11)

7.- Comprobar la Conexión: “Test Connection”

¡Ping Sucsessful!

8.- Una nueva conexión aparecerá en la vista “Data Source Explorer”

(7)

(8)

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.

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.

Lanzar Ingeniería Inversa (1/4)

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).

5.- Pulsar “Next”(3)

Lanzar Ingeniería Inversa (3/4)

6.- Seleccionar el esquema de base de datos.

7.- Pulsar “Next”.

Esquema que queremos

Lanzar Ingeniería Inversa (4/4)

8.- Seleccionar los elementos del esquema que queremos obtener.

9.- Pulsar “Finish”.

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.

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)

María Martinez Ortuño(martinez_mso@gva.es)

Ingeniería InversaIngeniería Inversa

Recommended