Altova MobileTogether Designer

Bases de datos como fuente de datos

Inicio Anterior Inicio Siguiente

Este apartado incluye:

 

Acerca de los orígenes de datos de la BD

Estructura jerárquica en "árbol" de la fuente de datos de la BD

Cambiar orígenes de datos

Acerca de OriginalRowSet

Claves primarias en MobileTogether Designer

 

Acerca de los orígenes de datos de la BD

Al diseño de una página se le puede agregar cualquier número de orígenes de datos de la BD para posteriormente usarlos en el mismo. Si la fuente de datos de una BD es editable o no se define en el momento en el que se agrega la fuente de datos. Especifique una fuente de datos de la BD para se convierta en ineditable si se requieren sus datos sólo para la presentación. Convierta la fuente de datos en editable si desea permitir a los clientes que se modifique los datos de la BD.

MTDDBCDataSrcMain01

Cuando se agrega un origen de BD, se genera una estructura de datos en "árbol" (consulte la captura de pantalla siguiente y el apartado estructura en árbol siguiente. Cada fila de la tabla de la BD se corresponde con un elemento Row; las columnas de la tabla se agregan como si fueran atributos del elemento Row. Si la fuente de datos se usa en varias páginas, entonces entonces se puede compartir una estructura jerárquica en "árbol" única en todas las instancias de la fuente de datos. La opción de compartir una estructura jerárquica se encuentra disponible cada vez que se agregue una fuente de datos que se usa en otra página. Cuando se modifica una estructura compartida, se le ofrece la opción de modificar la fuente de datos compartidos en varias instancias en als que se modifica.

MTDDBCDataSrcDB2
Nota:si se almacenan instrucciones SQL en una fuente de página, puede que desencadenen reglas de servidor de seguridad cuando el diseño se ejecute en un dispositivo cliente. Para evitar esta situación recomendamos (i) definir el valor Solo servidor para la propiedad de fuente de página Conservar datos en; (ii) usar cifrado SSL para conexiones con el cliente y (iii) formar la instrucción SQL en el servidor cuando sea necesario.

 

Cambiar la fuente de datos

Después de que haya creado un diseño que usa una BD como fuente de datos, puede cambiar la fuente de datos a otra BD que presenta la misma estructura y continuar usando el diseño original. Para cambiar entre las bases de datos desde una fuente de datos, haga clic con el botón derecho sobre el nodo raíz de la estructura jerárquica \$DB, seleccione Elegir fuente de datos de la BD y continúe con el proceso de conectarse a una BD.

 

Se consideran que las dos BD presentan la misma estructura (si presentan los mismos nombres de la tabla. los mismos nombres de la columna y las mismas definiciones de la las mismas definiciones de la columna. Si la nueva estructura es diferente de alguna manera, entonces se realizará la conexión a la BD, el origen de los datos no se actualizará con los datos de la nueva BD. Si se aborta el cambio de la BD, entonces la fuente de datos seguirá usando la BD original.

 

Nota:si las BDs implicadas en el cambio presentan diferente sensibilidad a las mayúsculas y a las minúsculas en la distinción de mayúsculas y minúsculas, entonces tendrá que modificar las instrucciones SQL, las expresiones XPath y cualquier otras que usen nombres no coincidentes.

 

Estructura jerárquica en "árbol" de la fuente de datos de la BD

Cada fuente de datos de la BD presenta la siguiente estructura:

 

\$DBX (el nodo raíz)

|

|--DB (el elemento raíz)

|  |

|  |--RowSet (un elemento contenedor para las filas de la tabla de la BD)

|  |  |

|  |  |--Row (las filas de la tabla de la BD)

|  |  |  |

|  |  |  |--<Attributes> (las columnas de la tabla de la BD)

 

 

Al agregar una fuente de página de BD puede seleccionar si quiere agregar tablas relacionadas. Si una fuente de página tiene tablas relacionadas, estas aparecen como nodos secundarios de la tabla principal. Estos nodos secundarios se pueden asignar a controles del diseño. Cuando se guardan los datos en la BD se considera que los nodos secundarios pertenecen a la jerarquía de la fuente de página y se guardarán en consecuencia.

 

Es posible dirigirse a los nodos de la estructura en "árbol" usando expresiones XPath. Si un nodo se configura como nodo contextual de XPath para la página (mediante el menú contextual del nodo), entonces las expresiones XPath se pueden generar relativas al nodo contextual XPath. De lo contrario, es posible dirigirse a los nodo usando las rutas absoultas que comienzan en el nodo raíz \$DBX/DB/RowSet/Row/MiAtributo.

 

También puede usar las expresiones XQuery para recuperar o manipular datos en la estructura jerárquica en árbol de la BD. Consulte el apartado sobre las claves primarias siguientes a modo de ejemplo.

 

Acerca de OriginalRowSet

Para poder editar y guardar datos la estructura de la fuente de página debe incluir un elemento OriginalRowSet, que es una copia del elemento RowSet. Los datos originales se guardan en el elemento OriginalRowSet, mientras que los datos que se han editado se guardan en el elemento RowSet. Cuando se guarde la fuente de página, se calculará la diferencia que existe entre las dos estructuras (OriginalRowSet y RowSet) y la fuente de página se actualizará en función de esta diferencia. Si la modificación se realiza correctamente, los datos modificados se copian en OriginalRowSet para que OriginalRowSet contenga los datos de BD recién guardados y el proceso de modificación se puede repetir.

 

Tenga en cuenta estos puntos:

 

El elemento OriginalRowSet no se crea por defecto en la estructura de la fuente de página de la BD. Para crearlo haga clic con el botón derecho en el nodo raíz de la fuente de página y active el comando Crear OriginalRowSet.

El comando Crear OriginalRowSet se habilita para nodos raíz de tipo BD (\$DB). Se trata un comando de conmutación que crea/elimina una estructura de datos OriginalRowSet que contiene los datos originales de la fuente de página.

Hasta que los datos modificados se guarden en la BD, los datos de BD originales se conservan en la estructura OriginalRowSet. Esto garantiza que los datos de BD originales estén disponibles en la estructura.

Puede usar la función XPath mt-db-original-row para recuperar los datos originales de una fila de BD que se ha modificado pero no se ha guardado aún.

 

Funciones XPath para obtener datos o información de DB

Hay varias funciones XPath de MobileTogether que puede usar para obtener datos de BD e información sobre la base de datos. Los nombres de estas funciones empiezan por mt-db y se describen en el apartado Funciones de extensión de MobileTogether .

 

Claves principales en MobileTogether Designer

Las claves principales de las bases de datos suelen ser de incremento automático. Si este es el caso y se añade una fila nueva a una tabla, la columna de clave principal de la fila que se añade se incrementa automáticamente. En MobileTogether Designer cuando se recupera una tabla, la clave principal y la información de incremento automático se recuperan automáticamente y aparecen en el panel Fuentes de página (imagen siguiente).

MTDDBCDataSrcDB1

Si la recuperación automática de esta información no funciona, el menú contextual de los nodos de la estructura tendrán comandos de conmutación que permitirán anotar los nodos correctamente (imagen siguiente).

MTDDBPKAutoIncrement

Si la columna de clave principal no es de incremento automático, deberán generarse valores de clave principal automáticamente para las filas anexadas con ayuda de una expresión XQuery. Esto se debe a que las columnas de clave principal no se pueden editar. La expresión XQuery se inserta haciendo clic con el botón derecho en el nodo de clave principal y eligiendo el comando Garantizar que existe al cargar (valor XPath) del menú contextual. En el ejemplo siguiente puede ver que se genera un nuevo valor para la clave principal @id con ayuda de esta expresión XQuery:

 

let \$all := \$DB1/DB/RowSet/Row/@id

let \$ids := remove(\$allindex-of(\$all""))

let \$id := if (empty(\$ids)) then 1 else max(\$ids) + 1

return \$id

MTDDBCDataSrcDB1

 

© 2017-2023 Altova GmbH