DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Nouveauté WEBDEV 2025 !
Aide / Tuto WEBDEV / Tuto - Créer un projet WEBDEV 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 des 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é

Tuto - Créer un projet WEBDEV 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 une 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 un 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. Elle pourra être utilisée 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.
Schéma des données de cette leçon
Nous allons:
  • Décrire les différentes tables de ce schéma des données selon différentes méthodes disponibles dans WEBDEV:
    • 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 WEBDEV 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

Le premier table que nous allons créer est la table Client. Nous allons pour cela, utiliser une table prédéfinie proposée par WEBDEV:
  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".
    Créer une description de 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
    Passez à l'étape suivante de l'assistant.
  3. Dans la liste des tables prédéfinies, sélectionnez "Client". Passez à l'étape suivante.
  4. La liste des rubriques à intégrer dans la table Client s'affiche.
    Assistant de création d'une table prédéfinie

    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 créée sous l'Éditeur de schémas des données

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

Nous allons maintenant créer entièrement la table Commande, sans l'aide d'un assistant:
  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 - Nom de la table
  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 WEBDEV.
    Chaque fois qu'un enregistrement est ajouté dans la table, WEBDEV affecte automatiquement une valeur à l'identifiant de la table. Cette valeur est unique.
  5. L'étape suivante de l'assistant vous permet de sélectionner 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 le schéma des données. La fenêtre de description des rubriques s'ouvre.
Fenêtre de description des rubriques d'une table
Nous allons saisir les rubriques de la table "Commande". Dans la fenêtre de description des rubriques 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 de la rubrique Date
  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.
      Caractéristiques de la clé
  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 dans le tableau des rubriques. Saisissez:
    • le nom: Etat
    • le libellé: Etat de la commande
    • 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.
    Lien permettant d'afficher les informations partagées
    Les informations saisies dans la nouvelle fenêtre qui s'affiche seront automatiquement utilisées lors de la création des pages liées à la table. Vous retrouvez ici le type du champ et le libellé.
    Nous allons saisir les différentes options correspondant à l'état de la commande dans l'onglet "Contenu":
    • Cliquez sur l'onglet "Contenu".
    • Cliquez sur le bouton "+" pour ajouter une nouvelle option dans le sélecteur.
    • L'option 1 correspond à "En attente": saisissez "En attente" à la place de "Option 1".
    • Cliquez sur le bouton "+" pour ajouter une nouvelle option dans le sélecteur.
    • Saisissez "Validée" à la place de "Option 2".
    • Cliquez sur le bouton "+" pour ajouter une nouvelle option dans le sélecteur.
    • Saisissez "Annulée" à la place de "Option 3".
      Saisie des informations partagées
  3. Validez la fenêtre de paramètres (bouton "OK").
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 Client et Commande sous l'éditeur de schémas des données

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. Ces 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, WEBDEV­ 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 le fichier CSV dans l'Éditeur de schémas des données, réalisez les manipulations suivantes:
  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 d'une table se lance.
  3. Sélectionnez le format de la table à importer. Ici, sélectionnez "Fichier texte".
    Schéma des données - Sélection du type de données à importer
    Passez à l'étape suivante de l'assistant.
  4. Indiquez le chemin du fichier à importer: "\Tutorial\WB\Exercises\Mon_Site_WEBDEV\ModeRèglement.csv" présent dans le répertoire d'installation de WEBDEV. Passez à l'étape suivante de l'assistant.
  5. Indiquez les paramètres d'importation suivants:
    • Enregistrements délimités par: "<Retour chariot/Saut de ligne>"
    • Colonnes délimitées par: "<Point-virgule>"
    • Chaînes délimitées par: "<Aucun>"
    • Séparateur décimal: "<Automatique: point ou virgule>"
      Paramètres d'importation d'un fichier texte
  6. N'oubliez pas de cocher l'option "La première ligne contient les noms des colonnes". Passez à l'étape suivante.
  7. L'assistant affiche la structure de la table qui va être créée. Conservez les options par défaut. Passez à l'étape suivante.
    Structure de la table importée
  8. 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.
    Conversion des données
    Conservez les options proposées et passez à l'étape suivante.
  9. Terminez l'assistant. WEBDEV crée la table.
Examinons la description de la table importée:
  1. Sélectionnez la table "ModeRèglement" puis dans le menu contextuel, sélectionnez l'option "Description de la table".
  2. Dans la fenêtre qui s'affiche, modifiez le libellé de la table: supprimez "(Importé)".
  3. Cliquez sur l'icône Afficher les rubriques de la table (en bas, à gauche) pour afficher la description des rubriques de la table.
  4. 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".
      Caractéristiques des clés
      Rubriques du fichier CSV importé
  5. Validez la fenêtre de description des rubriques puis la fenêtre de description de la table.

Importation directe de tables existantes

Dernière méthode de création de table présentée dans cette leçon, l'importation de tables HFSQL existantes. Nous allons utiliser cette méthode pour créer la table "Produit".
Les manipulations à effectuer sont les suivantes:
  1. Dans l'explorateur de fichiers de Windows, ouvrez le sous-répertoire de WEBDEV suivant: "\Tutoriel\WB\Exercices\Mon_Site_WEBDEV".
  2. Sélectionnez le fichier "Produit.fic".
  3. Effectuez un "Drag and Drop" du fichier "Produit" vers l'éditeur de schémas des données de WEBDEV.
  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.
  2. Ouvrez un nouvel explorateur de fichiers sur le répertoire "\Tutoriel\WB\Exercices\Mon_Site_WEBDEV".
  3. Copiez via l'explorateur de fichiers, les fichiers "Produit.fic", "Produit.mmo" et "Produit.ndx" présents dans le répertoire "\Tutoriel\WB\Exercices\Mon_Site_WEBDEV" 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 des tables nécessaires:
Tables présentes dans le schéma des données de l'exercice
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 d'une 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.
      Saisie 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 les tables "Commande" et "Produit". Cette liaison va nous permettre de créer un fichier de liaison, la table correspondant aux lignes de commande.
  1. Créez de la même manière la liaison entre les tables "Commande" et "Produit".
  2. Répondez aux questions posées par l'assistant:
    • Chaque Commande a au moins un Produit: Non
    • Chaque Commande peut avoir plusieurs Produits: Oui
    • Chaque Produit a au moins une Commande: Non
    • Chaque Produit peut avoir plusieurs Commandes: Oui
      Liaison entre les tables
  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 d'utiliser la clé unique de la table Commande: "IDCommande". 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 Produit à utiliser. Sélectionnez "Référence". 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.
    Schéma des données avec les liaisons
Nous allons maintenant modifier la table de relation qui a été créée par WEBDEV. En effet, ce fichier va contenir les lignes de commande.
Nous allons tout d'abord renommer la table de relation. 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 "Commande_Produit". Dans le menu contextuel, sélectionnez l'option "Description de la table".
  2. Dans la fenêtre qui s'affiche, modifiez:
    • le nom de la table par "LigneCommande".
    • le nom sur le disque par "LigneCommande".
      Modification du nom de la table
Nous allons maintenant modifier les rubriques de cette table de relation.
  1. Cliquez sur l'icône Afficher la description des rubriques (en bas à gauche) pour afficher la description des rubriques de la table.
    Description des rubriques de la table
  2. Ce table comporte 3 rubriques. Positionnez le bandeau de sélection sur la rubrique "IDCommande_Référence". 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 "IDCommande_Référence" 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 de la table et créez la rubrique "TotalTTC".
  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:
    Rubrique existante dans le schéma des données
  4. Conservez les options sélectionnées par défaut et validez (bouton "OK").
  5. Positionnez-vous sur une nouvelle ligne de la table et créez la rubrique "TotalHT". Là encore, reprenez la description existante.
  6. La description des rubriques pour la table "LigneCommande" est la suivante.
    Description des rubriques de la table LigneCommande
  7. Validez la description des rubriques (bouton "OK") et celle de la table.
Le schéma des données est alors le suivant:
Schéma des données de l'exercice
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.).
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, WEBDEV propose de lancer la synchronisation de la structure des données déployées (appelée également "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.
  4. Cliquez sur le bouton "Lancer".
L'assistant de modification automatique se lance.
  1. Validez les différentes étapes de l'assistant jusqu'à l'étape listant les tables à prendre en compte:
    Modification automatique des tables
    • La table ModeRèglement nécessite une mise à jour. Conservez cette table sélectionnée.
    • La table Produit a été copiée dans le répertoire du projet. WEBDEV propose de l'associer à ce schéma des données. Cochez la table.
  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.
Lorsque votre schéma des données est décrit et généré, il est possible de:
  • Créer un site complet grâce au RAD (Rapid Application Development).
    Pour plus de détails, consultez Créer une application grâce au RAD.
  • Créer un site complet entièrement personnalisé. Cette méthode est utilisée pour développer un site complet basé sur une base de données dans le tuto "Développer un site gérant des données". Ce site sera basé sur un schéma des données correspondant à celui que vous avez créé dans ce tuto.
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 WEBDEV, cliquez sur "Tutoriel" puis dans la zone "Tuto - Créer un projet WEBDEV et son schéma des données", cliquez sur le lien "Ouvrir le projet corrigé".
Leçon précédenteSommaire
Version minimum requise
  • Version 2025
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 09/01/2025

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