Altova UModel 2024

Este ejemplo muestra cómo actualizar la estructura de una BD mediante scripts generados por UModel. La BD usada en este ejemplo es una BD local de Access que encontrará en C:\Usuarios\<usuario>\Documentos\Altova\UModel2024\UModelExamples\Tutorial\altova.mdb. En este ejemplo vamos a añadir una nueva tabla a la BD en UModel y después generar un script SQL que actualice la estructura de la BD Access subyacente.

 

Para este ejemplo, primero debe importar la BD en el modelo, como se muestra en el apartado Importar bases de datos SQL en UModel. Como se ilustra a continuación, una vez haya importado la BD, el proyecto incluirá:

 

un componente de ingeniería de código que se encarga de generar código en ambas direcciones (desde el modelo a la BD y viceversa). Para ver este componente de ingeniería de código, expanda el "Component View".

un paquete que representa la estructura de la base de datos que se ha importado (por ejemplo, cada tabla de BD es una clase).

el perfil de BD necesario para trabajar con proyectos de modelado de bases de datos.

um_db_import_07

 

Añadir una tabla

Ahora vamos a añadir una nueva tabla a la BD del modelo.

 

1.Haga doble clic en el diagrama "Content of tutorial_database...".

2.Haga clic con el botón derecho dentro del diagrama y seleccione Nuevo/a | Tabla en el menú contextual.

3.Introduzca un nombre, como "Products".

um_db_update_01

4.Haga clic en la tabla y pulse la tecla F7 para añadir una propiedad (que se convertirá en una columna de tabla en la BD).

5.Telcee <<PK, autoincrement>> id:int dentro de la propiedad.

um_db_update_02

6.Usando los mismos pasos que acabamos de describir, añada una nueva columna "title" de tipo "text".

um_db_update_03

 

Preparar el modelo para la ingeniería directa

Antes de que se pueda aplicar la ingeniería directa a una BD, esta debe pertenecer al espacio de nombres correcto. Para ello, en la ventana Estructura del modelo, asegúrese de que la clase "Products" se encuentra bajo el espacio de nombres "tutorial_database". Si no lo está, arrástrela hasta allí. Su modelo ahora debería tener este aspecto:

 

um_db_update_04

 

Como hemos explicado en el apartado Configurar la ingeniería de ida y vuelta para bases de datos, es recomendable validar la sintaxis del proyecto antes de actualizar la BD. Si pulsa la tecla F11 para revisar la sintaxis aparecerá una advertencia en la ventana Mensajes informando de que la tabla "Products" no tiene ninguna realización con un componente.

 

Para crear rápidamente esa realización que falta, haga lo siguiente:

 

En la ventana Estructura del modelo, arrastre la clase "Products" hasta el componente "tutorial_database".

um_db_update_05

 

Generar el script SQL

Si al pulsar la tecla F11 el proyecto no muestra más errores o advertencias, puede generar el script de BD:

 

1.En el menú Proyecto, haga clic en Combinar el código de programa con el proyecto de UModel y luego en Sobrescribir el código con el modelo. ("Código de programa" en el contexto de las bases de datos significa la propia BD)

2.En el siguiente cuadro de diálogo puede escoger entre combinar los cambios con la BD o sobrescribir esos cambios en la BD. Para este ejemplo vamos a marcar la opción Sobrescribir el código con el modelo. Por supuesto, en función del caso puede que quiera escoger la opción Combinar el modelo con el código. Para más información, consulte el apartado Configurar la sincronización del código.

um_db_update_06

3.Haga clic en Aceptar. Se genera un script de BD con los cambios que ha realizado en el modelo.

um_db_update_07

En este punto tiene varias opciones:

 

abra el script en Altova DatabaseSpy para revisarlo o para ejecutarlo. Para más información sobre DatabaseSpy, consulte https://www.altova.com/es/databasespy.

guarde el script en un archivo para conservarlo o ejecutarlo más tarde.

haga clic en Ejecutar y ejecute el script en la BD. Solo debe ejecutar un script si entiende totalmente las consecuencias de esa acción (principalmente, el hecho de que la BD se actualizará con efecto inmediato).

© 2017-2023 Altova GmbH