2. Gestion des modèles de données
L’accès aux données est séparé en deux parties distinctes :
-
la gestion des sources de données, accessible depuis l’onglet Configuration
-
la gestion des modèles de données, accessible depuis l’onglet Conception d’un projet.
Un modèle de données est une couche intermédiaire entre la base de données physique et une application Ontomantics. En effet, une application Ontomantics n’ira pas directement interroger une base de données, mais se servira d’un modèle de données dont la structure est identique à celle de la base.
Cela autorise une certaine indépendance des applications vis-à-vis de la base de données utilisée, en particulier lors de la copie du référentiel ou d’une application.
Les modèles de données sont gérés directement depuis les projets. Pour pouvoir créer ou administrer un modèle de données, il faut commencer par créer un projet ou passer par un projet existant. Se référer à la section Gestion des projets de cette documentation pour plus d’informations.
2.1 Gérer les modèles de données
Faire un clic droit sur le projet concerné ou cliquer sur l’icône de la liste des projets, puis cliquer sur Nouveau modèle de données. Deux choix sont possibles : la création d’un nouveau modèle ou l’importation depuis une source de données.
Créer un nouveau modèle
Cliquer sur Nouveau. L’onglet Propriétés s’affiche à l’écran.
Renseigner un titre et une description (optionnelle). La case Modèle de données importé n’est pas cochable dans le cas d’une création de modèle de données. Cocher la case Modèle de données non-indispensable au bon fonctionnement des applications pour permettre d’exécuter une application même si le modèle de données n’est pas totalement déployé dans la source de données. Cliquer sur Sauvegarder pour créer le modèle de données. Pour la création d’entités et d’attributs dans le modèle, se reporter à la section Opérations sur les modèles de données.
Il faut ensuite lier le modèle de données à une source de données. L’onglet Structure s’affiche à l’écran.
Le champ Source de données liée permet de lier le modèle de données à une base physique. Sélectionner une source dans la liste pour voir sa structure. Les tables de la base apparaissent dans le cadre de droite. Si aucune entité n’a encore été saisie dans le modèle, un message indique que celui-ci est synchronisé avec la base de données.
Dès qu’une entité non-présente dans la table existante est ajoutée, un message indique que le modèle n’est pas totalement déployé dans la base. Cliquer sur le bouton Déployer pour ajouter l’entité nouvellement créée à la base de données.
Un message de confirmation du déploiement s’affiche.
Le bouton Détails permet de consulter les requêtes SQL exécutées lors du déploiement :
À chaque changement effectué sur le modèle de données, un redéploiement est nécessaire. Lorsqu’au moins une table existe déjà dans la base :
-
Mettre à jour le déploiement n’écrase pas les tables, donc sans risque de compromettre les données déjà existantes.
-
Redéployer écrase les tables et les recrée.
-
Supprimer le déploiement supprimer les tables de la base de données présentes dans le modèle ainsi que toutes les données qu’elles contiennent.
Un popup demande de confirmer cette action.
Un message informe l’utilisateur au cas où le modèle de données n’a pas pu être totalement supprimé de la base. Le bouton Détails permet d’afficher les requêtes SQL.
Le bouton Synchroniser permet de synchroniser le modèle de données avec la base de données. Toutes les tables non-déployées dans la base seront supprimées du modèle de données.
L’onglet Partage permet de partager les droits d’utilisation du modèle de données avec d’autres groupes d’utilisateurs.
Le tableau de gauche liste les groupes utilisateurs ayant des permissions sur la source de données liée. Les permissions associées sont affichées à droite de l’écran.
L’onglet Historique permet de gérer le versionning du modèle de données.
Renseigner un numéro de version ainsi que les dernières modifications effectuées, puis cliquer sur Sauvegarder pour incrémenter la version.
Importer un modèle depuis une source de données
Faire un clic droit sur le projet concerné ou cliquer sur l’icône de la liste des projets, puis cliquer sur Nouveau modèle de données. Sur le popup, cliquer, sur Importer. L’onglet Propriétés s’affiche à l’écran.
Choisir la source de données à lier dans la liste déroulante. Cocher la case Modèle de données non-indispensable au bon fonctionnement des applications pour permettre de jouer les applications sans le modèle de données. Cliquer ensuite sur le bouton Importer .
Le cadre de gauche présente les tables et vues importées depuis le modèle de données ; le cadre de droite présente celles n’ayant pas été importées. Cliquer sur le bouton pour importer l’intégralité des tables et vues de la source de données dans le modèle. Le bouton supprime toutes les tables et vues du modèle. Cliquer sur une table ou une vue pour la sélectionner, puis cliquer sur le bouton pour l’importer dans le modèle ; le bouton la supprime du modèle (il faut l’avoir sélectionnée au préalable dans le cadre de gauche).
Une fois que toutes les tables et vues souhaitées ont été importées dans le modèle, cliquer sur Sauvegarder pour enregistrer le modèle de données.
Un modèle de données importé est toujours en lecture seule et ne peut donc pas être modifié, à moins de décocher la case Modèle de données importé dans l’onglet Propriétés.
Les vues
Ontomantics introduit la notion de Vues. Les Vues sont des tables d’un modèle de données en lecture seule uniquement, importables depuis une base de données. Les Vues doivent être créées à la main dans la base, il n’est pas possible de les créer depuis la plateforme. Les Vues s’utilisent comme des modèles de données.
Les synonymes
Il est également possible d’utiliser des Synonymes dans le modèle de données. Un synonyme est une fonctionnalité qui permet d’utiliser une table située dans un schéma de base de données différent. Cette fonctionnalité est pour l’instant supportée par Oracle et SQLServer uniquement.
Importer des tables depuis un fichier
Ontomantics offre la possibilité d’importer une table depuis un fichier tableur Excel ou Access. Sur l’onglet Structure du modèle de données, cliquer sur le bouton Importer des entités. Un assistant s’affiche à l’écran.
Sélectionner le fichier au format Excel 97 ou supérieur (.xls, .xlsx), Access 2000 ou supérieur (.mdb, .accdb) ou texte/CSV (.csv, .txt) contenant la table à importer en cliquant sur Sélectionner un fichier. Choisir ensuite la feuille à utiliser, puis cliquer sur Suivant .
Choisir ensuite les options d’import : le titre, la ligne à utiliser pour les noms de colonnes (choisir zéro pour ne pas en utiliser), la ligne à utiliser comme première ligne à importer, ainsi que celle à utiliser pour la dernière (zéro signifiant jusqu’à la fin). Cliquer ensuite sur Suivant .
Choisir ensuite les colonnes à importer en cochant celles désirées, puis les paramètres : le titre de la colonne, et le type (VarChar, Entier, Numeric, Booléen, etc.). La taille correspond au nombre total de caractères à importer pour les nombres (total avant et après la virgule), et la précision indique le nombre de chiffres après la virgule à importer. Cliquer sur Terminer pour importer la feuille dans le modèle de données.
Il est impossible de mettre à jour les données par la suite, à moins d’écraser à nouveau la table.
2.2 Opérations sur les modèles de données
2.2.1 Ajout d'entités
Pour ajouter une entité à un modèle de données, il suffit de cliquer sur Nouvelle entité, puis de renseigner le titre et une éventuelle description. Une clé primaire est créée par défaut ; il suffit de décocher Créer une clé primaire pour ne pas la créer. Il est possible de laisser la base de données gérer l’auto-incrément en cochant la case adéquate.
2.2.2 Ajout de colonnes
Pour ajouter un attribut à une entité d’un modèle de données, il faut cliquer sur l’entité (ou faire un clic droit) puis cliquer sur Nouvel attribut. Il faut ensuite renseigner le titre ainsi que le type de l’attribut (Chaîne de caractère, Entier, Numeric, Booléen, Date, etc.) ainsi qu’une description éventuelle, puis valider en cliquant sur Sauvegarder. Le bouton Types avancés permet de sélectionner des types de données plus complexes.
Les types de données
- VarChar :
-
Chaîne de caractères alphanumériques de longueur variable
Integer :Nombre entier
Numeric :-
Nombre exact dont la précision est spécifiée
Double :-
Nombre à virgule flottante, double précision
Bit :-
Chiffre à état binaire, 0 ou 1
Boolean :-
Variable à deux états, vrai ou faux
Date :-
Date du calendrier
Time :-
heure
TimeStamp :-
Date et heure
Les types de données avancés
- Clob :
-
Grande chaîne de caractères
BigInt :-
Grand nombre entier
SmallInt :-
Petit nombre entier
TinyInt :-
Très petit nombre entier
Float :-
Nombre à virgule flottante, simple précision
Char :-
Chaîne de caractères de longueur fixe
Blob :-
Données binaires volumineuses
VarBinary :-
Données binaires de longueur variable
IntervalDayToSecond :-
Durée en heures et en jours
IntervalyearToMonth :-
Durée en mois et en années
Gestion des identifiants (clés primaires)
La case Clé primaire permet de définir l’attribut comme identifiant de l’entité. À la création de l’entité, un attribut Id de type Entier est créé automatiquement pour cet usage, mais il peut être modifié au profit d’un autre attribut.
Autorisation d'un champ vide
Ces opérations s’effectuent uniquement sur le modèle de données. Pour valider ces changements dans la base, il faut lancer le déploiement.
Il est possible de modifier les noms de tables ou même de colonnes sans perdre la cohérence avec les applications Ontomantics, puisque les changements seront répercutés dans les applications concernées.
2.2.3 Les clés étrangères
La plateforme Ontomantics gère les clés étrangères dans les modèles de données. Une clé étrangère est une contrainte qui garantit l’intégrité référentielle entre deux tables. Elle identifie une colonne ou un ensemble de colonnes d’une table comme référençant une colonne ou un ensemble de colonnes d’une autre table. La contrainte de clé étrangère permet de s’assurer que les valeurs de chaque ligne de la table référençante existent dans la table référencée.
Pour créer une nouvelle clé étrangère, il faut faire un clic droit sur l’entité correspondante, puis choisir Nouvelle contrainte clé étrangère. Sélectionner ensuite la table associée dans la liste déroulante du champ Table de référence. Un titre, qui peut être changé, est assigné à la clé. Il faut ensuite sélectionner les attributs et leurs colonnes de référence en cliquant sur l’icône et valider avec . Il faut enfin choisir les options de suppression et de mise à jour d’enregistrements.
2.2.4 La contrainte d'unicité
La contrainte d’unicité permet de s’assurer que la clé est unique. Il faut effectuer un clic droit sur l’entité correspondante, puis choisir Nouvelle contrainte d’unicité.
Il faut ensuite ajouter un attribut d’unicité en cliquant sur l’icône du champ Attributs, puis en sélectionnant l’attribut désiré, et valider avec . Pour ajouter d’autres attributs, recommencer l’opération en appuyant à nouveau sur l’icône . Il suffit ensuite de cliquer sur Sauvegarder pour valider la contrainte d’unicité.
2.2.5 Les diagrammes
L’onglet Diagramme de l’écran de gestion des modèles de données permet de visualiser une représentation graphique du modèle de données. La représentation choisie par Ontomantics est basée sur le modèle physique MERISE.
Les flèches affichent les liens entre les différentes tables. Les chiffres représentent l’unicité. Les expressions se trouvant au milieu d’une flèche affichent les égalités.
Le bouton Télécharger permet de récupérer le diagramme sous forme d’image au format PNG.
2.3 Les entrepôts de données
Les entrepôts de données sont des modèles de données disposant de fonctionnalités supplémentaires, comme la synchronisation automatique des données entre le modèle et la base, et la possibilité d'utiliser plusieurs sources de données différentes.
Faire un clic droit sur le projet concerné ou cliquer sur l’icône de la liste des projets, puis cliquer sur Nouvel entrepôt de données.
Définir la périodicité de la synchronisation des données (horaire, quotidienne, hebdomadaire, mensuelle) et le moment de la synchronisation (ex: à partir de minuit) ainsi que la fréquence (ex: répéter toutes les 2 heures, tous les 2 jours, etc.). Cliquer sur Sauvegarder pour finaliser la création de l'entrepôt.
Il faut ensuite créer les tables. Utiliser l'assistant disponible en cliquant sur Créer des entités synchronisables. L'assistant fonctionne de la même manière que celui des modèles de données classiques. Cliquer sur Terminer pour créer les entités, puis déployer le modèle dans la base en cliquant sur Déployer.
Par défaut, les contraintes d'unicité des clés étrangères ne sont pas importées par l'assistant afin d'éviter les erreurs d'import. Il faut donc les importer manuellement si besoin.
Chaque table créée dans l'entrepôt est liée à une requête.
Dès lors, il est possible de formater les données en créant des jointures, des sous-requêtes, etc. Il est également possible de créer plusieurs requêtes pour une même table afin de fusionner les données de sources différentes, par exemple.
Pour tester la configuration et la synchronisation des données, cliquer sur le bouton Synchroniser les données. Une fois la configuration de l'entrepôt de données achevée, faire un clic droit sur l'entrepôt depuis la liste des projets à gauche, et cliquer sur Activer pour activer la synchronisation automatique des données.
Attention : l'accès à l'entrepôt de données depuis les applications se fait en lecture seule uniquement.