DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Nouveauté WINDEV 2025 !
Aide / Tuto WINDEV / Tuto - Créer un projet WINDEV et son schéma des données
  • Leçon 2 - Créer les tables dans le schéma des données
  • Qu'allons-nous faire?
  • Pré-requis
  • Création d'une table
  • Création d'une table: utilisation d'une table prédéfinie
  • Création d'une table: création de la table et de ses rubriques
  • Importation d'un fichier CSV
  • Importation directe de tables existantes
  • Création des liaisons
  • Génération du schéma des données
  • En résumé
  • Pour aller plus loin

Tuto - Créer un projet WINDEV et son schéma des données

Leçon 2 - Créer les tables dans le schéma des données
Ce que vous allez apprendre:
  • Créer la description d'une table.
  • Créer des rubriques.
  • Créer des liaisons entre les tables.
  • Générer le schéma des données.
Durée de la leçon 40 mn
Qu'allons-nous faire?
La leçon précédente nous a permis de créer le projet et le schéma des données associé.
Pour notre exemple, nous allons continuer la création de ce schéma des données. Il pourra être utilisé pour une application de gestion de clients et de commandes.
Ce schéma des données comporte cinq tables différentes:
  • Client,
  • Commande,
  • ModeRèglement,
  • LigneCommande,
  • Produit.
Editeur de schémas des données - Schéma des données de la leçon
Nous allons:
  • Décrire les différentes tables de ce schéma des données selon différentes méthodes disponibles dans WINDEV:
    • utiliser une table prédéfinie.
    • créer entièrement une table.
    • importer un fichier CSV.
    • importer une table HFSQL existante.
  • Générer le schéma des données pour pouvoir l'utiliser dans les différents éléments du projet.

Pré-requis

Dans cette leçon, différents fichiers vous sont fournis. Pour obtenir ces fichiers sur votre poste:
  1. Depuis la page d'accueil, cliquez sur "Tutoriel".
  2. Dans la zone "Tuto - Créer un projet WINDEV et son schéma des données", cliquez sur le lien "Récupérer les éléments pour l'exercice".
Création d'une table

Création d'une table: utilisation d'une table prédéfinie

La première table que nous allons créer est la table Client. Pour cela, nous allons utiliser une table prédéfinie proposée par WINDEV:
  1. Sous l'éditeur de schémas des données, sous le volet "Schéma des données" du ruban, dans le groupe "Création", cliquez sur "Nouvelle table".
    L'assistant de création d'une table se lance.
  2. Dans l'assistant, sélectionnez l'option "Sélectionner une description parmi des tables prédéfinies".
    Assistant de création d'une table prédéfinie
    Passez à l'étape suivante de l'assistant.
  3. La liste des tables prédéfinies est affichée.
    Assistant de création d'une table - Liste des tables
    Nous allons créer la table "Client". Dans la liste des tables, sélectionnez "Client". Passez à l'étape suivante.
  4. L'assistant propose la liste des rubriques à intégrer dans la table Client.
    Assistant de création d'une table - Rubriques à inclure

    Cette liste est impressionnante car elle permet de gérer de nombreux types de tables Client.
    Nous allons conserver uniquement quelques rubriques:
    • Cliquez sur "Aucune" pour désélectionner toutes les rubriques.
    • Cochez uniquement les rubriques suivantes: IDClient, Société, Nom, Prénom, Adresse, CodePostal, Ville, EtatDep, Pays, Téléphone, Mobile, Email.
  5. Terminez l'assistant (bouton "Terminer").
La table "Client" est automatiquement créée sous l'éditeur de schémas des données.
Table Client

Création d'une table: création de la table et de ses rubriques

Nous allons maintenant créer entièrement la table Commande:
  1. Sous l'éditeur de schémas des données, sous le volet "Schéma des données" du ruban, dans le groupe "Création", cliquez sur "Nouvelle table". L'assistant de création d'une nouvelle table se lance.
  2. Dans l'assistant, sélectionnez l'option "Créer une nouvelle description d'une table".
    Assistant de création d'une table
    Passez à l'étape suivante de l'assistant.
  3. Dans l'assistant, saisissez le nom de la table: "Commande". Ce nom sera utilisé:
    • pour manipuler la table en programmation. La variable associée à la table sera "Commande".
    • pour construire le nom de la table physique associée (table "Commande.fic"). Automatiquement, le libellé et la description des éléments représentés par les enregistrements de la table apparaissent.
      Pour le champ "Un enregistrement représente", saisissez "Une commande".
      Le champ "Un enregistrement représente" permet d'avoir un libellé clair lors de la description des liaisons entre les tables. Automatiquement, un libellé est proposé à partir du nom de la table.
      Assistant de création d'une table - Paramètres généraux
  4. Dans la zone "Identifiant automatique", conservez l'option "Identifiant automatique sur 8 octets".
    Si un identifiant automatique est défini sur la table, cela signifie que la table possède une clé unique, gérée automatiquement par WINDEV.
    Chaque fois qu'un enregistrement est ajouté dans la table, WINDEV affecte automatiquement une valeur à l'identifiant de la table. Cette valeur est unique.
  5. Passez à l'étape suivante et sélectionnez le type de la base associée à la table. Nous allons travailler sur des tables HFSQL Classic. Cliquez sur le bouton "Terminer" pour valider.
La table est automatiquement créée dans l'éditeur de schémas des données. La fenêtre de description des rubriques et des index s'ouvre.
Description d'une table
Nous allons saisir les rubriques de la table "Commande". Dans la fenêtre de description de la table, vous pouvez déjà voir qu'une rubrique a été automatiquement créée: "IDCommande". Cette rubrique correspond à l'identifiant automatique de la table. Cette rubrique est composée des lettres "ID" et du nom de la table.
Nous allons créer les autres rubriques de cette table.
Tout d'abord, nous allons créer la rubrique "Date". Cette rubrique contiendra la date de la commande.
  1. Dans la fenêtre de description des rubriques, double-cliquez dans la colonne "Nom" de la première ligne vide. Cette colonne passe automatiquement en saisie. Saisissez "Date".
  2. Cliquez dans la colonne "Libellé". Automatiquement, le nom de la rubrique apparaît. Nous allons modifier le libellé de la rubrique en cliquant dessus: saisissez "Date de la commande". Dans la colonne "Type", le type "Texte" est automatiquement sélectionné. Déroulez la liste et sélectionnez le type "Date".
    Description des rubriques
  3. Cette rubrique va être une clé (un index) de notre table.
    Les clés permettent d'accélérer les accès aux données et les tris.
    La notion de clé fait partie des caractéristiques d'une rubrique. Une rubrique peut être: non clé, clé unique, clé avec doublons, clé primaire. Pour plus de détails sur ces différents types de clés, consultez Les rubriques clé.
  4. Dans cet exemple, la rubrique "Date" est une clé avec doublons: la valeur de cette clé pourra être présente plusieurs fois dans la table.
    • Re-sélectionnez la ligne de la rubrique "Date" pour activer les champs de description présents sur la droite de l'écran.
    • Précisez le type de clé utilisé: clé avec doublons.
      Description des rubriques
  5. Définissez également le sens de parcours de la clé, c'est-à-dire le tri par défaut de cette rubrique. Dans notre cas, lorsqu'un parcours sera effectué sur cette clé, le tri par défaut sera "ascendant".
Nous allons maintenant créer la rubrique "Etat" qui permet de connaître l'état de la commande.
  1. Positionnez-vous sur une nouvelle ligne de la table. Saisissez:
    • le nom: Etat
    • le libellé: Etat
    • le type: Sélecteur, Liste, Combo. Dans la fenêtre qui s'ouvre, vous pouvez sélectionner le type de champ créé par défaut pour cette rubrique. Ici, ce sera un sélecteur. Validez la fenêtre.
  2. Dans la partie basse de l'écran, cliquez sur le lien pour afficher les paramètres du champ lié à la rubrique sélectionnée.
    Paramètres du champ
    Les informations saisies dans la nouvelle fenêtre qui s'affiche seront automatiquement utilisées lors de la création des fenêtres liées à la table. Vous retrouvez ici le type du champ et le libellé.
    Nous allons saisir les options suivantes dans l'onglet "Contenu":
    • Cliquez sur l'onglet "Contenu".
    • Cliquez sur le bouton "+" pour ajouter la première option.
    • L'option 1 correspond à En attente. Saisissez "En attente" dans le champ de saisie à droite du sélecteur.
    • Cliquez sur le bouton "+" pour ajouter la seconde option.
    • Saisissez "Validée" à la place de "Option 2".
    • Cliquez à nouveau sur le bouton "+".
    • Saisissez "Annulée" à la place de "Option 3".
      Paramètres du champ
  3. Validez la fenêtre de description du champ relié à la rubrique.
A vous de jouer:
De la même manière:
  • Positionnez-vous sur une nouvelle ligne et créez la rubrique "TotalHT". Cette rubrique est de type "Monétaire".
  • Positionnez-vous sur une nouvelle ligne et créez la rubrique "TotalTTC". Cette rubrique est de type "Monétaire".

Voilà, la description de la table "Commande" est terminée. Validez la fenêtre de description des rubriques.
La table "Commande" apparaît sous l'éditeur de schémas des données.
Pour agrandir le dessin de la table affichée, cliquez sur la table, sélectionnez la poignée noire en bas de la table et déplacez la souris vers le bas.
Tables sous l'éditeur

Importation d'un fichier CSV

Pour créer la table "ModeRèglement", contenant les caractéristiques du règlement, nous allons utiliser une autre méthode: l'import d'une table CSV.
Un fichier CSV est un fichier texte utilisant un format spécifique. Ce fichier contient des données sur chaque ligne. Les données sont séparées par un caractère de séparation (généralement une virgule, un point-virgule ou une tabulation).
A partir du fichier CSV contenant les données, WINDEV­ va créer:
  • la description de la table dans le schéma des données,
  • la table HFSQL avec les données présentes dans la table CSV.
Pour importer un fichier CSV dans le schéma des données:
  1. Dans le ruban, sous le volet "Schéma des données", dans le groupe "Création", déroulez "Importer" et sélectionnez "Importer des descriptions de fichiers/tables".
  2. L'assistant d'importation de tables se lance.
  3. Sélectionnez le format des fichiers à importer. Ici, sélectionnez "Fichier texte".
    Assistant d'importation d'une table
    Passez à l'étape suivante de l'assistant.
  4. Indiquez le chemin du fichier à importer: "\Tutorial\WD\Exercises\WD Ma Première Base De Données\ModeRèglement.csv" présent dans le répertoire d'installation de WINDEV.
  5. Passez à l'étape suivante de l'assistant.
  6. Indiquez les paramètres d'importation suivants:
    • Les enregistrements sont délimités par: "<Retour chariot/Saut de ligne>".
    • Les colonnes sont délimitées par: "<Point-virgule>".
    • Les chaînes sont délimitées par: "<Aucun>".
    • Séparateur décimal: "<Automatique: point ou virgule>"
      Paramètres d'importation d'un fichier texte
  7. N'oubliez pas de cocher l'option "La première ligne contient les noms des colonnes".
  8. Passez à l'étape suivante.
  9. La structure de la table qui va être créée apparaît.
    Options d'importation
    Conservez les options par défaut. Passez à l'étape suivante de l'assistant.
  10. Le contenu du fichier CSV va être automatiquement converti au format HFSQL. L'assistant vous propose de créer la table HFSQL dans le répertoire du projet.
    Création des tables HFSQL
    Conservez les options proposées et passez à l'étape suivante.
  11. Terminez l'assistant. WINDEV crée la table.
Examinons la description de la table importée:
  1. Sélectionnez la table "ModeRèglement".
  2. Dans le menu contextuel (clic droit), sélectionnez l'option "Description de la table".
  3. Dans la fenêtre qui s'affiche, modifiez le libellé de la table: supprimez "(Importé)".
  4. Cliquez sur l'icône Afficher les rubriques de la table (en bas, à gauche) pour afficher la description des rubriques de la table.
  5. Ce table ne contient pas d'identifiant automatique ni de clé unique. Nous allons passer la rubrique "Code" en clé unique:
    • Positionnez le bandeau de sélection si nécessaire sur la rubrique "Code".
    • Dans la partie droite de l'écran, cliquez sur "Clé unique".
      Gestion des clés
  6. Nous obtenons les données suivantes:
    Description des rubriques (table ModeRèglement)
  7. Validez la fenêtre de description des rubriques puis la fenêtre de description de la table.

Importation directe de tables existantes

La dernière méthode que nous allons voir pour créer des tables est la simple importation de tables HFSQL existantes. Nous allons utiliser cette méthode pour créer la table "Produit".

Pour importer des tables HFSQL:
  1. Dans l'explorateur de fichiers de Windows, ouvrez le sous-répertoire de WINDEV suivant: "\Tutorial\WD\Exercises\WD Ma Première Base De Données".
  2. Sélectionnez le fichier "Produit.fic".
  3. Effectuez un "Drag and Drop" du fichier "Produit.fic" vers l'éditeur de schémas des données de WINDEV.
  4. La table apparaît sous l'éditeur de schémas des données.
Toutes les tables nécessaires sont maintenant présentes dans l'éditeur de schémas des données.
Avertissement
Nous avons uniquement importé la description de la table "Produit" dans le schéma des données de notre projet. Les données contenues dans la table "Produit" n'ont pas été importées dans le projet.
Pour manipuler les données de la table que vous venez d'importer:
  1. Ouvrez directement l'explorateur de fichiers sur le répertoire de votre projet: sous le volet "Accueil", dans le groupe "Général", cliquez sur Explorer le répertoire du projet.
    Volet Accueil
  2. Ouvrez un nouvel explorateur de fichiers sur le répertoire "\Tutorial\WD\Exercises\WD Ma Première Base De Données".
  3. Copiez via l'explorateur de fichiers, les fichiers "Produit.fic", "Produit.mmo" et "Produit.ndx" présents dans le répertoire "\Tutorial\WD\Exercises\WD Ma Première Base De Données" vers le sous-répertoire EXE du répertoire de votre projet.
    Remarque: il y a 3 fichiers à copier:
    • "Produit.fic": fichier contenant les données,
    • "Produit.mmo": fichier mémo contenant les images des produits,
    • "Produit.ndx": fichier contenant les index pour optimiser les recherches dans la table.
Création des liaisons
Nous avons créé toutes les descriptions de tables nécessaires à l'application de gestion de comptes.
Tables sous l'éditeur de schémas des données
Maintenant nous allons créer les liaisons entre les tables.
Une liaison permet de définir les contraintes d'intégrité (cardinalités) entre deux tables.

Nous allons commencer par créer une liaison entre la table "Client" et la table "Commande". On peut considérer que:
  • un client peut avoir une ou plusieurs commandes.
  • chaque commande est liée à un client.
Pour créer la liaison:
  1. Sous le volet "Schéma des données" (présent dans le ruban), dans le groupe "Création", cliquez sur "Nouvelle liaison". Le curseur de la souris se transforme en crayon.
  2. Cliquez sur la table "Client" puis sur la table "Commande".
  3. L'assistant de création de liaison se lance.
  4. Répondez aux questions posées par l'assistant:
    Assistant de création d'une liaison
    • Chaque Client a au moins une Commande: Non
    • Chaque Client peut avoir plusieurs Commandes: Oui
    • Chaque Commande a au moins un Client: Oui
    • Chaque Commande peut avoir plusieurs Clients: Non
      Si vous connaissez les cardinalités: Vous pouvez également saisir directement les cardinalités de la liaison dans l'assistant.
      Modification des cardinalités
  5. Passez à l'étape suivante. L'assistant propose automatiquement la clé utilisée par la liaison (IDClient).
    Assistant de création d'une liaison
  6. Affichez l'étape suivante de l'assistant. L'assistant propose de créer la clé "IDClient" dans la table Commande pour stocker le client correspondant à la commande.
    Assistant de création d'une liaison
  7. Acceptez cette option en passant à l'étape suivante.
  8. Cette étape permet de définir les règles d'intégrité qui seront automatiquement appliquées. Dans notre cas, vous pouvez choisir le comportement que vous souhaitez lors de la suppression d'un client ainsi que le comportement lors de la modification de l'identifiant du client.
  9. Validez les règles d'intégrité en passant à l'étape suivante de l'assistant.
  10. Cliquez sur le bouton "Terminer". La liaison est automatiquement créée dans l'éditeur de schémas des données.
A vous de jouer:
De la même manière, créez une liaison entre les tables "ModeRèglement" et "Commande". Ces deux tables sont liées de la façon suivante:
  • Une commande doit avoir un mode de règlement.
  • Un mode de règlement peut être utilisé dans plusieurs commandes. Dans l'assistant:
  • Les cardinalités sont les suivantes: ModeRèglement (0,n), Commande (1,1).
  • La clé de liaison correspond à la rubrique "Code".

Nous allons maintenant créer une liaison entre la table "Produit" et la table "Commande". Cette liaison va nous permettre de créer un fichier de liaison, la table correspondant aux lignes de commandes.
  1. Créez de la même manière la liaison entre les tables.
  2. Répondez aux questions posées par l'assistant:
    • Chaque Produit a au moins une Commande: Non
    • Chaque Produit peut avoir plusieurs Commandes: Oui
    • Chaque Commande a au moins un Produit: Non
    • Chaque Commande peut avoir plusieurs Produits: Oui
      Assistant de création d'une liaison
  3. Passez à l'étape suivante. L'assistant propose de créer une table de relation. Conservez l'option "Créer automatiquement la table de relation" et passez à l'étape suivante.
  4. L'assistant propose la clé unique de la table Produit à utiliser. Sélectionnez "Référence". Passez à l'étape suivante.
  5. Validez la création de la clé en passant à l'étape suivante.
  6. Conservez les options par défaut concernant les règles d'intégrité et passez à l'étape suivante.
  7. L'assistant propose la clé unique de la table Commande à utiliser: "IDCommande". Passez à l'étape suivante.
  8. Validez la création de la clé en passant à l'étape suivante.
  9. Conservez les options par défaut concernant les règles d'intégrité et passez à l'étape suivante.
  10. Cliquez sur le bouton "Terminer". La table de relation est automatiquement créée dans l'éditeur de schémas des données.
    Éditeur de schémas des données
Nous allons maintenant modifier la table de relation qui a été créée par WINDEV. En effet, cette table de relation va contenir les lignes de commande. Nous allons:
  • Modifier le nom de la table.
  • Modifier le nom de ses rubriques.
  • Ajouter des rubriques pour connaître la quantité de produit commandé et le total de la ligne de commande.
Nous allons tout d'abord renommer la table. Nous avons déjà réalisé une manipulation similaire lorsque nous avons changé le libellé de la table importée. Mais ici, ce n'est pas juste un libellé qui va être modifié: nous allons également renommer le fichier physique lié à la description de la table.
  1. Sélectionnez la table "Produit_Commande".
  2. Dans le menu contextuel (clic droit), sélectionnez l'option "Description de la table".
  3. Dans la fenêtre qui s'affiche, modifiez dans l'onglet "Général":
    • le nom de la table par "LigneCommande".
    • le nom sur le disque par "LigneCommande".
      Description des tables
Nous allons maintenant modifier les rubriques de cette table de relation.
  1. Cliquez sur l'icône Description des rubriques (en bas à gauche de la fenêtre de description de la table) pour afficher la description des rubriques de la table.
    Description des rubriques
  2. Cette table de relation comporte 3 rubriques. Positionnez le bandeau de sélection sur la rubrique "Référence_IDCommande". Cette rubrique est une clé composée.
    Une clé composée est un ensemble de rubriques constituant un index.
    Ce type de clé permet de parcourir la table sur des critères complexes ou de faire des recherches sur plusieurs rubriques simultanément.
  3. Pour renommer cette rubrique:
    • Cliquez dans la colonne "Nom".
    • Remplacez "Référence_IDCommande" par "IDLigneCommande".
    • Cliquez dans la colonne "Libellé".
    • Remplacez le libellé actuel par "Identifiant de LigneCommande".
Nous allons maintenant ajouter 3 nouvelles rubriques dans cette table de relation: Quantité, TotalTTC et TotalHT.
  1. Positionnez-vous sur une nouvelle ligne et créez la rubrique "Quantité". Cette rubrique est de type "Numérique".
  2. Positionnez-vous sur une nouvelle ligne et créez la rubrique "TotalHT".
  3. Une fenêtre s'affiche indiquant que la rubrique existe déjà dans le schéma des données et proposant de reprendre ses caractéristiques:
    Création d'une rubrique
    Conservez les options sélectionnées par défaut et validez (bouton "OK").
  4. Positionnez-vous sur une nouvelle ligne et créez la rubrique "TotalTTC". Là encore, reprenez la description existante.
  5. La description des rubriques pour la table "LigneCommande" est la suivante.
    Description des rubriques
  6. Validez la description des rubriques (bouton "OK") et celle de la table.
Le schéma des données est alors le suivant:
Éditeur de schémas des données
Génération du schéma des données
La génération du schéma des données consiste à valider les modifications du schéma des données (création de tables, ajout ou suppression de rubriques, etc.) et à les propager dans tout le projet (pages, champs reliés, états, etc.). Le projet "connaîtra" ainsi toutes les tables, rubriques, liaisons définies dans le schéma des données. Il sera ainsi très simple de manipuler ces éléments depuis les différents éditeurs de WINDEV.
La génération (synchronisation) du schéma des données est automatiquement proposée à la fermeture de l'éditeur de schémas des données si des modifications ont été effectuées.
Il est également possible de générer le schéma des données manuellement. C'est ce que nous allons faire.
Pour générer le schéma des données:
  1. Dans le ruban de l'éditeur de schémas des données, sous le volet "Schéma des données", dans le groupe "Schéma des données", cliquez sur "Génération".
  2. La génération du schéma des données est automatiquement lancée.
  3. Comme nous avons modifié les descriptions des tables présentes dans le schéma des données, pour mettre à jour les tables de l'application, WINDEV lance automatiquement la procédure de modification des tables. Cette opération permet de mettre à jour les tables physiques (fichiers ".fic") en fonction de leur description dans le schéma des données.
L'assistant de modification automatique se lance.
  1. Validez les différentes étapes jusqu'à l'écran listant les tables à prendre en compte.
    • WINDEV détecte que la table ModeRèglement nécessite une mise à jour. Conservez cette table sélectionnée.
    • WINDEV détecte que la table Produit est déphasée. Sélectionnez cette table.
      Modification automatique des données
  2. Passez à l'étape suivante.
  3. L'assistant propose de réaliser une sauvegarde des tables existantes, ne changez rien et passez à l'étape suivante.
  4. L'assistant propose de saisir des mots de passe de protection des tables modifiées par la modification automatique. Conservez les options par défaut et passez à l'étape suivante.
  5. La liste des tables à modifier apparaît. Terminez l'assistant.
La mise à jour des tables est effectuée.
Fermez l'éditeur de schémas des données.
En résumé
Vous venez de découvrir les principales étapes pour la création d'un schéma des données:
  • Création d'une table selon plusieurs méthodes.
  • Création des liaisons simples entre les tables.
  • Création d'une liaison complexe.
Projet corrigé
Vous voulez vérifier le résultat de vos manipulations? Un projet corrigé est disponible. Ce projet correspond donc au résultat final attendu.
Pour ouvrir le projet corrigé, dans la page d'accueil de WINDEV, cliquez sur "Tutoriel" puis dans la zone "Tuto - Créer un projet WINDEV et son schéma des données", cliquez sur le lien "Ouvrir le projet corrigé".
Pour aller plus loin
Lorsque votre schéma des données est décrit et généré, il est également possible de:
  • Créer une application complète grâce au RAD (Rapid Application Development).
    Pour plus de détails, consultez Créer une application grâce au RAD.
  • Créer une application complète entièrement personnalisée. Cette méthode sera utilisée dans le tuto "Application complète avec données" pour développer une application complète basée sur une base de données. Cette application sera basée sur un schéma des données correspondant à celui que vous avez créé dans ce tuto.
Leçon précédenteSommaire
Version minimum requise
  • Version 2025
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 24/04/2025

Signaler une erreur ou faire une suggestion | Aide en ligne locale