BD en tant que sources de données

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Bases de données >

BD en tant que sources de données

Cette section :

 

À propos des sources de données de BD
Structure d'arborescence de la source de données de BD
Changer de sources de données
À propos de OriginalRowSet
Clés primaires dans MobileTogether Designer

 

À propos des sources de données de BD

Un nombre quelconque de sources de données de BD peut être ajouté au design d'une page et celles-ci peuvent ensuite y être utilisées. Qu'une source de page de BD soit éditable ou pas est défini au moment de l'ajout de la source de données. Spécifiez qu'une source de BD soit non éditable si ses données sont uniquement nécessaires pour la présentation. Rendez la source de page éditable si vous souhaitez permettre à des clients de modifier les données de BD.

MTDDBCDataScrMain01

Lorsqu'une source de BD est ajoutée, une arborescence de données est générée (voir capture d'écran ci-dessous et la section Structure de l'arborescence ci-dessous). Chaque ligne de la table de BD correspond à un élément Row ; les colonnes de la table sont ajoutées en tant qu'attributs de l'élément Row. Si la source de page est utilisée sur des pages multiples, une seule structure d'arborescence peut être partagée sur toutes les instances de la source de page. L'option de partage d'une structure d'arborescence est disponible à chaque fois qu'une source de page qui est utilisée sur une autre page est ajoutée. Lorsqu'une structure partagée est modifiée, vous avez la possibilité de modifier la source de page partagée dans ses instances multiples dans toutes les pages ; en alternative, la source de page partagée est uniquement modifiée dans l'instance dans laquelle elle est modifiée.

MTDDBCDataSrcDB2

Note :Si les déclarations SQL sont stockées dans une source de page, elles peuvent déclencher des règles de pare-feu alors que le design est exécuté sur un appareil client. Pour éviter ces situations, il est recommandé de suivre l'une des instructions suivantes : (i) configurer la propriété de la source de page Garder les données sur Serveur uniquement ; (ii) utiliser SSL pour les connexions client; (iii) assembler la déclaration SQL sur le serveur le cas échéant.

 

Changer de sources de page

Une fois avoir créé un design qui utilise une BD en tant que source de page, vous pouvez changer la source de page à une autre BD qui présente la même structure et continue d'utiliser le design originel. Pour changer les BD d'une source de page, cliquez avec le bouton de droite sur le nœud de racine $DB de l'arborescence, sélectionner Choisir Source de données BD, et poursuivre avec le processus de connexion BD.

 

Deux BD sont considérées avoir la même structure si elles ont les mêmes noms de table, les mêmes noms de colonnes et les mêmes définitions de colonnes. Si la nouvelle structure diffère d'une manière ou d'une autre, alors que la connexion à la BD sera établie, la source de page ne sera pas mise à jour avec les données provenant de la nouvelle BD. Si le changement de BD est abandonné, la source de page continuera à utiliser la BD originale.

 

Note :Si les BD incluses dans le changement ont des sensibilités à la casse différentes, vous devrez modifier les déclarations SQL, les expressions XPath et tout autre construction qui utilise les noms non correspondants.

 

Structure de l'arborescence de la source des page de BD

Chaque source de page de BD a la structure suivante :

 

$DBX (the root node)

|

|--DB (the root element)

|  |

|  |--RowSet (a container element for the rows of the DB table)

|  |  |

|  |  |--Row (the rows of the DB table)

|  |  |  |

|  |  |  |--<Attributes> (the columns of the DB table)

 

 

Les nœuds de l'arborescence peuvent être adressés à l'aide d'une expression XPath. Si un nœud est défini en tant que XPath context node for the page (via le menu contextuel du nœud), alors les expressions XPath peuvent être construites en relation avec le nœud contextuel XPath. Dans le cas contraire, les nœuds peuvent être adressés en utilisant des chemins absolus commençant au nœud racine : $DBX/DB/RowSet/Row/MyAttribute.

 

Vous pouvez également utiliser les expressions XQuery pour extraire ou manipuler des données dans l'arborescence de BD. Voir la section sur les clés primaires ci-dessous en guise d'exemple.

 

À propos de OriginalRowSet

Afin de pouvoir éditer et enregistrer des données, l'arborescence de la source de page doit également comporter un élément OriginalRowSet qui est une copie de l'élément RowSet. Les données originales sont enregistrées dans l'élément OriginalRowSet, alors que les données éditées sont enregistrées dans l'élément RowSet. Lorsque la source de page est enregistrée, la différence entre les deux arbres, OriginalRowSet et RowSet, est calculée et la source de page est mise à jour sur la base de la différence. Si la modification est réussie, les données modifiées sont copiées dans OriginalRowSet de manière à ce qu'OriginalRowSet contienne les données BD récemment enregistrées et le processus de modification peut se renouveler.

 

Pour créer un OriginalRowSet pour une source de page, cliquez avec le bouton de droite sur le nœud racine de la source de page puis activez la commande Créer OriginalRowSet.

 

La commande Créer OriginalRowSet est activée pour les nœuds racine de type base de données ($DB). Il s'agit d'une commande qui crée/supprime une structure de données OriginalRowSet qui contient des données originales de la source de page. Les données modifiées par l'utilisateur sont enregistrées dans la structure principale créée depuis la source de page. Lorsque les données modifiées sont réenregistrées sur la BD, la structure OriginalRowSet est modifiée de manière à contenir les données récemment enregistrées sur la BD. Les données originales de BD sont conservées dans la structure OriginalRowSet jusqu'à ce que les données modifiées soient enregistrées dans la BD. Cela permet de garantir que les données de BD originales sont toujours disponibles dans l'arborescence.

 

Les clés primaires dans MobileTogether Designer

Les clés primaires dans les BD sont généralement auto-incrémentées. Lorsque cela est le cas et qu'une nouvelle ligne est ajoutée à une table, la colonne de clé primaire de la ligne ajoutée est automatiquement incrémentée. Dans MobileTogether Designer, lorsqu'une table est extraite, la clé primaire et l'information auto-incrémentée sont extraites automatiquement et affichées dans le Volet de sources de page (voir capture d'écran ci-dessous).

MTDDBCDataSrcDB1

Si l'auto-extraction de cette information échoue, le menu contextuel des nœuds d'arborescence contient des commandes qui vous permettront d'annoter correctement les nœuds (voir capture d'écran ci-dessous).

MTDDBKAutoIncrement

Si la colonne de la clé primaire n'est pas auto-incrémentée, de nouvelles valeurs de clé primaires pour les lignes ajoutées doivent être générées automatiquement à l'aide d'une expression XQuery. Cela en raison du fait que les colonnes de clé primaire ne peuvent pas être éditées. L'expression XQuery est insérée en utilisant la commande de menu contextuel du nœud de clé primaire, S'assurer de son existence avant le chargement de la page (Valeur XPath). Dans l'exemple ci-dessous, une nouvelle valeur est générée pour la clé primaire @id en utilisant l'expression XQuery suivante :

 

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

 


© 2019 Altova GmbH