Aller au contenu principal
HPO Software Guides pas à pas pour créer des bases de données 4D et des applications low-code — de votre première table à une application métier opérationnelle.

Certains liens de ce site sont des liens d'affiliation : si vous effectuez un achat via ceux-ci, nous pouvons percevoir une commission sans frais supplémentaires pour vous. Cela n'influence jamais nos recommandations. Consultez notre divulgation d'affiliation pour plus de détails. Divulgation d'affiliation.

Les bases de l'apprentissage 4th Dimension

Pourquoi les champs de données sont la base d’une application 4D

Dans 4D, la Structure est le modèle de l’ensemble de votre application. Avant de créer un seul formulaire ou d’écrire une ligne de code 4D, vous définissez les tables qui contiennent vos données et les champs qui résident à l’intérieur de ces tables.

Tout ce qui se trouve en aval — formulaires, listes de valeurs, requêtes, relations, rapports — est construit sur cette structure. Définissez correctement les champs et le reste de l’application se mettra en place. Trompez-vous, et vous passerez des années à contourner des décisions que vous ne pourrez pas facilement annuler.

Ce dernier point est la chose la plus importante à comprendre à propos du modèle de champ de données de 4D : une fois qu’un champ de données est créé, il ne peut pas être supprimé. Il ne s’agit pas d’un bug ou d’un oubli. Cela reflète une philosophie de conception délibérée dans 4D (développée à l’origine par Laurent Ribardière et commercialisée pendant des décennies par 4D Inc., anciennement ACI) qui donne la priorité à la stabilité structurelle et à l’intégrité des données plutôt qu’à un remaniement occasionnel du schéma. Le champ occupe un emplacement permanent dans la structure interne de la table, et 4D réserve cet emplacement pendant toute la durée de vie de la base de données.

Cela a de réelles conséquences sur votre manière de travailler et façonne les conseils pratiques de cet article.

Points clés à retenir

  • Un champ de données 4D, une fois créé, ne peut pas être supprimé — il peut seulement être renommé, réutilisé ou masqué.
  • Cliquer sur la zone de champ de données (les carrés sous le nom d’une table) ouvre les Propriétés du champ ; cliquer sur le nom de la table ouvre plutôt les Propriétés de la table.
  • Les champs Texte peuvent contenir jusqu’à 32 000 caractères ; les champs Alpha ont une longueur limitée (20 par défaut, 80 maximum) et sont le seul type utilisable comme clé de relation.
  • Les champs que vous créez au-delà des lignes visibles existent toujours — il vous suffit d’étirer la table ou d’utiliser les flèches haut/bas pour les voir.
  • Les champs calculés tels que Âge ne sont pas définis dans la Structure ; le calcul est attaché lorsque vous créez ou modifiez un formulaire.
  • Laisser la fenêtre Structure ouverte (plutôt que de la fermer) évite d’être basculé en mode Utilisateur avant d’être prêt.

Création de votre premier champ de données

Venons-en maintenant à la partie intéressante : la création de champs de données. Intéressante, certes, mais avec cette caractéristique ennuyeuse mentionnée ci-dessus : un champ, une fois créé, ne peut pas être supprimé. Alors, que faire si vous faites une erreur ? Vous disposez de trois options pratiques :

  • Renommez-le. Si vous avez créé “Frist Name” par accident, renommez-le en “First Name” et continuez.
  • Réutilisez-le plus tard. Un champ dont vous n’avez pas besoin aujourd’hui peut servir à quelque chose demain. De nombreux développeurs 4D expérimentés conservent une petite réserve de champs de secours précisément pour cette raison.
  • Masquez-le. Sans données dans le champ, cela n’affectera pas de manière significative la taille ou le fonctionnement du programme. Un champ vide ne vous coûte presque rien à l’exécution.

Pour créer le premier champ de données, double-cliquez sur la table Customers dans la zone du champ de données, comme indiqué par la flèche dans la Figure 8. L’endroit où vous cliquez est important. Si vous cliquez dans la zone du nom de la table, vous obtiendrez à nouveau la fenêtre Propriétés de la table. Cliquer sur les carrés (la zone du champ de données) sous le nom de la table fait apparaître la fenêtre Propriétés du champ.

Connexes : — Une interface simple sous forme de feuille de calcul reposant sur une véritable base de données relationnelle, avec des automatisations, des vues et des interfaces partageables..

Cette distinction de cible de clic fait trébucher presque tous les nouveaux arrivants. Le nom de la table est une commande pour les paramètres au niveau de la table ; la grille de carrés en dessous est la liste des champs. Apprenez à viser les carrés.

Choisir le bon type de données

Avec la fenêtre Propriétés du champ ouverte (Figure 9), entrez “First Name” pour le Nom du champ et sélectionnez Texte pour le Type de données. Les champs Texte peuvent contenir jusqu’à 32 000 caractères — ce qui est suffisamment généreux pour les noms, les notes, les descriptions et la plupart des contenus de forme libre.

Une fois terminé, cliquez sur Appliquer, et la table affichera le premier champ de données (Figure 10).

Si vous faites du shopping : — Un créateur d'applications low-code qui se connecte à la suite Zoho plus large et propose des tarifs par utilisateur plutôt que par application..

Sélectionnez maintenant la zone de champ de données suivante dans la fenêtre Structure de la base de données exemple et répétez :

  • Créez un champ Texte appelé “Last Name”.
  • Créez un champ appelé “Address”, mais faites d’Address un champ de type Alpha.

La distinction entre Texte et Alpha importe plus qu’il n’y paraît à première vue.

Les champs Alpha peuvent contenir le nombre maximum de caractères spécifié comme longueur du champ. La valeur par défaut est de 20 et le maximum est de 80 caractères.

Si vous définissez 20 comme longueur maximale, le programme ne vous permettra tout simplement pas d’en saisir davantage — le champ impose sa propre limite au moment de la saisie. Cela rend le type Alpha idéal pour les valeurs courtes et à usage fixe : codes, abréviations, indicateurs d’état et, surtout, les clés de relation.

Les champs Alpha sont les seuls champs pouvant être utilisés pour les clés de relation. Si vous prévoyez de lier deux tables ensemble (par exemple, Customers vers Orders), le champ de liaison sur au moins un côté doit être Alpha. Il s’agit d’une contrainte structurelle, et non d’une préférence, et c’est l’une des raisons pour lesquelles il faut bien réfléchir avant d’attribuer les types.

Un moyen rapide de décider :

Connexes : — Un générateur de base de données sans code destiné aux portails, aux annuaires et aux outils internes, avec une tarification forfaitaire au lieu de frais par utilisateur..

Cas d’utilisationType recommandéPourquoi
Noms, notes, descriptionsTexteJusqu’à 32 000 caractères, sans limite fixe
Codes courts, indicateurs d’état, ID utilisés comme clésAlphaLongueur imposée, utilisable comme clé de relation
Dates, montants, quantitésTypes Numérique/DatePermet les calculs et le tri
Valeurs calculées à partir d’autres champs (ex. Âge)Défini sur le formulaire, pas dans la StructureGarde la Structure propre

Voir tous vos champs dans la fenêtre Structure

Notez dans la Figure 11 à gauche que seuls trois champs de données sont affichés dans la table Customers. Vous êtes sur le point d’en créer un quatrième appelé “City”, mais pour le voir, vous devez soit étirer le tableau vers le bas, soit utiliser les flèches haut et bas en haut du tableau pour révéler des champs supplémentaires.

Deux notes pratiques ici :

  • Si vous continuez simplement à créer des champs, ils seront ajoutés au tableau — mais ne seront pas visibles. Les données sont là ; l’affichage n’est tout simplement pas assez haut.
  • Si vous vous arrêtez puis revenez à la création de champs de données, vous devez étirer le tableau jusqu’à ce qu’il y ait une ligne de champ de données vide et cliquer dessus pour continuer. Vous ne pouvez pas ajouter d’éléments à une liste que vous ne pouvez pas voir.
  • Les flèches n’apparaissent que lorsqu’il y a plus de champs que ce qui est affiché, leur présence est donc en soi un signal utile indiquant que vous avez des lignes masquées.

Lorsque vous étirez le tableau, c’est parfois difficile : vous devez saisir le bord précisément. Avec un peu de pratique, cela devient facile (Figure 12).

Notre sélection : — La plateforme de base de données relationnelle de longue date pour les équipes qui ont besoin d'applications personnalisées sur ordinateur, Web et mobile à partir d'un seul fichier..

Une note sur les champs calculés comme l’Âge

Le champ de données “Âge” sera plus tard calculé sur la base des champs de données Date et Date de naissance. Pour l’instant, il ne s’agit que d’un champ de saisie de données. Pour en faire un calcul, cela doit être effectué lors de la création ou de la modification d’un formulaire.

C’est un point architectural subtil mais important. Dans 4D, la Structure définit quelles données existent ; le formulaire définit comment elles sont présentées et calculées. Un champ comme l’Âge est une valeur dérivée — elle change chaque jour, donc le stocker sous forme de données statiques serait une erreur. En attachant le calcul au niveau du formulaire, vous vous assurez que l’Âge est toujours à jour chaque fois que l’enregistrement est affiché.

Si vous venez d’un environnement d’outils comme Microsoft Access ou FileMaker, cette séparation peut sembler inhabituelle. Dans 4D, la discipline consistant à maintenir les valeurs dérivées en dehors de la Structure s’avère payante avec des données plus propres et moins de champs obsolètes. Pour un contexte plus large sur la manière dont les schémas de base de données séparent les données stockées et dérivées, consultez l’article Wikipédia sur la normalisation de la base de données, qui explique pourquoi le stockage de valeurs calculées redondantes est généralement déconseillé.

Terminer et éviter le piège des formulaires par défaut

Une fois la création des champs de données terminée, fermez la fenêtre Propriétés du champ en cliquant sur le bouton Terminé.

Attention maintenant : sans formulaire créé, si vous fermez la fenêtre Structure for Sample Database, il vous sera demandé si vous souhaitez créer des formulaires par défaut (Figure 14). Si vous sélectionnez “Non”, la fenêtre se fermera et vous serez redirigé vers le mode Utilisateur. Puisque nous ne sommes pas encore prêts à être en mode Utilisateur, laissez simplement la fenêtre Structure for Sample Database ouverte pour le moment.

Il s’agit d’une pierre d’achoppement courante au début. Les nouveaux développeurs ferment la fenêtre Structure, refusent les formulaires par défaut et se retrouvent soudainement dans un environnement d’exécution sans rien à exécuter. La solution est simple — rouvrez la Structure — mais la leçon mérite d’être internalisée : dans 4D, les modes Structure (conception) et Utilisateur (exécution) sont des environnements distincts, et vous passez de l’un à l’autre délibérément.

Si vous êtes curieux de savoir comment 4D s’intègre dans le paysage plus large des plateformes de développement rapide d’applications, l’aperçu Wikipédia des plateformes de développement low-code est une référence utile pour comprendre la catégorie que 4D a aidé à pionner.

Meilleures pratiques pour structurer les champs dès le début

Parce que les champs sont permanents, un peu de planification dès le départ évite bien des ennuis plus tard. Adoptez ces habitudes :

  • Nommez les champs de manière cohérente. Choisissez une convention (par exemple, “Prénom”, “Nom”, “Date de naissance”) et appliquez-la partout. La cohérence rend la création des formulaires et du code beaucoup plus facile.
  • Réservez les champs Alpha pour les clés. Si un champ doit participer un jour à une relation, faites-en un champ Alpha dès le début. Une conversion ultérieure n’est pas possible.
  • Maintenez les valeurs dérivées en dehors de la Structure. L’âge, les totaux et les valeurs calculées similaires appartiennent aux formulaires ou aux méthodes, et non aux champs stockés.
  • Laissez quelques champs de réserve. Comme vous ne pouvez pas supprimer de champs, disposer d’emplacements inutilisés vous donne la possibilité de vous adapter sans encombrer votre schéma visible.
  • Documentez au fur et à mesure. Une courte note sur l’objectif de chaque champ évitera à votre futur vous-même — et à tout coéquipier — des conjectures considérables.

Pour des conseils faisant autorité sur les principes de conception de bases de données relationnelles qui sous-tendent ces décisions, la documentation PostgreSQL offre une excellente référence indépendante du fournisseur sur les types de données et la conception de schémas, même si l’implémentation de 4D diffère dans ses spécificités.

Questions fréquemment posées

Puis-je supprimer un champ de données dans 4D après l’avoir créé ?

Non. Une fois qu’un champ de données est créé dans la Structure 4D, il ne peut plus être supprimé. Vos options sont de le renommer, de le réutiliser ultérieurement pour un usage différent ou simplement de le masquer. Un champ vide sans données n’affecte pas de manière significative la taille ou le fonctionnement du programme, donc laisser un champ inutilisé en place est généralement inoffensif.

Quelle est la différence entre un champ Texte et un champ Alpha ?

Les champs Texte peuvent contenir jusqu’à 32 000 caractères et n’ont pas de limite de longueur fixe. Les champs Alpha ont une longueur limitée — la valeur par défaut est de 20 caractères et le maximum est de 80 — et le programme applique cette limite lors de la saisie des données. De manière critique, les champs Alpha sont le seul type de champ pouvant être utilisé comme clés de relation.

Pourquoi ne puis-je pas voir le nouveau champ de données que je viens de créer ?

Si vous continuez à créer des champs au-delà des lignes visibles du tableau, ils sont ajoutés mais ne sont pas affichés. Pour les voir, étirez le tableau ou utilisez les flèches haut et bas en haut du tableau. Les flèches n’apparaissent que lorsqu’il y a plus de champs que le tableau ne peut en afficher.

Comment faire pour qu’un champ comme Âge soit calculé automatiquement ?

Les champs calculés tels que l’Âge ne sont pas définis dans la Structure. Au lieu de cela, le calcul est associé lors de la création ou de la modification d’un formulaire. Le champ Âge est d’abord créé comme un champ de saisie de données ordinaire, et le calcul basé sur la Date et la Date de naissance est ajouté ultérieurement au niveau du formulaire.

Que se passe-t-il si je ferme la fenêtre Structure avant de créer des formulaires ?

Si vous fermez la fenêtre Structure de la base de données d’exemple sans avoir créé de formulaires, 4D vous demande si vous souhaitez créer des formulaires par défaut. Si vous répondez « Non », la fenêtre se ferme et vous passez en mode Utilisateur. Comme vous n’êtes pas encore prêt à exécuter l’application, il est préférable de laisser la fenêtre Structure ouverte jusqu’à ce que vos formulaires soient créés.

Pourquoi cliquer sur le tableau ouvre-t-il parfois la mauvaise fenêtre ?

L’endroit où vous cliquez détermine la fenêtre qui apparaît. Cliquer sur la zone du nom de la table ouvre la fenêtre Propriétés de la table, tandis que cliquer sur les carrés dans la zone des champs de données sous le nom de la table ouvre la fenêtre Propriétés du champ. Visez la grille de carrés lorsque vous souhaitez ajouter ou modifier des champs.


Essayez FileMaker gratuitement pendant 45 jours

La plateforme de base de données relationnelle de longue date pour les équipes qui ont besoin d'applications personnalisées sur ordinateur, Web et mobile à partir d'un seul fichier.