• Aucun résultat trouvé

HyperFileSQL supporte en standard un ensemble de concepts visant à faciliter l’administration, la gestion, le déploiement et la sécurité des bases de données :

• gestion automatique des accès concurrentiels • gestion de contextes indépendants

• trigger

• intégrité référentielle • filtre, vue, requête

• statistiques d’exploitation de la base • transactions

• journalisation • cryptage des données • compression de données

• support des caractères UNICODE • import/export

• indexation • recherche • réplication

• procédures stockées (HyperFileSQL Client/Serveur uniquement)

5.12.1 Gestion automatique des accès concurrentiels et des erreurs

WinDev intègre un module de gestion assistée des erreurs HyperFileSQL. Pour les types d'erreurs suivants, une fenêtre spécifique est automatiquement affichée :

• erreur de doublons • erreur d'intégrité • erreur de mot de passe

• erreur de conflit de modification et d'état lors du conflit de modification • erreur de blocage

• saisie de valeur obligatoire • réindexation en cours

WinDev offre la possibilité de débrancher entièrement le système de gestion automatique des erreurs ou de personnaliser ce système.

Tous les cas d’erreurs peuvent être gérés par programmation avec les fonctions du WLangage.

5.12.2 Gestion de contextes

Un contexte HyperFileSQL contient toutes les informations relatives aux données manipulées : • informations sur l'enregistrement en cours : numéro de l'enregistrement, contenu des rubriques, ...

• valeurs des fonctions HTrouve, HEnDehors, ... • caractéristiques du filtre en cours

• caractéristiques de la recherche en cours • caractéristiques du parcours en cours • nom des fichiers ouverts

• nom et caractéristiques des requêtes

WinDev permet de créer des contextes HyperFileSQL indépendants :

• pour les fenêtres WinDev : il suffit de cocher "Contexte HyperFileSQL indépendant" dans l’onglet "Détail" de la description d’une fenêtre

• pour les états WinDev : il suffit de cocher "L'exécution de l'état n'affecte pas les parcours (Con- texte HyperFileSQL Indépendant)" dans l’onglet "Données" de la description d’un état

• pour les composants

5.12.3 Gestion des triggers

Un trigger est une procédure appelée automatiquement par HyperFileSQL avant ou après une action de modification d’un enregistrement de la base de données : ajout, suppression, modification.

HyperFileSQL supporte la gestion des triggers (en mode Classic et en mode Client/Serveur).

5.12.4 Gestion de l’intégrité référentielle

Dans une analyse, les rubriques "Clé" permettent notamment de gérer la cohérence des données (appelée intégrité référentielle) :

• cohérence au niveau d'un fichier • cohérence entre plusieurs fichiers/tables

Des fonctions WLangage facilitent la gestion de l’intégrité référentielle.

5.12.5 Gestion des filtres

Un filtre permet de définir en programmation une sélection d'enregistrements correspondant à un ou plu- sieurs critères.

Cette sélection d'enregistrements peut être réalisée sur : • un fichier HyperFileSQL

• une vue HyperFileSQL • une requête

5.12.6 Gestion des vues

Une vue HyperFileSQL correspond à une "image mémoire" de tout ou partie d'un fichier de données HyperFileSQL.

Une vue est stockée en mémoire, ce qui la rend insensible aux modifications effectuées sur le fichier associé. Une fois créée, une vue se manipule comme un fichier de données HyperFileSQL.

5.12.7 Gestion des requêtes

Une requête sert à interroger une base de données pour : • visualiser

• insérer • modifier

• supprimer des données

Une requête peut interroger un ou plusieurs fichiers/tables. Les requêtes peuvent être créées de 2 manières différentes :

• grâce à l’éditeur de requêtes (voir “L’éditeur de requêtes”, page 104) : le code SQL est généré automatiquement, sans avoir à programmer

• en saisissant le code SQL

HyperFileSQL supporte tous les types de requête :

• sous-requête : c’est une requête dont le résultat est utilisé par une autre requête

• requête de requête : c’est une requête réalisée à partir de rubriques provenant d'une autre requête • requête composée : c’est une requête qui permet de combiner plusieurs requêtes de sélection. Chaque requête de sélection doit porter sur des fichiers ayant le même nombre de rubriques. Cela correspond à l’instruction SQL UNION.

5.12.8 Optimisation automatique des recherches avec les statistiques

Ces statistiques sont utilisées lors de : • la pose d'un filtre

• la création d'une requête

• la création d'une vue sur le fichier

HyperFileSQL analyse la condition de sélection et s'appuie ensuite sur ces statistiques pour déterminer les rubriques les plus discriminantes qui permettent d'optimiser les parcours des fichiers.

5.12.9 Transactions

Une transaction permet de s'assurer que des mises à jour effectuées sur un ou plusieurs fichiers de données se sont déroulées correctement.

• soit par programme avec les fonctions du WLangage • soit par l'outil WDTrans

5.12.10 Utilitaire WDTrans

En cas d'erreur ou de problème (panne de courant pendant les opérations en transaction par exemple), WDTrans est l’outil livré en standard pour rétablir automatiquement l'état des fichiers de données juste avant le début de la transaction.

WDTrans permet de :

• annuler les opérations effectuées sur un fichier de transaction • libérer les enregistrements en transaction

WDTrans est un outil redistribuable.

WDTrans peut être installé avec les applications développées avec WinDev.

5.12.11 Journalisation

Le journal est un fichier particulier dans lequel WinDev mémorise automatiquement toutes les opérations réalisées sur un ou plusieurs fichiers de données depuis un moment donné.

WinDev propose les options suivantes pour journaler facilement les fichiers de données. Le journal contient l'historique de l'utilisation du fichier, c'est-à-dire :

• l'enregistrement complet avant manipulation ou modification par l'utilisateur • l'enregistrement complet après manipulation ou modification par l'utilisateur • l'auteur de la manipulation ou de la modification

• la date de la manipulation ou de la modification

• la nature de l'opération effectuée (ajout, modification, suppression, lecture)

WDJournal

Le journal peut être manipulé avec l'utilitaire WDJournal.

Il est possible de réaliser les opérations suivantes à partir d'un journal :

• restaurer le contenu d'un fichier de données journalé en cas de perte ou de destruction du fichier de données

• restaurer le contenu d'un fichier de données journalé jusqu'à une certaine date

• retrouver l'auteur, la date et l'heure d'une opération réalisée sur un enregistrement spécifique • conserver un historique de l'utilisation d'un fichier (par exemple pour réaliser des statistiques)

5.12.12 Réplication sur bases HyperFileSQL

La réplication est l'opération permettant de maintenir à jour des bases de données distantes qui évoluent indépendamment : des opérations différentes sont effectuées sur ces bases de données.

WinDev permet de réaliser ces opérations simplement entre des bases de données HyperFileSQL. La réplication peut être intégrée :

• par programmation • avec WDReplic

Réplication par programmation

Le WLangage propose plusieurs fonctions de programmation permettant d'intégrer la réplication. Deux modes de réplication peuvent être mis en place par programmation :

• la réplication par réseau

• la réplication par support transportable

WDReplic

WDReplic est un module livré avec WinDev qui permet de lancer la réplication (Pour plus de détails, consultez “Les outils (WDMap, WDOptimiseur, etc.)”, page 211) :

• soit directement : la synchronisation est immédiate

• soit en la planifiant : la synchronisation est effectuée à la date et à l'heure indiquées

5.12.13 Réplication universelle

WinDev permet de réaliser les opérations de synchronisation simplement entre des bases de données hétéro- gènes.

La réplication universelle utilise un modèle centralisé : toutes les bases de données se synchronisent avec une base de données maître. La base de données maître répercute ensuite les modifications vers les autres bases de données.

Pour activer la réplication universelle, il suffit d'utiliser la fonction du WLangage HGèreRéplication.

5.12.14 Cryptage des données

HyperFileSQL supporte le cryptage de données. Plusieurs modes de cryptage optimisé sont gérés :

• standard sur 128 bits • RC5 12 boucles sur 128 bits • RC5 16 boucles sur 128 bits Le mode de cryptage peut être défini :

• par programmation grâce aux fonctions du WLangage

• dans l’éditeur d’analyses (pour plus de détails, consultez “L’éditeur d’analyses”, page 27)

5.12.15 Support d’UNICODE

L'Unicode est un système de codage spécifiant un nombre unique pour chaque caractère. Ce codage est réa- lisé sur 16 bits.

L'UNICODE peut prendre en compte tous les systèmes d'écriture de la planète. HyperFileSQL supporte UNICODE pour :

• l’affichage • la recherche • le tri

• l'enregistrement des données

La fonction du WLangage ChangeAlphabet permet de gérer des langues utilisant des alphabets spécifiques.

5.12.16 Procédures stockées (HyperFileSQL Client/Serveur uniquement)

Les procédures stockées permettent de simplifier l'évolution et la maintenance de vos applications en facto- risant le code.

En effet, lorsque la façon d'accéder aux données évolue (suite à un changement de structure de fichiers par exemple), il suffit de modifier la procédure stockée sur le serveur sans effectuer de modification dans les applications déployées qui utilisent cette procédure.

Une procédure stockée permet également de limiter le nombre d'allers et retours entre le poste client et le serveur, et donc améliore la vitesse des traitements.

Les procédures stockées peuvent utiliser des requêtes SQL ou des requêtes créées avec l'éditeur de requêtes.

La création des procédures stockées et des requêtes utilisées par les procédures stockées est effectuée dans l'éditeur d'analyses.

5.13 Type de programmation en WLangage pour accéder à Hyper-