Tables
Une définition de table décrit les métadonnées nécessaires à l'application pour utiliser une table ou une vue de la base de données et y accéder.
-
Description de la table dans l'application.
-
Liste des champs définis dans la table et des contraintes de clé étrangère qu'ils établissent avec d'autres tables.
-
Clé primaire de la table et mode de génération.
-
Indique si la table contient des données administratives, principales ou transactionnelles.
-
Indique si la table est fournie avec des lignes de données système de l'installation standard.
-
Rôle de la table dans le processus de conversion.
-
Procédure de mise à niveau du contenu de la table.
-
et plus encore...
Les sections suivantes décrivent plus précisément les concepts et les directives liés à la définition des tables.
Tables système
Les tables fournies avec des lignes appartenant à l'installation standard sont appelées tables système. Ces tables incluent le champ Propriétaire (OWNER_FLG) destiné à capturer le propriétaire de chaque ligne.
Pour plus d'informations sur les conventions d'appellation et les normes relatives à la propriété des enregistrements de ligne, voir Données système.
Le paramètre Mise à niveau de l'enregistrement de définition de table contrôle le comportement des lignes d'une table lorsque le système est mis à niveau vers une nouvelle version. Le paramètre le plus courant permet de fusionner les lignes détenues par le client avec les lignes appartenant à l'installation standard. D'autres paramètres peuvent conserver le contenu de la table tel quel, c'est-à-dire que les lignes ne sont pas concernées par la mise à niveau ou actualisent entièrement le contenu de la table avec les lignes de l'installation standard.
Certains champs de certaines tables appartenant au système sont explicitement marqués comme autorisant la personnalisation. Cela signifie que l'implémentation est autorisée à modifier ces champs spécifiques dans un enregistrement de l'installation standard. Les modifications de la valeur de l'un de ces types de champ par une implémentation sont conservées lors de la mise à niveau vers une nouvelle version du produit.
Rôles de table désignés
-
Tables clés
-
Une table clé contient seulement la copie de la clé primaire d'une table et s'applique uniquement aux tables dotées de clés générées par le système.
-
Les tables dotées de clés générées par le système font référence à leur table clé dans leur enregistrement de définition de table.
-
Les enregistrements de la table clé restent dans le système même lorsque l'entité associée est archivée, ce qui empêche l'allocation de la même clé à un nouvel enregistrement. La conservation de la clé permet au système de conserver l'intégrité des références à l'entité archivée qui peuvent encore exister.
-
-
Tables de langues
-
Pour prendre en charge les implémentations multilingues, toutes les étiquettes et descriptions présentées à un utilisateur sont conservées dans une table de langues désignée dans laquelle il existe une ligne pour chaque langue activée.
-
Le produit est fourni avec le contenu anglais intégré dans les différentes tables de langues. Une ligne supplémentaire est ajoutée à ces tables pour chaque langue activée, ainsi que le contenu traduit de cette langue. Pour plus d'informations, voir Prise en charge des différentes langues.
-
Les tables associées aux champs sensibles à la langue référencent la table de langue correspondante dans leur enregistrement de définition de table.
-
-
Tables de caractéristiques
-
De nombreuses entités du système prennent en charge une ou plusieurs tables de caractéristiques, qui permettent de capturer pour l'objet des champs supplémentaires qui ne sont pas déjà pris en charge par les attributs fournis de l'entité.
-
Une table de caractéristiques est conçue pour capturer les caractéristiques applicables à son entité spécifique uniquement. L'entité associée à une table de caractéristiques est référencée dans l'enregistrement de définition de la table.
-
Pour plus d'informations, voir Définir les types et les valeurs de caractéristique.
-
-
Tables de journalisation des entités
-
De nombreuses entités du système prennent en charge la capture du cycle de vie et d'autres événements métier importants dans une table de journalisation désignée.
-
Une table de journalisation capture les détails de l'événement sous la forme d'un message d'application et stocke tous les paramètres du message dans une table de paramètres de journal enfant. Toutes les tables de paramètres de journal et de journalisation disposent d'une structure prédéfinie qui leur permet d'être implémentées de manière cohérente et efficace.
-
En général, les tables de journalisation ne participent pas au processus de conversion.
-
Contraintes de table
Les relations de clé étrangère entre les tables ne sont pas appliquées au niveau de la base de données, mais au niveau de l'application, ce qui rend l'application plus flexible en matière de manipulation de données et d'intégrité référentielle.
-
Clé primaire désigne le champ ou l'ensemble de champs représentant l'identifiant unique d'un enregistrement stocké dans une table.
-
Clé logique représente un autre identifiant unique d'un enregistrement, qui est basé sur un autre ensemble de champs que la clé primaire.
-
Clé étrangère représente un champ ou un ensemble de champs spécifiant des relations d'identification ou non identificatoires avec d'autres tables de l'application. Une contrainte de clé étrangère référence la contrainte de clé primaire d'une autre table.
-
Clé étrangère conditionnelle représente de rares relations entre les tables dans lesquelles un champ (ou un ensemble de champs) unique peut référencer plusieurs contraintes de clé primaire d'autres tables de l'application en tant que clé étrangère.
Le système utilise les informations sur les contraintes de clé étrangère d'une table pour valider l'intégrité référentielle lorsque des lignes de cette table sont supprimées. Ces validations peuvent être désactivées en désactivant le champ Activer l'intégrité référentielle dans l'enregistrement de définition de table.
Index de table
Les index fournis par l'installation standard pour une table donnée sont visibles dans les métadonnées d'index. De plus, les informations d'index de table peuvent être définies dans le cadre de la prise en charge des services cloud pour la génération de tables personnalisées dans certains cas d'utilisation. Pour plus d'informations, voir Générer des tables personnalisées ci-dessous.
Type de clé primaire
Les types de clé primaire d'une table sont les suivants :
-
Défini par utilisateur signifie que l'utilisateur spécifie la clé lors de l'ajout de l'enregistrement. Ce type de clé est généralement utilisé pour les tables de configuration et d'administration.
-
Généré par le système signifie qu'un programme génère une clé numérique aléatoire pour l'enregistrement lorsque celui-ci est ajouté.
-
Ce type de table est généralement associé à une table clé. Pour plus d'informations, voir la section Rôles de table désignés.
-
Les clés générées par le système peuvent être entièrement aléatoires ou partiellement héritées de la clé d'une table parent pour des raisons de performance. Pour plus d'informations, voir Clés générées par le système.
-
-
Séquentiel signifie qu'un numéro séquentiel est incrémenté lorsqu'un enregistrement est ajouté à la table. Le numéro suivant dans la séquence détermine la valeur de la clé.
-
Clé séquentielle native de la base de données signifie qu'un numéro unique est affecté à l'aide d'un objet de séquence de base de données.
-
Autre signifie qu'une autre règle de gestion alloue la clé primaire de la table ou que la clé primaire est constituée de plusieurs parties.
Clés générées par le système
En général, les clés système numériques générées aléatoirement sont utilisées pour essayer de répartir uniformément les enregistrements dans une plage entière d'ID. Les programmes batch qui utilisent plusieurs threads divisent généralement les threads à l'aide de plages d'ID et des clés uniformément réparties aideront à répartir la charge entre ces thread.
Si une table utilisant une clé générée par le système est un enfant d'une autre table, la clé de la table enfant peut hériter d'une partie du nombre aléatoire provenant de la clé de sa table parent. L'héritage de clé pour les enregistrements enfant optimise un peu plus le bénéfice en termes de performance. Lorsqu'un partitionnement est envisagé, il est recommandé aux administrateurs de base de données de classer les données de partition en fonction de la clé principale, de sorte que différents threads de batch opèrent sur différentes partitions, réduisant ainsi les conflits éventuels pour les blocs très sollicités. Idéalement, le nombre de threads de batch doit être un exact multiple du nombre de partitions. Les programmes batch qui insèrent des données enfant (par exemple la création de factures en mode batch) bénéficient également de cette conception, particulièrement quand les tables enfant sont partitionnées de la même manière. Le parent est souvent le pilote du processus en mode batch. S'il s'agit d'un processus multithread, chaque thread traite un ensemble d'enregistrements parent au sein d'une plage d'ID donnée et tous les enregistrements enfant sont insérés dans la même plage d'ID.
Bien que la plupart des entités dotées de clés générées par le système utilisent des clés entièrement aléatoires ou partiellement héritées d'un parent unique, elles peuvent être conçues pour implémenter des règles de génération de clé plus spécifiques.
-
Nombre de chiffres significatifs provenant de la clé primaire de l'enregistrement parent à utiliser comme préfixe pour la valeur de clé de l'enregistrement enfant.
-
Nom de champ de clé parent à partir duquel hériter la clé. Cette information est fournie à des fins d'affichage et de documentation uniquement et uniquement lorsque la règle d'héritage implémentée par l'entité peut être documentée de cette manière. En général, la valeur de clé enfant est héritée d'une clé parent unique, mais dans certains cas, la règle d'héritage peut être plus complexe. Par exemple, différents types d'enregistrement d'une même table enfant peuvent hériter d'une clé provenant de différents champs de clé parent. Dans ce cas, plusieurs noms de champ parent peuvent être répertoriés pour décrire les différentes options d'héritage. Lorsque la règle est trop complexe, ces informations peuvent ne pas être fournies dans l'enregistrement de définition de table.
Options de conversion
Le traitement de conversion gère le processus par lequel les données principales et de transaction héritées, chargées dans un schéma de copie en table tampon, sont validées et de nouvelles clés générées par le système leur sont affectées avant qu'elles soient copiées dans le schéma de production. Pour plus d'informations, voir Comprendre le processus de conversion.
-
Tables d'administration. Ces tables existent uniquement dans le schéma de production. Au lieu d'une table, le schéma de copie en table tampon héberge une vue de la table de production. Ces vues sont nécessaires pour appliquer des références de clé étrangère lorsque les données sont validées dans le schéma de copie en table tampon.
-
Tables convertibles qui conservent leur clé primaire. La conversion des données est prise en charge pour ces tables et la valeur de leur clé primaire reste inchangée.
-
Tables convertibles qui nécessitent l'affectation d'une nouvelle clé générée par le système. La conversion des données est prise en charge pour ces tables et leur clé primaire est réaffectée par le système lors de la conversion.
-
Tables non convertibles. L'affectation de nouvelles clés générées par le système pour un enregistrement et le remplacement par la nouvelle clé de toutes les références de clé étrangère éventuellement associées est un processus complexe qui peut ne pas être pris en charge pour toutes les tables.
. Le paramètre Rôle de conversion des données de l'enregistrement de la définition de table contrôle si la table est utilisée par le traitement de conversion et comment elle est utilisée.
Configuration de date/heure
Les champs capturant les informations de date/heure peuvent être conçus pour stocker des données en heure légale locale ou en heure standard locale. L'heure légale locale est capturée telle qu'elle est saisie et affichée telle qu'elle est capturée dans la base de données. Cet horaire suppose également que les informations de date/heure font référence au fuseau horaire défini dans les options d'installation. Pour plus d'informations, voir Heure standard et heure légale.
Générer des tables personnalisées
Pour les clients cloud et dans certains cas d'utilisation, l'installation prend en charge la définition de métadonnées de table pour les tables personnalisées et la génération des instructions LDD associées pour ces métadonnées dans la base de données. Pour ces tables personnalisées, un statut de génération visible dans les métadonnées de table identifie l'emplacement de la table dans le cycle de vie de cette fonctionnalité prise en charge. Par ailleurs, l'onglet d'index du portail de table permet de définir des index personnalisés inclus dans l'instruction DDL dans le cadre de cette fonctionnalité. Si vous êtes un client cloud et que vous souhaitez plus d'informations, reportez-vous au guide d'implémentation des services cloud.
