Gestionnaire de données d'objet
Object Data Manager (ODM) est un gestionnaire de données destiné au stockage d'informations système. Les informations sont stockées et gérées en tant qu'objets avec des caractéristiques associées.
Vous pouvez également utiliser ODM pour gérer les données des programmes d'application.
Les données système gérées par ODM incluent:
- Informations de configuration des unités
- Afficher des informations pour SMIT (menus, sélecteurs et boîtes de dialogue)
- Données techniques essentielles pour les procédures d'installation et de mise à jour
- Informations de configuration des communications
- Informations sur les ressources système
Vous pouvez créer, ajouter, verrouiller, stocker, modifier, obtenir, afficher, supprimer et supprimer des objets et des classes d'objets avec ODM. Les commandes ODM fournissent une interface de ligne de commande pour ces fonctions. Les sous-routines ODM accèdent à ces fonctions à partir d'un programme d'application.
Certaines classes d'objets sont fournies avec le système. Ces classes d'objets sont décrites dans la documentation des produits système spécifiques qui les fournissent.
ODM -Classes d'objets et stockage d'objets
Les composants de base d' ODM sont les classes d'objets et les objets. Pour gérer les classes d'objets et les objets, vous utilisez les commandes et sous-routines ODM . En particulier, vous utilisez les fonctions de création et d'ajout de ces interfaces pour générer des classes d'objets et des objets pour le stockage et la gestion de vos propres données.
| Terme | Descriptif |
|---|---|
| classe d'objets | Groupe d'objets ayant la même définition. Une classe d'objets comprend un ou plusieurs descripteurs. Il est similaire à une table. Chaque classe d'objets que vous créez à l'aide d'une commande odmcreate ou d'une sous-routine odm_create_class est stockée dans un fichier en tant que définition de langage C d'un tableau de structures. |
| Objet | Membre d'une classe d'objets. Il s'agit d'une entité qui nécessite le stockage et la gestion des données. Il est similaire à un enregistrement logique dans une base de données. Chaque objet que vous ajoutez à la classe d'objets à l'aide d'une commande odmadd ou d'une sous-routine odm_add_obj est stocké en tant que structure de langage C dans le même fichier. Vous déterminez le répertoire dans lequel stocker ce fichier lorsque vous créez la classe d'objets. |
Une classe d'objets est conceptuellement similaire à un tableau de structures, chaque objet étant une structure qui est un élément du tableau. Les valeurs sont associées aux descripteurs d'un objet lorsque l'objet est ajouté à une classe d'objet. Les descripteurs d'un objet et leurs valeurs associées peuvent être localisés et modifiés à l'aide des fonctions ODM .
Voici un exemple de manipulation des classes d'objets et des objets.
- Pour créer une classe d'objets appeléeFictional_Characters, entrez:
class Fictional_Characters { char Story_Star[20]; char Birthday[20]; short Age; char Friend[20]; };Dans cet exemple, le Fictional_CharactersLa classe d'objets contient quatre descripteurs:Story_Star,BirthdayetFriend, qui ont un type de caractère de descripteur et une longueur maximale de 20 caractères ; etAge, avec un type de descripteur court. Pour créer les fichiers de classe d'objets requis par ODM, vous devez traiter ce fichier à l'aide de la commande odmcreate ou de la sous-routine odm_create_class .
- Une fois que vous avez créé une classe d'objets, vous pouvez ajouter des objets à la classe à l'aide de la commande odmadd ou de la sous-routine odm_add_obj . Par exemple, entrez le code suivant avec la commande odmadd pour ajouter les objetsCinderellaetSnow Whiteà laFictional_Charactersclasse d'objets, ainsi que les valeurs des descripteurs qu'ils héritent:
Fictional_Characters: Story_Star = "Cinderella" Birthday = "Once upon a time" Age = 19 Friend = "mice" Fictional_Characters: Story_Star = "Snow White" Birthday = "Once upon a time" Age = 18 Friend = "Fairy Godmother"La table Fictional_Characters montre une image conceptuelle de laFictional_Charactersclasse d'objets avec les deux objets ajoutésCinderellaetSnow White.
Tableau 1. Personnages de fiction Story Star (car) Anniversaire (car) Age (court) Ami (car) Cendrillon Une fois sur une heure 19 Souris Blanc neige Une fois sur une heure 18 Fée Parrain Retrieved data for 'Story_Star = "Cinderella"' Cinderella: Birthday = Once upon a time Age = 19 Friend = Mice - Après leFictional_CharactersLa classe d'objets est créée et les objetsCinderellaetSnow Whitesont ajoutées, les données extraites pour'Story_Star = "Cinderella"'est:
Cinderella: Birthday = Once upon a time Age = 19 Friend = mice
Utilisation des commandes ODM
Lorsque vous utilisez la commande odmcreate ou odmdrop pour créer ou supprimer une classe d'objets, indiquez le répertoire à partir duquel le fichier de définition de classe sera accessible à l'aide de l'une des méthodes suivantes:
- Stocke le fichier dans le répertoire par défaut indiqué par $ODMDIR, qui est le répertoire /etc/objrepos .
- Utilisez la commande export pour définir la variable d'environnement ODMDIR afin de spécifier un répertoire pour le stockage.
- Utilisez la commande unset pour annuler la définition de la variable d'environnement ODMDIR et la commande cd pour remplacer le répertoire en cours par celui dans lequel vous souhaitez stocker les classes d'objets. Exécutez ensuite les commandes ODM dans ce répertoire. Le fichier définissant les classes d'objets sera stocké dans le répertoire en cours.
Lorsque vous utilisez odmdelete, odmadd, odmchange, odmshowou la commande odmget pour utiliser des classes et des objets, spécifiez le répertoire contenant les classes d'objets à l'aide de l'une des options suivantes:
- Utilisez les classes d'objets dans le répertoire par défaut indiqué par $ODMDIR, qui est le répertoire /etc/objrepos .
- Utilisez la commande export pour définir la variable d'environnement ODMDIR afin de spécifier le répertoire.
- A partir de la ligne de commande, utilisez la commande export pour définir la variable d'environnement ODMPATH sur une chaîne contenant une liste de répertoires séparés par un signe deux-points à rechercher pour les classes d'objets. Par exemple :
Les répertoires de $ODMPATH sont recherchés uniquement si le répertoire indiqué par $ODMDIR ne contient pas la classe d'objet.$ export ODMPATH = /usr/lib/objrepos:/tmp/myrepos
Création d'une classe d'objets
Attention: Les modifications apportées aux fichiers qui définissent les classes d'objets système et les objets peuvent entraîner des problèmes système. Consultez votre administrateur système avant d'utiliser le répertoire /usr/lib/objrepos comme répertoire de stockage pour les classes d'objets et les objets.
- Créez la définition d'une ou de plusieurs classes d'objets dans un fichier ASCII. L'exemple de code et de sortie ODM montre un fichier ASCII contenant plusieurs définitions de classe d'objets.
- Indiquez le répertoire dans lequel l'objet généré doit être stocké.
"ODM Object Class and Object Storage" présente les critères utilisés lors de la création de la classe d'objets pour déterminer le répertoire dans lequel stocker les classes d'objets et les objets générés. La plupart des classes d'objets système et des objets sont stockés dans le répertoire /usr/lib/objrepos .
Générer une classe d'objets vide en exécutant la commande odmcreate avec le fichier ASCII de définitions de classes d'objets spécifié comme fichier d'entrée ClassDescriptionFile.
Ajout d'objets à une classe d'objets
Attention: Les modifications apportées aux fichiers qui définissent les classes d'objets système et les objets peuvent entraîner des problèmes système. Consultez votre administrateur système avant d'utiliser le répertoire /usr/lib/objrepos comme répertoire de stockage pour les classes d'objets et les objets.
- Créez la classe d'objets à laquelle les objets seront ajoutés. Pour obtenir des instructions sur la création d'une classe d'objets, voir Création d'une classe d'objets .
- Créez les définitions pour un ou plusieurs objets. L'exemple de code et de sortie ODM montre un fichier ASCII contenant plusieurs définitions d'objet.
- Indiquez le répertoire qui contient la classe d'objets dans laquelle les objets générés seront stockés.
"ODM Object Class and Object Storage" décrit les critères utilisés lors de la création de la classe d'objets pour déterminer le répertoire dans lequel stocker les classes d'objets et les objets générés. La plupart des classes d'objets système et des objets sont stockés dans le répertoire /usr/lib/objrepos .
- Ajoutez des objets à une classe d'objets en exécutant la commande odmadd avec le fichier ASCII des définitions d'objet spécifié comme fichier d'entrée InputFile .
Verrouillage des classes d'objets
ODM ne verrouille pas implicitement les classes d'objets ou les objets. La coordination du verrouillage et du déverrouillage est de la responsabilité des applications accédant aux classes d'objets. Cependant, ODM fournit les sous-routines odm_lock et odm_unlock pour contrôler le verrouillage et le déverrouillage des classes d'objets par les programmes d'application.
| Sous-routine | Descriptif |
|---|---|
| verrouillage_odm | Traite une chaîne qui est un nom de chemin et peut être résolue dans un fichier de classe d'objets ou dans un répertoire de classes d'objets. Elle renvoie un identificateur de verrou et définit un indicateur pour indiquer que la ou les classes d'objets spécifiées définies par le nom de chemin sont en cours d'utilisation. |
Lorsque la sous-routine odm_lock définit l'indicateur de verrouillage, elle ne désactive pas l'utilisation de la classe d'objets par d'autres processus. Si un conflit d'utilisation est un problème potentiel, un programme d'application doit attendre explicitement qu'un verrou lui soit accordé sur une classe avant d'utiliser la classe.
Une autre application ne peut pas acquérir de verrou sur le même nom de chemin alors qu'un verrou est en vigueur. Cependant, un verrouillage sur un nom de répertoire n'empêche pas une autre application d'obtenir un verrouillage sur un sous-répertoire ou sur les fichiers de ce répertoire.
Pour déverrouiller une classe d'objets verrouillée, utilisez une sous-routine odm_unlock appelée avec l'identificateur de verrouillage renvoyé par la sous-routine odm_lock .
Stockage de classes d'objets et d'objets
Chaque classe d'objets que vous créez à l'aide d'une commande odmcreate ou d'une sous-routine odm_create_class est stockée dans un fichier en tant que définition de langage C d'un tableau de structures. Chaque objet que vous ajoutez à la classe d'objets à l'aide d'une commande odmadd ou d'une sous-routine odm_add_obj est stocké en tant que structure de langage C dans le même fichier.
Vous déterminez le répertoire dans lequel stocker ce fichier lorsque vous créez la classe d'objets.
Les méthodes de stockage varient selon que des commandes ou des sous-routines sont utilisées pour créer des classes d'objets et des objets.
Attention: Les modifications apportées aux fichiers qui définissent les classes d'objets système et les objets peuvent entraîner des problèmes système. Consultez votre administrateur système avant d'utiliser le répertoire /usr/lib/objrepos comme répertoire de stockage pour les classes d'objets et les objets.
Utilisation des sous-routines odm_create_class ou odm_add_obj
La sous-routine odm_create_class ou odm_add_obj est utilisée pour créer des classes d'objets et des objets:
- Si votre application doit stocker des classes d'objets autres que celles spécifiées par la variable d'environnement ODMDIR , utilisez la sous-routine odm_set_path pour réinitialiser le chemin. Il est fortement recommandé d'utiliser cette sous-routine pour définir explicitement le chemin de stockage lors de la création de classes d'objets ou d'objets à partir d'une application.
OR
- Avant d'exécuter votre application, utilisez la commande set à partir de la ligne de commande pour définir la variable d'environnement ODMDIR afin de spécifier un répertoire pour le stockage.
OR
- Stockez le fichier dans le référentiel d'objets utilisé pour stocker de nombreuses classes d'objets système, le répertoire /usr/lib/objrepos .
ODM
Un descripteurODM(Object Data Manager) est conceptuellement similaire à une variable avec un nom et un type. Lorsqu'une classe d'objets est créée, ses descripteurs sont définis comme des noms de variable avec des types de descripteur ODM associés. Lorsqu'un objet est ajouté à une classe d'objets, il obtient une copie de tous les descripteurs de la classe d'objets. Les valeurs sont également associées à des descripteurs d'objet déjà indiqués.
ODM prend en charge plusieurs types de descripteur:
| Descripteur | Définition |
|---|---|
| descripteur terminal | Définit un type de données alphanumérique ou numérique. |
| descripteur de lien | Définit une relation entre les classes d'objets |
| descripteur de méthode | Définit une opération ou une méthode pour un objet |
Utilisez les descripteurs d'un objet et les valeurs associées pour définir les critères d'extraction d'objets individuels à partir d'une classe d'objet. Formatez les critères de sélection que vous transmettez à ODM comme défini dans ODM Object Searches. N'utilisez pas le descripteur de terminal binaire dans les critères de recherche en raison de sa longueur arbitraire.
Descripteurs de terminalODM
Les descripteurs de terminal définissent les types de données les plus primitifs utilisés par ODM. Un descripteur de terminal est essentiellement une variable définie avec un type de descripteur de terminal ODM . Les types de descripteur de terminal fournis par ODM sont les suivants:
| Descripteur | Définition |
|---|---|
| court | Indique un nombre signé de 2 octets. |
| (longueur) | Indique un nombre signé de 4 octets. |
| lulong | Indique un nombre de 4 octets non signé. |
| binaire | Indique une chaîne de bits de longueur fixe. Le type de descripteur de terminal binaire est défini par l'utilisateur lors de la création d' ODM . Le type de descripteur de terminal binaire ne peut pas être utilisé dans les critères de sélection. |
| char | Indique une chaîne de longueur fixe à terminaison nulle. |
| vchar | Indique une chaîne de longueur variable à terminaison nulle. Le type de descripteur de terminal vchar peut être utilisé dans les critères de sélection. |
| long64/ODM_LONG_LONG/int64 | Indique un nombre signé de 8 octets. |
| ulong64/ODM_ULONG_LONG/uint64 | Indique un nombre de 8 octets non signé. |
descripteur de lienODM
Le descripteur de lien ODM établit une relation entre un objet dans une classe d'objets et un objet dans une autre classe d'objets. Un descripteur de lien est une variable définie avec le type de descripteur de lien ODM .
Par exemple, le code suivant peut être traité par les fonctions de création d' ODM pour générer les classes d'objets Friend_Table et Fictional_Characters :
class Friend_Table {
char Friend_of[20];
char Friend[20];
};
class Fictional_Characters {
char Story_Star[20];
char Birthday[20];
short Age;
link Friend_Table Friend_Table Friend_of Friends_of;
};La classe d'objets Fictional_Characters utilise un descripteur de lien pour établir un lien entre les descripteurs Friends_of et leFriend_Tableclasse d'objets. Pour résoudre le lien, le descripteur Friends_of extrait les objets de la classe d'objets Friend_Table avec des données correspondantes dans ses descripteurs Friend_of . Le descripteur de lien de la classe d'objets Fictional_Characters définit la classe à laquelle la classe est liée (Friend_Table), le descripteur étant lié à (Friend_of), et le nom du descripteur de lien (Friends_of) dans la classe d'objets Fictional_Characters .
Le code suivant peut être utilisé pour ajouter des objets aux classes d'objets Fictional_Characters et Friend_Table :
Fictional_Characters:
Story_Star = "Cinderella"
Birthday = "Once upon a time"
Age = 19
Friends_of = "Cinderella" Fictional_Characters:
Story_Star = "Snow White"
Birthday = "Once upon a time"
Age = 18
Friends_of = "Snow White" Friend_Table:
Friend_of = "Cinderella"
Friend = "Fairy Godmother" Friend_Table:
Friend_of = "Cinderella"
Friend = "mice" Friend_Table:
Friend_of = "Snow White"
Friend = "Sneezy" Friend_Table:
Friend_of = "Snow White"
Friend = "Sleepy" Friend_Table:
Friend_of = "Cinderella"
Friend = "Prince" Friend_Table:
Friend_of = "Snow White"
Friend = "Happy"Les tableaux suivants présentent une image conceptuelle des classes d'objets Fictional_Characters et Friend_Table , les objets ajoutés aux classes et la relation de lien entre elles.
| Story_Star (car) | Anniversaire (car) | Age (court) | Friends_of (lien) |
|---|---|---|---|
| Cendrillon | Une fois sur une heure | 19 | Cendrillon |
| Blanc neige | Une fois sur une heure | 18 | Blanc neige |
Retrieved data for 'Story_Star = "Cinderella"
Cinderella:
Birthday = Once upon a time
Age = 19
Friends_of = Cinderella
Friend_of = Cinderella
Il existe un lien direct entre les colonnes "Friends_of" et "Friend_of" des deux tables. Le tableau suivant fournit une image conceptuelle d'une relation de lien entre deux classes d'objets.
| Friend_of (car) | Ami (car) |
|---|---|
| Cendrillon | Fée Parrain |
| Cendrillon | souris |
| Blanc neige | Atchoum |
| Blanc neige | Somnolent |
| Cendrillon | Le Prince |
| Blanc neige | Heureux |
Une fois que les classes d'objets Fictional_Characters et Friend_Table ont été créées et que les objets ont été ajoutés, les données extraites pourStory_Star = 'Cinderella'serait:
Cinderella:
Birthday = Once upon a time
Age = 19
Friends_of = Cinderella
Friend_of = CinderellaPour afficher la relation étendue entre les classes d'objets liées, utilisez la commande odmget sur la classe d'objets Friend_Table . Données extraites pour laFriend_of = 'Cinderella'La classe d'objets serait:
Friend_Table:
Friend_Of = "Cinderella"
Friend = "Fairy Godmother"
Friend_Table:
Friend_of = "Cinderella"
Friend= "mice"
Friend_Table:
Friend_of = "Cinderella"
Friend = "Prince"descripteur de méthodeODM
Le descripteur de méthode ODM donne la définition d'une classe d'objets avec des objets pouvant être associés à des méthodes ou des opérations. Un descripteur de méthode est une variable définie avec le type de descripteur de méthode ODM .
La valeur du descripteur d'opération ou de méthode d'un objet est une chaîne de caractères qui peut être une commande, un programme ou un script shell exécuté par un appel de méthode. Une méthode ou une opération différente peut être définie pour chaque objet d'une classe d'objets. Les opérations elles-mêmes ne font pas partie d' ODM; elles sont définies et codées par le programmeur d'application.
La méthode d'un objet est appelée par un appel à la sous-routine odm_run_method . L'appel d'une méthode est un événement synchrone, ce qui provoque la mise en pause de l'opération ODM jusqu'à la fin de l'opération.
Par exemple, le code suivant peut être entré dans les fonctions de création d' ODM pour générer la classe d'objets Supporting_Cast_Ratings :
class Supporting_Cast_Ratings {
char Others[20];
short Dexterity;
short Speed;
short Strength;
method Do_This;
};Dans l'exemple, leDo_Thisdescriptor est un descripteur de méthode défini pour la classe d'objets Supporting_Cast_Ratings . La valeur du descripteur de méthode peut être une chaîne spécifiant une commande, un programme ou un script shell pour un appel ultérieur par une sous-routine odm_run_method .
Le code suivant est un exemple d'ajout d'objets à la classe d'objets Supporting_Cast_Ratings :
Supporting_Cast_Ratings:
Others = "Sleepy"
Dexterity = 1
Speed = 1
Strength = 3
Do_This = "echo Sleepy has speed of 1" Supporting_Cast_Ratings:
Others = "Fairy Godmother"
Dexterity = 10
Speed = 10
Strength = 10
Do_This = "odmget -q "Others='Fairy Godmother'" Supporting_Cast_Ratings"Le tableau suivant présente une image conceptuelle de laSupporting_Cast_Ratingsavec la classe d'objetsDo_Thisun descripteur de méthode et des opérations associées à des objets individuels de la classe.
| Autres (car) | Dextérité (courte) | Vitesse (courte) | Longueur (courte) | Do_This (méthode) |
|---|---|---|---|---|
| Somnolent | 1 | 1 | 3 | echo Sleepy has speed of 1 |
| Fée Parrain | 10 | 10 | 10 | odmget —q "Others='Fairy Godmother'"Supporting_Cast_Ratings" |
odm_run_method run of Sleepy's method displays
(using echo):
"Sleepy has speed of 1"Après leSupporting_Cast_Ratingsla classe d'objets est créée et les objets sont ajoutés, un appel (par la sous-routine odm_run_method ) de la méthode définie pourSleepyentraîne l'affichage de la commande echo :
Sleepy has speed of 1Recherches d'objetsODM
De nombreuses routines ODM nécessitent qu'un ou plusieurs objets d'une classe d'objets spécifiée soient sélectionnés pour être traités. Vous pouvez inclure des critères de recherche sous forme de qualificateurs lorsque vous sélectionnez des objets avec certaines routines.
- qualificateur
- Un paramètre de chaîne à terminaison nulle dans les appels de sous-routine ODM qui fournit les critères de qualification pour les objets à extraire
Les noms de descripteur et les critères de qualification indiqués par ce paramètre déterminent les objets de la classe d'objets sélectionnés pour un traitement ultérieur. Chaque qualificateur contient un ou plusieurs prédicats connectés à des opérateurs logiques. Chaque prédicat se compose d'un nom de descripteur, d'un opérateur de comparaison et d'une constante.
Voici un qualificateur avec trois prédicats joints par deux opérateurs logiques:
SUPPNO=30 AND (PARTNO>0 AND PARTNO<101)Dans cet exemple, la chaîne entière est considérée comme le qualificateur. Les trois prédicats sontSUPPNO=30,PARTNO>0etPARTNO<101et l'opérateur logique AND est utilisé pour joindre les prédicats. Dans le premier prédicat,SUPPNOest le nom du descripteur dans un objet,=(signe égal) est un opérateur de comparaison, et30est la constante à laquelle est comparée la valeur du descripteur.
Chaque prédicat spécifie un test appliqué à un descripteur défini pour chaque objet de la classe d'objets. Le test est une comparaison entre la valeur du descripteur d'un objet et la constante spécifiée. Le premier prédicat de l'exemple montre une comparaison = (égal à) entre la valeur d'un descripteur(SUPPNO)et une constante(30).
Partie du qualificateur entre parenthèses
PARTNO>0 AND PARTNO<101contient deux prédicats joints par l'opérateur logique AND. :NONE.PARTNOle descripteur est testé pour une valeur supérieure à 0 dans le premier prédicat, puis testé pour une valeur inférieure à101dans le second prédicat. Ensuite, les deux prédicats sont logiquement concaténés pour déterminer une valeur pour cette partie du qualificateur. Par exemple, siPARTNOest le nom de descripteur d'un numéro de pièce dans un inventaire de société, puis cette partie du qualificateur définit une sélection pour tous les produits dont les numéros de pièce sont supérieurs à 0 et inférieurs à 101.
Dans un autre exemple, le qualificateur:
lname='Smith' AND Company.Dept='099' AND Salary<2500peut être utilisé pour sélectionner tout le monde (dans ODM, chaque objet) avec le nom de famille Smith qui se trouve dans le département 099 et dont le salaire est inférieur à 2500 $. Notez queDeptLe nom du descripteur est qualifié avec sonCompanyclasse d'objets pour créer un descripteur unique.
Noms de descripteur dans les prédicats ODM
Dans ODM, un nom de descripteur n'est pas nécessairement unique. Vous pouvez utiliser un nom de descripteur dans plusieurs classes d'objets. Dans ce cas, vous spécifiez le nom de la classe d'objets avec le nom du descripteur dans un prédicat afin de créer une référence unique au descripteur.
Opérateurs de comparaison dans les prédicats ODM
Les opérateurs de comparaison valides sont les suivants:
| Opérateur | Définition |
|---|---|
| = | Egal à |
| != | Différent de |
| > | Supérieur à |
| >= | Supérieur ou égal à |
| < | Inférieur(e) à |
| <= | Inférieur ou égal à |
| LIKE | Similaire à ; recherche des modèles dans les données de chaîne de caractères |
Les comparaisons ne peuvent être effectuées qu'entre des types de données compatibles.
Opérateur de comparaison LIKE
L'opérateur LIKE permet de rechercher un modèle dans un type de descripteur char. Par exemple, le prédicat:
NAME LIKE 'ANNE'définit une recherche de la valeurANNEvia l'outilNAMEdans chaque objet de la classe d'objets spécifiée. Dans ce cas, l'exemple est équivalent à:
NAME = 'ANNE'Vous pouvez également utiliser l'opérateur LIKE avec les caractères et les conventions de correspondance de modèle suivants:
- Utilisez le? (point d'interrogation) pour représenter un caractère unique. Exemple de prédicat:
définit une recherche pour toute chaîne de trois caractères dont A est un deuxième caractère dans la valeur de laNAMEdescripteur d'un objet. Les valeurs de descripteurPAM,DANetPATsatisfont tous à ce critère de recherche.NAME LIKE '?A?' - Utilisez l'astérisque (*) pour représenter une chaîne de zéro ou plusieurs caractères. Exemple de prédicat:
définit une recherche pour toute chaîne contenant la valeurANNEvia l'outilNAMEdescripteur d'un objet. Les valeurs de descripteurLIZANNE,ANNETTEetANNEsatisfont tous à ce critère de recherche.NAME LIKE '*ANNE*' - Utilisez [ ] (crochets) pour faire correspondre l'un des caractères placés entre les crochets. Exemple de prédicat:
définit une recherche pour toute valeur de descripteur commençant par S ou T dans leNAMEdescripteur d'un objet.NAME LIKE '[ST]*'Utilisez le signe-(moins) pour indiquer une plage de caractères. Exemple de prédicat:
définit une recherche de toute valeur de descripteur commençant par l'un des caractères A, D, E, F, G, S, ou T.NAME LIKE '[AD-GST]*' - Utilisez [ ! ] (crochets encadrant un point d'exclamation) pour faire correspondre un caractère unique à l'exception de l'un de ceux placés entre les crochets. Exemple de prédicat:
définit une recherche pour toute valeur de descripteur, à l'exception de celles qui commencent par S ou T dans laNAMEdescripteur d'un objet.NAME LIKE '[!ST]*'Vous pouvez utiliser les caractères et les conventions de correspondance de modèle dans n'importe quelle combinaison de la chaîne.
Constantes dans les prédicats ODM
La constante spécifiée peut être une constante numérique ou une constante de type chaîne de caractères:
- Les constantes numériques dans les prédicats ODM consistent en un signe facultatif suivi d'un nombre (avec ou sans séparateur décimal), éventuellement suivi d'un exposant marqué par la lettre E ou e. Si elle est utilisée, la lettre E ou e doit être suivie d'un exposant pouvant être signé.
Les constantes numériques admises sont les suivantes:
2 2.545 0.5 -2e5 2.11E0 +4.555e-10 4E0 -10 999 +42L'exposant E0 peut être utilisé pour ne spécifier aucun exposant.
Les constantes de chaîne de caractères doivent être placées entre apostrophes:
'smith' '91'Toutes les constantes de chaîne de caractères sont considérées comme ayant une longueur variable. Pour représenter un guillemet simple dans une constante de type chaîne, utilisez deux guillemets simples. Par exemple :
'DON''T GO'est interprété comme:
DON'T GO
opérateur logique AND pour les prédicats
L'opérateur logique AND peut être utilisé avec des prédicats. Utilisez AND ou et pour l'opérateur logique AND.
L'opérateur logique AND connecte au moins deux prédicats. Exemple de qualificateur:
predicate1 AND predicate2 AND predicate3spécifiepredicate1concaténé de manière logique avecpredicate2suivi du résultat, qui est logiquement concaténé avecpredicate3.