Chapter 3 · leçon 7 sur 12
Connectez-vous pour suivre votre progression
Questions de cette leçonDatabase Configuration (DB Config)MAXATTRIBUTEDOMAIN) et leur impact sur la validation des donnéesMAXOBJECT — Table centrale définissant les objets métier avec leurs propriétés fondamentales comme PERSISTENT ou HASLD.RELATIONSHIP.DOMAINID avec des règles spécifiques comme LENGTH ou DECIMALS.FORMULA dans MAXATTRIBUTE avec accès aux objets parents via notation point (PARENT.ATTR).MAXINDEX pour accélérer les requêtes sur plusieurs colonnes fréquemment jointes.VALIDATION dans MAXATTRIBUTE ou règles au niveau table dans MAXOBJECT.La configuration de base de données dans Maximo s'appuie sur un modèle métier extensible où chaque entité correspond à une table physique dans le schéma MAXIMO. Les métadonnées sont stockées dans des tables système comme MAXOBJECT, MAXATTRIBUTE et MAXRELATIONSHIP.
Contrairement aux SGBD traditionnels, Maximo utilise une couche d'abstraction via l'Application Designer qui génère le DDL sous-jacent. Cette approche permet des modifications en runtime sans nécessiter de scripts SQL directs.
MAXOBJECT (vert) sont centrales tandis que DOMAIN et MAXINDEX (gris) fournissent des fonctionnalités avancées.| Type | Table de jointure | Exemple | Performance |
|---|---|---|---|
| 1:1 | Non | ASSET → ASSETSPEC | Optimale |
| 1:N | Non | LOCATION → ASSET | Bonne |
| N:M | RELATIONSHIP | PERSON ↔ GROUP | Coûteuse |
MAXINDEX.La création d'un nouvel attribut implique 5 étapes critiques : définition dans MAXATTRIBUTE, liaison à MAXOBJECT, configuration du domaine, ajout d'index si nécessaire et mise à jour des écrans via Application Designer.
Exemple concret : ajouter un champ ENERGY_RATING à ASSET nécessite un domaine ALN limité à 3 caractères avec valeurs autorisées 'A++', 'A+', 'A', etc.
MAXATTRIBUTE avec OBJECTNAME='ASSET' et DATATYPE=ALN.DOMAIN avec DOMAINID='ENERGYRATE' et LENGTH=3.DOMAINVALUE.Toute modification de schéma suit un processus strict pour éviter les corruptions de données : pré-validation, création des métadonnées, génération du DDL, synchronisation avec les caches applicatifs.
Pending et Active sont critiques pour la cohérence des données.Beaucoup pensent qu'un attribut peut être supprimé directement depuis l'interface. En réalité, Maximo marque simplement PENDINGDELETE=1 dans MAXATTRIBUTE - la colonne physique persiste jusqu'à l'exécution manuelle de dbconfig.
Les utilisateurs sous-estiment souvent l'impact des relations N:M sur les requêtes complexes. Une table RELATIONSHIP avec 500 000 entrées peut multiplier par 10 le temps d'exécution d'une requête impliquant 3 jointures.
MAXOBJECT (objets), MAXATTRIBUTE (colonnes), MAXRELATIONSHIP (relations), DOMAIN (validation) et MAXINDEX (index).
Modifier FORCEDELETE=1 dans MAXINDEX puis exécuter dbconfig -a - cela régénère l'index même si la définition n'a pas changé.