4D v16.3Propriétés des tables |
||||||||||||||
|
4D v16.3
Propriétés des tables
Propriétés des tables
Vous pouvez paramétrer plusieurs propriétés pour les tables. Ces propriétés sont définies à l'aide de la Palette Inspecteur ou, pour certaines d'entre elles, via le menu contextuel des tables. Un trigger est une méthode qui est exécutée automatiquement lorsque certains événements liés à la table surviennent. Les événements proposés sont les suivants :
Les événements triggers peuvent être paramétrés dans la Palette Inspecteur ou via le menu contextuel associé à la table (clic droit sur la zone de libellé de la table) : Cochez chaque événement pour lequel vous souhaitez activer le trigger. Vous pouvez accéder directement au trigger d’une table depuis la fenêtre de structure en cliquant sur le bouton Editer... de l’Inspecteur ou en sélectionnant Modifier méthode... dans le sous-menu contextuel. Pour plus d’informations sur les triggers, reportez-vous à la section Types de méthodes. Notes :
Le trigger que vous saisissez dans l’éditeur de méthodes ne sera exécuté que lorsque le ou les événement(s) que vous avez coché(s) seront détectés. Les attributs paramètrent l'apparence et le comportement général de la table. Cette option vous permet de rendre une table invisible dans le mode Application et pour les plug-ins. Vous pouvez activer cette option pour des tables utilitaires ou provisoirement inutilisées. Rendre une table invisible vous permet de limiter les opérations qu’un utilisateur peut réaliser sur cette table ainsi que sur ses champs. Une fois invisible, une table n’apparaît plus dans les éditeurs ni dans la plupart des boîtes de dialogue standard du mode Application. De même, elle ne peut plus être utilisée par les plug-ins. Les éditeurs et boîtes de dialogue concernés dans le mode Application sont les suivants :
Dans chacun de ces éditeurs, l’utilisateur ne peut pas visualiser ou choisir la table ou un de ses champs. Par exemple, l’utilisateur ne peut pas réaliser un tri basé sur un champ d’une table invisible. Dans l’éditeur de structure, les tables invisibles et leur champs sont affichés en caractères italiques. Vous pouvez attribuer une couleur à chaque table. L’utilisation de couleurs vous permet d’accroître la lisibilité d’une structure complexe. Par exemple, vous pouvez utiliser dans une base une couleur pour toutes les tables relatives aux clients et une autre couleur pour celles relatives au stock. Note : Il est également possible d’attribuer individuellement une couleur à chaque champ (cf. paragraphe et chaque lien (cf. paragraphe Définition). Pour définir la couleur d’une ou de plusieurs tables, effectuez votre sélection et choisissez une couleur depuis :
L’option Automatique permet d’appliquer la couleur standard d’origine à la table. Cette option vous permet d’optimiser la suppression d’une sélection d’enregistrements réalisée à l’aide de la commande DELETE SELECTION. Quand 4D supprime une sélection, les marqueurs des enregistrements sont aussi supprimés. Un marqueur d’enregistrement est un en-tête attaché à l’enregistrement qui contient des informations relatives à cet enregistrement. La suppression des marqueurs et des enregistrements est plus lente qu’une suppression des seuls enregistrements. Dans certains cas, il peut être souhaitable de ne pas supprimer automatiquement les marqueurs d’enregistrements. Cette option vous permet de définir le type de suppression que vous souhaitez utiliser. Pour accélérer la suppression d’une sélection comportant de nombreux enregistrements réalisée à l’aide de la commande DELETE SELECTION, désélectionnez l’option Enregistrement(s) définitivement supprimé(s). Les marqueurs d’enregistrements ne seront pas supprimés. Cette option ne peut pas être paramétrée par programmation. Lorsque cette option est cochée, 4D génèrera, lors de l'utilisation de la table, les informations nécessaires à la réplication de ses enregistrements. La fonction de réplication des enregistrements permet de synchroniser les données de deux bases 4D pour plus de sécurité. Une fois l'option activée, les mécanismes de réplication doivent être mis en oeuvre à l'aide de commandes spécifiques du langage SQL de 4D ou via le protocole HTTP. Pour plus d’informations sur cette option ainsi que sur les mécanismes de réplication des enregistrements via le SQL, reportez-vous à la section Réplication via le SQL. Pour plus d'information sur la réplication via HTTP, reportez-vous au paragraphe URL 4DSYNC/. Par défaut, l'option n'est pas cochée. Pour qu'elle soit sélectionnable, une clé primaire doit avoir été définie via le SQL dans la table répliquée. Dans le cas contraire, l’option est grisée. 4D vous permet de définir la clé primaire d'une table dans l'éditeur de structure (cf. ci-dessous). Cette option permet de contrôler l'exposition de la table dans le contexte des requêtes 4D Mobiles adressées à la base 4D via REST. Par défaut, toutes les tables sont exposées en 4D Mobile. Pour ne pas exposer une table (ni aucun des champs qu'elle contient), désélectionnez l'option Exposer avec le service 4D Mobile pour la table. Note : Vous pouvez également définir cette option au niveau de chaque champ de la table, cf. section Propriétés des champs. Cette option est utilisable dans le contexte de la fonctionnalité "4D Mobile". Pour plus d'informations, reportez-vous au manuel 4D Mobile. Par défaut, cette option est cochée pour les nouvelles tables ainsi que pour les tables des bases de données converties. Cochez cette option pour que les opérations effectuées sur les données de la table soient incluses dans le fichier d’historique de la base (lorsque ce fichier est généré). Cette option devra généralement être cochée pour la plupart des tables. Toutefois, à des fins d’optimisation, vous pouvez la désélectionner, par exemple pour les tables temporaires ou des tables utilisées pour l’import de données. Note : L’option est grisée lorsque la table ne contient pas de clé primaire. Il est important de noter que cette option indique uniquement que les données de la table doivent être journalisées si la base utilise un fichier d’historique, elle n’active pas le processus de journalisation lui-même au niveau de la base de données (cf. section Gestion du fichier d’historique). 4D affiche une icône d’alerte à droite de l’option Inclure dans le fichier d’historique lorsque toutes les conditions d’activation ne sont pas réunies. Tant que cette icône est affichée, la journalisation n’est pas activée. Pour connaître la cause de cette alerte, placez le curseur de la souris au-dessus de l’icône : Les messages suivants peuvent être affichés :
La zone Commentaires de la vous permet de stocker des informations supplémentaires sur la table. Ces commentaires seront accessibles à tous les développeurs. La zone SQL de la comporte le menu “Schémas” et une zone d’informations.
La clé primaire désigne le ou les champ(s) de la table chargé(s) d’identifier de façon unique les enregistrements. La définition d'une clé primaire est nécessaire à la fonction de réplication des enregistrements d'une table de 4D (cf. Réplication via le SQL) ainsi qu'à la fonction de journalisation (cf. Gestion du fichier d’historique). 4D vous permet de créer, de modifier ou de supprimer directement des clés primaires via le menu contextuel de l’éditeur de structure. Note : Les clés primaires peuvent également être définies via le langage SQL à l'aide de la clause PRIMARY KEY suivie de la liste de colonnes (cf. paragraphe Clé primaire dans le Guide de référence SQL de 4D). Les valeurs des champs clés primaires doivent être manipulées avec précaution afin d'assurer en toutes circonstances l'intégrité des données. Une valeur de champ clé primaire doit notamment respecter les règles suivantes :
Il est fortement déconseillé de modifier une valeur de champ clé primaire, même si 4D le permet pour des cas d'usage spécifiques. Si vous devez absolument modifier votre champ clé primaire (par ex. si vous avez utilisé un champ "numéro de sécurité sociale" en tant que clé primaire et des valeurs erronées ont été saisies), il est conseillé de plutôt supprimer (désactiver) la clé primaire courante et d'ajouter un nouveau champ clé primaire avec affectation automatique. Les champs clé primaires peuvent être de type entier long ou au format UUID (type alpha). Nous recommandons dans la plupart des cas le format UUID avec option UUID auto. Même si le type entier long occupe moins de place sur le disque, les UUIDs présentent de multiples avantages, facilitant par exemple la fusion de bases de données indépendantes, l'import/export de données, la mise en oeuvre de stratégies élaborées de miroir/restitution ou encore la synchronisation avec des systèmes externes. Pour créer une clé primaire depuis l'éditeur de structure :
La clé primaire est créée immédiatement. Les champs inclus dans la clé primaire apparaissent soulignés dans l’éditeur et leur description SQL fait apparaître le mot-clé PRIMARY KEY. Lorsque vous créez une clé primaire dans une table contenant déjà des enregistrements (utilisation d'un champ existant ou ajout d'un nouveau champ), 4D vérifie la conformité des valeurs présentes ou effectue automatiquement des opérations de mise à jour :
Note : Le ou les champ(s) appartenant à la clé primaire n'acceptent pas la valeur null. Pour supprimer la clé primaire d'une table :
Une boîte de dialogue de confirmation apparaît. Si vous cliquez sur OK, la clé primaire est immédiatement supprimée. A compter de 4D v14, toute nouvelle table créée dans la base contient un champ clé primaire par défaut : Le champ est nommé "ID", est de type Entier long et dispose notamment des attributs suivants :
Note : Le nom et le type des champs primaires créés par défaut peuvent être modifiés dans la Page Structure des Préférences de l’application 4D. Vous pouvez utiliser ce champ tel quel ou modifier son nom ainsi que ses propriétés si vous le souhaitez (vous pouvez par exemple utiliser un champ UUID). Vous pouvez également le supprimer si vous souhaitez utiliser un ou plusieurs autre(s) champ(s) en tant que clé primaire. Il est en revanche fortement conseillé de conserver une clé primaire dans chaque table 4D. Note : Le champ clé primaire par défaut n’est pas ajouté lorsqu’une table est créée via la commande SQL CREATE TABLE ou importée dans la base.
Voir aussi
|
PROPRIÉTÉS
Produit : 4D
HISTORIQUE
MOTS-CLÉS clé primaire, réplication UTILISATION DE L'ARTICLE
4D - Mode Développement ( 4D v16) |
||||||||||||