Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. WINDEV
  3. La base de données
Extrait - WINDEV De la découverte à la pratique
Extraits du livre
WINDEV De la découverte à la pratique
5 avis
Revenir à la page d'achat du livre

La base de données

Préambule

Le système de gestion de base de données relationnelle (SGBDR) utilisé nativement par les applications créées avec WINDEV est le HFSQL (anciennement nommé HyperFile SQL).

Deux modes d’accès aux données sont disponibles pour une base de données HFSQL :

  • Le HFSQL Classic : les fichiers sont accessibles directement dans le répertoire d’un disque dur. Si ce répertoire est partagé en réseau, plusieurs exécutables de l’application peuvent se connecter simultanément à ces fichiers.

  • Le HFSQL Client/Serveur : un service est installé sur un ordinateur dit « serveur de données » et l’application dialogue avec ce service par le protocole TCP/IP pour échanger les données. Plusieurs exécutables de l’application peuvent dialoguer simultanément avec le service mais seul ce dernier accède aux fichiers sur le disque dur du serveur de données.

D’autres bases de données peuvent être utilisées avec WINDEV grâce aux Connecteurs Natifs ou aux protocoles ODBC et OLE DB.

La base de données utilisée par l’application est décrite dans l’analyse qui y référence les fichiers, les liaisons, les rubriques nécessaires et les représente de façon graphique.

Créer et organiser une analyse

Le schéma de la base de données d’une application est défini par l’analyse. La création de celle-ci est proposée à l’issue de la création d’un projet. Une icône Charger l’analyse du projet, en haut à gauche dans l’accès rapide ouvre l’éditeur d’analyse de l’application, de même qu’un clic droit sur le nom de l’analyse dans l’Explorateur de projet suivi de l’option Ouvrir.

L’analyse structure les informations à stocker en plusieurs fichiers, eux-mêmes décomposés en rubriques. Les informations sont manipulées sous forme d’enregistrements dans lesquels chaque information est stockée dans une rubrique.

Des liaisons entre rubriques contrôlent la cohérence des informations, que ce soit sur les modifications des rubriques clés ou sur la suppression des enregistrements. Les cardinalités apposées sur ces liaisons sont celles utilisées dans la méthode d’analyse Merise et gèrent les contraintes d’intégrité référentielle avec la logique de cette méthode.

Définition d’un fichier

Une fois l’éditeur d’analyse lancé, un clic sur l’icône Nouveau fichier de l’onglet Analyse du ruban lance l’assistant pour la création d’un fichier.

Un double clic sur un fichier existant édite la Description des rubriques. L’icône Description de l’onglet Analyse du ruban, suite à la sélection de la représentation graphique d’un fichier, affiche aussi sa description. Cette option est également disponible en effectuant un clic droit sur sa représentation graphique avec l’option Description du fichier de données.

Création d’un fichier

La création assistée propose de commencer à partir d’un fichier vierge, d’un modèle prédéfini ou d’un fichier déjà décrit au sein d’une base de données.

images/03WD001.png

Dans le cas d’un fichier prédéfini, celui-ci doit être choisi dans une liste proposée par l’assistant. Il est ensuite modifiable. Pour un fichier issu d’une base de données, il est nécessaire d’indiquer les paramètres de connexion à celle-ci pour choisir le fichier à référencer dans l’analyse.

Après avoir sélectionné le mode de création du fichier, la fenêtre permettant de remplir les Paramètres généraux apparaît.

images/03WD002.png

Le Nom du fichier créé l’identifie dans l’analyse. Il sera utilisable dans les champs des fenêtres et dans la programmation pour y faire référence ainsi qu’à ses rubriques.

L’accès à la rubrique d’un fichier par programmation se fait en indiquant le nom du fichier suivi d’un point, puis du nom de la rubrique.

Le Libellé est une description courte ou un commentaire sur l’usage du fichier. Il est complété d’un terme indiquant ce qu’Un enregistrement représente. Ce terme est repris dans l’assistant de description des liaisons lors du choix des cardinalités et de la création des règles d’intégrité.

L’Identifiant automatique ajoute une rubrique au fichier dès sa création. Cette rubrique calculera automatiquement une valeur...

Créer et utiliser une connexion vers une base de données Client/Serveur

L’icône Nouvelle connexion de l’onglet Analyse du ruban établit une connexion vers une base de données.

Les bases de données de type HFSQL Classic ne nécessitent pas de connexion.

Les connexions sont décrites dans l’analyse ou par programmation grâce à la fonction assistée HDécritConnexion(). Une fois une connexion décrite, il faut l’affecter aux fichiers pour que ceux-ci l’utilisent. L’affectation se fait soit dans leurs descriptions avec les champs Type et Connexion, soit par programmation avec la fonction HChangeConnexion().

Une connexion est créée en deux étapes. La première consiste à choisir le Type de base de données à laquelle on souhaite se connecter.

Images/03WD015.png

La seconde consiste à indiquer les Paramètres de connexion. Ces derniers sont propres au type de base de données retenu (répertoire contenant les fichiers, adresse IP du serveur, nom d’utilisateur...).

Images/03WD016.png

Si le Connecteur Natif nécessaire pour le type sélectionné n’est pas installé, un message d’alerte apparaîtra pour inviter à le mettre en place.

Les connexions référencées dans l’analyse sont disponibles depuis l’icône Connexions de l’onglet Analyse...

Importer une description de fichier

Les caractéristiques d’un fichier déjà décrit dans une autre base de données sont importables dans l’analyse grâce à l’icône Importer de l’onglet Analyse du ruban, puis via l’option Importer des descriptions de fichiers. L’import propose de se connecter directement sur le fichier pour utiliser la base de données d’origine ou d’importer les données dans un fichier de type HFSQL.

La première étape proposée par l’assistant mène à la sélection du Type de base de données parmi ceux utilisables avec WINDEV.

images/03WD012.png

La seconde étape consiste à créer ou utiliser une connexion déjà définie pour le type de base de données sélectionné. Les Paramètres de la connexion sont alors à renseigner pour sa création.

images/03WD013.png

Les données peuvent être utilisées directement depuis la base de données d’origine ou converties vers un fichier de type HFSQL.

images/03WD014.png

La liste des fichiers disponibles dans la base de données est présentée pour en permettre la sélection et les importer dans l’analyse grâce aux flèches entre les listes.

Images/03WD024.png

Une fois importés, les fichiers apparaissent dans la représentation graphique de l’analyse en couleur bleue....

Génération de l’analyse

1. Génération

La génération de l’analyse valide les créations ou les modifications apportées à l’analyse et les rend utilisables par l’application. Chaque génération incrémente un numéro de version visible entre parenthèses dans le titre du logiciel à côté du nom de l’analyse lorsque celle-ci est ouverte.

L’application utilise l’analyse avec le numéro de version en cours.

Les fichiers physiques HFSQL doivent être identiques dans leurs descriptions à ceux définis dans l’analyse. Dans le cas contraire, cela provoque une anomalie (Code erreur 70016) indiquant l’incompatibilité entre les descriptions logiques de l’analyse et les descriptions physiques des fichiers.

Par programmation, la fonction HVérifieStructure() placée avant l’ouverture des fichiers autorise éventuellement une tolérance sur la comparaison des descriptions entre l’analyse et les fichiers physiques.

L’icône Génération de l’onglet Analyse du ruban lance la génération de l’analyse. 

La synchronisation de la structure et des données déployées (SDD) est automatiquement proposée à l’issue de la génération, comme nous allons...

Contexte HFSQL d’un fichier

Le contexte HFSQL d’un fichier est la représentation en mémoire de son enregistrement en cours. Ce dernier peut être vide et initialisé avec ses valeurs par défaut définies dans l’analyse, ou être renseigné depuis les valeurs d’un enregistrement lu dans la base de données ou depuis des valeurs qui lui sont affectées.

Chaque fichier décrit dans l’analyse dispose de son contexte HFSQL.

L’accès à une rubrique par programmation s’écrit en indiquant le nom du fichier suivi d’un point et du nom de la rubrique. Les valeurs lues ou écrites dans une rubrique le sont dans le contexte HFSQL du fichier.