0.4 · Le concept d'analyse (base de données)

Niveau 0 · Prise en main & environnement

0.4Le concept d'analyse (base de données)

Objectif : Comprendre l'analyse (MCD), les fichiers de données (tables), rubriques (champs) et clés.
Temps estimé : 11 min · lecture autonome · Si vous n'avez que 5 min : lisez « L'essentiel en 30s » + le schéma.

L'essentiel en 30 secondes

  • L'analyse est le modèle (schéma) de la base de données ; vocabulaire WinDev : fichier = table, rubrique = colonne, liaison = relation.
  • Tout en découle : le RAD génère fenêtres et états depuis l'analyse, et les champs se lient aux rubriques.
  • Clé primaire = identifiant unique ; règle d'or : soigner l'analyse avant de dessiner les fenêtres.

Mini-cas filé — Yacine dessine l'analyse de son négoce

Avant de dessiner la moindre fenêtre, Yacine conçoit l'analyse de sa gestion de négoce de matériel électrique à Oran. Dans l'éditeur d'analyse, il crée les fichiers correspondant aux entités de son métier : Client, Produit, Commande, LigneCommande, Facture et Stock. Pour chacun, il décrit les rubriques (nom, type, taille) — CodeClient, Nom, Ville ; Reference, Designation, PrixUnitaireHT ; NumeroCommande, DateCommande, CodeClient — et pose la clé primaire (l'identifiant unique, souvent automatique). Il trace ensuite les liaisons qui traduisent les règles réelles : un client passe plusieurs commandes, une commande contient plusieurs lignes, une commande donne une facture. Il retient la règle d'or : si l'analyse est bancale, tout ce qui suit (fenêtres, requêtes, états) le sera aussi — et corriger après coup coûte très cher.

Cas autonome de cette section : il revient dans le cours, le schéma, le script et le défi 48h de la section 0.4.

1. L'analyse, modèle des données

L'analyse est LE concept central de WinDev : c'est la description de la structure des données, autrement dit le modèle (le schéma) de la base de données. On y décrit les fichiers (l'équivalent des « tables »), les rubriques (l'équivalent des « colonnes ») et les liaisons (les relations entre fichiers). Attention au vocabulaire propre à PC SOFT : ce que d'autres outils appellent table / colonne / relation s'appelle ici fichier / rubrique / liaison. Yacine y décrit clients, produits, commandes et stocks.

2. Pourquoi tout en découle

L'analyse est déterminante parce que tout en découle. Le RAD s'appuie dessus et peut générer fenêtres, états et code à partir d'elle. Les champs des fenêtres se lient directement aux rubriques : la saisie, la lecture et l'enregistrement deviennent quasi automatiques. Les requêtes et les états reposent sur les fichiers et les liaisons. Un modèle juste fait gagner un temps énorme ; un modèle bancal contamine toute l'application, comme le constate Yacine.

3. Clé primaire, liaisons et règle d'or

Deux notions fondamentales : la clé primaire (la rubrique qui identifie de façon unique chaque enregistrement, souvent un identifiant automatique) et les liaisons, qui expriment les relations réelles du métier (un client a plusieurs commandes). Règle d'or : on soigne l'analyse AVANT de dessiner les fenêtres. C'est l'investissement le plus rentable de tout le projet : corriger une structure après coup impose de reprendre fenêtres, requêtes, états et code, et de migrer les données existantes.

Erreur d'interprétation fréquente : « L'analyse est un simple schéma décoratif, et on peut la refaire après avoir construit les fenêtres ». Non, double erreur. L'analyse est le socle dont tout dépend : le RAD, les champs liés, les requêtes et les états. La retoucher une fois les fenêtres créées déclenche un effet domino — et dès qu'il existe des données réelles, une migration risquée. Yacine conçoit donc l'analyse d'abord, puis construit le reste dessus.
L'analyse de Yacine Fichiers, rubriques, liaisons : le socle de l'application. ClientCodeClient, Nom, Ville, Solde+ProduitReference, Designation, Stock+CommandeNumero, Date, CodeClient+LiaisonsClient → Commande → Facture Vocabulaire WinDev : fichier = table, rubrique = colonne, liaison = relation.
Fichiers, rubriques, liaisons : le socle de l'application.
Version texte du schéma (SEO / lecteurs d'écran / traduction) : 1) Avant toute fenêtre, Yacine conçoit l'analyse de sa gestion de matériel électrique à Oran. 2) Il crée les fichiers Client, Produit, Commande, LigneCommande, Facture et Stock, décrit leurs rubriques (nom, type, taille) et pose la clé primaire de chacun. 3) Il trace les liaisons métier : un client passe plusieurs commandes, une commande contient plusieurs lignes, une commande donne une facture. Leçon : vocabulaire WinDev fichier = table, rubrique = colonne, liaison = relation ; tout découle de l'analyse, qu'il faut soigner avant les fenêtres.

🔎 Exemple concret — 🔎 Exemple concret — parcourir les commandes d'un client

Grâce à la liaison Client → Commande, Yacine liste les commandes du client recherché :

// Lister les commandes du client sélectionné (liaison 1-N)
TableSupprimeTout(TAB_Commandes)
POUR TOUT Commande
	SI Commande.CodeClient = Client.CodeClient ALORS
		TableAjouteLigne(TAB_Commandes, Commande.Numero, Commande.DateCommande, Commande.MontantHT)
	FIN
FIN

Lecture : la liaison traduit la règle « un client a plusieurs commandes » et permet de naviguer entre les fichiers.

Leçon : une bonne liaison évite les doublons et les totaux faux — les pires bugs, car ils ne plantent pas, ils mentent.

Vocabulaire de la section

Analyse
Modèle (schéma) de la base de données : description de la structure des données.

Exemple simple : Yacine y décrit ses clients, produits et commandes.

Ce que ce n'est pas : une fenêtre de saisie de l'application.

Réflexe : structure des données → analyse.

Fichier (= table)
Ensemble des enregistrements de même nature dans l'analyse (ex. le fichier Client).

Exemple simple : Yacine crée le fichier Produit.

Ce que ce n'est pas : un document sur le disque dur.

Réflexe : table de données → fichier.

Rubrique (= colonne)
Information élémentaire décrite dans un fichier, avec un nom, un type et une taille.

Exemple simple : Yacine décrit la rubrique Stock en type numérique.

Ce que ce n'est pas : une fenêtre entière de l'application.

Réflexe : colonne d'une table → rubrique.

Liaison (= relation)
Lien entre deux fichiers traduisant une réalité métier et garantissant la cohérence.

Exemple simple : Un client a plusieurs commandes chez Yacine.

Ce que ce n'est pas : une simple couleur de champ.

Réflexe : relation métier → liaison.

Clé primaire
Rubrique identifiant de façon unique chaque enregistrement d'un fichier (souvent automatique).

Exemple simple : Yacine pose CodeClient comme clé primaire.

Ce que ce n'est pas : une rubrique sans rôle d'identification.

Réflexe : identifiant unique → clé primaire.

En pratique — En pratique — comprendre et créer une analyse

  1. Ouvrez l'éditeur d'analyse et créez vos fichiers (= tables) correspondant aux entités de votre métier : Client, Produit, Commande…
  2. Décrivez les rubriques de chaque fichier (nom, type, taille) en choisissant le bon type pour chaque information.
  3. Définissez la clé primaire de chaque fichier (souvent un identifiant automatique) pour identifier chaque enregistrement.
  4. Tracez les liaisons entre fichiers en traduisant les règles métier réelles (comme le fait Yacine entre Client et Commande), puis générez l'analyse avant de construire les fenêtres.
Vous disposez d'un modèle de données correct, comme l'analyse de Yacine — l'ossature de l'application — sur lequel s'appuieront le RAD, les fenêtres, les requêtes et les états.

Script pas-à-pas — décrire l'analyse de Yacine

// Analyse de la gestion de négoce de Yacine // Fichier Client : CodeClient (clé primaire), Nom, Ville, Solde // Fichier Produit : Reference (clé primaire), Designation, Stock // Fichier Commande : Numero (clé primaire), DateCommande, CodeClient // Fichier Facture : NumeroFacture (clé primaire), NumeroCommande // Liaisons : Client → Commande → Facture ; Commande → LigneCommande // Règle d'or : générer l'analyse AVANT de dessiner les fenêtres

Le vocabulaire est propre à WinDev : fichier = table, rubrique = colonne, liaison = relation.

Modèle copier-coller — ajouter un client (clé primaire automatique)

// Modèle de Yacine — bouton BTN_Ajouter de la fenêtre FEN_Clients
HRAZ(Client)
Client.Nom = SAI_Nom
Client.Ville = SAI_Ville
Client.Telephone = SAI_Telephone
Client.Solde = 0
HAjoute(Client)
Info("Client ajouté, code = " + Client.CodeClient)

Fichiers métier

Yacine crée Client, Produit, Commande, LigneCommande, Facture et Stock dans l'analyse.

Clé primaire

Yacine pose CodeClient comme identifiant unique, souvent automatique.

Liaison métier

Yacine traduit la règle « un client a plusieurs commandes » par une liaison 1-N.

Règle d'or

Yacine termine et génère l'analyse avant de dessiner la première fenêtre.

✓ Bonnes pratiques

  • Partir du métier : chaque fichier correspond à une entité réelle.
  • Poser une clé primaire par fichier (souvent automatique).
  • Soigner l'analyse avant les fenêtres : c'est l'investissement le plus rentable.

✗ Pièges fréquents

  • Confondre un fichier de l'analyse avec un fichier du disque.
  • Dessiner les fenêtres avant d'avoir stabilisé l'analyse.
  • Négliger les liaisons : doublons et totaux faux s'ensuivent.

Points clés à retenir

  • L'analyse est le modèle de la base : fichiers (= tables), rubriques (= colonnes), liaisons (= relations).
  • Tout en découle : le RAD génère fenêtres et états depuis l'analyse, et les champs se lient aux rubriques.
  • La clé primaire identifie de façon unique chaque enregistrement ; les liaisons traduisent les règles métier.
  • Règle d'or : soigner l'analyse avant de dessiner les fenêtres.

Défi 48h — appliquez demain

Comme Yacine, dessinez une mini-analyse au brouillon : trois ou quatre fichiers (ex. Client, Produit, Commande), leurs rubriques principales avec un type, une clé primaire par fichier et au moins une liaison traduisant une règle métier. Ne touchez pas encore aux fenêtres : l'exercice est de penser le modèle avant l'interface.

Checklist sortie de section
  • Je sais ce qu'est l'analyse et son vocabulaire (fichier, rubrique, liaison).
  • Je comprends pourquoi tout découle de l'analyse dans WinDev.
  • Je pose une clé primaire et des liaisons avant de construire les fenêtres.
Auto-évaluation 1-5 : est-ce que je pense l'analyse avant les fenêtres ?Auto-évaluation 1-5 : sais-je distinguer fichier, rubrique et liaison ?

Questions fréquentes

Pourquoi faut-il soigner l'analyse avant de commencer les fenêtres ?

Parce que dans WinDev tout découle de l'analyse : le RAD génère fenêtres et états à partir d'elle, les champs se lient aux rubriques, et requêtes et états s'appuient dessus. Un modèle bancal contamine toute l'application, et corriger la structure ensuite impose un effet domino plus une migration risquée des données. C'est l'investissement le plus rentable du projet, comme le fait Yacine.

Pourquoi WinDev parle-t-il de « fichiers » et de « rubriques » plutôt que de tables et de colonnes ?

C'est un choix de vocabulaire historique de PC SOFT : les concepts sont ceux des bases relationnelles classiques (fichier = table, rubrique = colonne, enregistrement = ligne, liaison = relation, analyse = schéma). Il faut connaître cette correspondance pour ne pas se perdre — et surtout ne pas confondre le « fichier » de l'analyse (= une table de données) avec un fichier du disque.

Vérifiez votre compréhension

Qu'appelle-t-on l'analyse dans WinDev ?

Ressources supplémentaires (optionnel, pour aller plus loin)

Examen du niveau 0Questions inédites et durcies pour valider vos acquis