Conventions sur le nom des champs

Généralités

PhpMyApp défini le nom d'un certains nombre de champs et des règles ou préconisations pour d'autres.

Le nom des champs peut se composer de A...Z, 0...9 et _ $ # @ (qui peuvent avoir une signification particulière).

Les tables et les champs avec un usage spécifique de PhpMyApp commencent par un '_' .
Une table d'un client commence par le code du client (CLI_TABLE) sauf si ses tables sont dans une base de données séparée.

Détails

Champs présents dans toutes les tables

ChampsExplicationsNom physique
Identifiant Référence unique auto incrémentée ID
Étiquette C'est la référence unique de cet enregistrement utilisé comme titre, nom de lien, liste déroulante ,...
Elle est créée automatiquement dans la base de donnée comme champ persistant par concaténation d'autres champs de l'enregistrement.
_LABEL
Créateur Champ automatique, n'est pas affiché par défaut, on peut le consulter par les informations _USER#CREATE_ID
Date création Champ automatique, n'est pas affiché par défaut, on peut le consulter par les informations _USER#CREATE_TS
Modificateur Champ automatique, n'est pas affiché par défaut, on peut le consulter par les informations _USER#UPDATE_ID
Date modification Champ automatique, n'est pas affiché par défaut, on peut le consulter par les informations _USER#UPDATE_TS

Champs avec significations particulières

ChampsExplicationsNom physique
Code Code unique (doit être unique au sein de la companie, pas pour tout PMA) CODE
Nom C'est le nom d'usage principal NAME
Séquence Ce champ effectue un tri automatique des enregistrements _SEQUENCE
Société Si ce lien est présent, les enregistrements sont filtrés selon la société de l'utilisateur.
Les liens avec #MYSELF ne sont pas utiles au niveau de la logique relationnelle, mais uniquement pour filtrer les enregistrements pour les "admin" de chaque société.
_COMPANY_ID

_COMPANY#@MYSELF_ID
Champ caché Cette convention permet par défaut de ne pas afficher un champ dans les listes
(on peut le ré-afficher avec le menu de colonne ou forcer avec )
xxxx$xxxx
Propriétaire Filtre que les enregistrements de l'utilisateur (et ceux non attribués) _USER$OWNER_ID
Groupe Prop Filtre que les enregistrements de groupes auquel appartient l'utilisateur (et ceux sans groupe) _GROUP$OWNER_ID
Etat Ce lien vers la table _STATE permet de donner dynamiquement une icône colorée et les couleurs du texte et du fond. (NB:priorité 1) S'il y a plusieurs colonne d'état ( _STATE#liste_code_ID ) les couleurs de la dernière affichée s'appliquent. _STATE_ID
Classe Permet de donner une classe CSS à toute la ligne. (NB:priorité 2) _CLASS$
Couleur Permet de donner une couleur de texte à toute la ligne. (NB:priorité 3) _COLOR$
Fond Permet de donner une couleur de fond à toute la ligne. (NB:priorité 3) _BKGND$
Caché C'est une convention, pas un automatisme ! Permet de cacher un enregistrement (plus actif) _HIDE
Destruction logique C'est une convention, pas un automatisme ! Ce champ permet de détruire logiquement un enregistrement
Présent dans la base mais considéré comme détruit.
!! à gérer finement en DB au niveau des index, des unicités, d'une vue filtrée/complète, ...
_DELETED
Liste de valeurs Ce champ permet d'avoir une liste de valeurs codées dans les paramètres du champ (par sélection multiple) xxxx_LST

Liens vers d'autres tables

ChampsExplicationsNom physique
Lien principal Les champs se terminant par _ID donnent un lien vers la table xxxx xxxx_ID
Lien alternatif/précisé S'il y a plusieurs liens sur la même table le nom peut être précisé xxxx#descr_ID
xxxx$valeur_ID
xxxx@cible_ID
Liste de liens Ce champ permet d'avoir une liste de liens (par sélection multiples)
simulant ainsi une table NxN
(la convention #$@ peut aussi s'utiliser)
xxxx_ID_LST

Les colonnes liens sont présents 2x dans la liste :

Références

Table des matières de l'aide administrateur

Table des matières de l'aide