Les champs sont les composants qui fournissent la structure d'une table. Vous ne pouvez pas avoir de table sans champs. Par exemple, vous pouvez créer une table vide qui a des champs définis, mais aucune ligne (enregistrement).
Dans les bases de données, les champs permettent de gérer les relations entre les tables. Pour ce faire, il faut créer des champs correspondants dans plusieurs tables. Par exemple, si vous avez stocké une table nommée toy_store dans une base de données et que vous avez également stocké une table du personnel pour effectuer le suivi des employés de chaque magasin, vous créez un champ commun entre les deux tables, qui est rempli par un ID de magasin. La valeur d'ID de magasin pour un magasin de jouets spécifique est le même dans les deux tables.
Ci-dessous, un champ STORE_ID a été ajouté à la table toy_store :

La table toy_store est reliée à une table des employés par l'ID de magasin. La table ci-dessous affiche trois employés du magasin The Play House :

Certains champs sont également utilisés pour gérer les relations entre des tables et leurs index attributaires.
Les champs d'une table stockent la même catégorie de données dans le même type de données. Par exemple, si vous avez un champ CUSTOMER_NAMEdans une table de clients, les entrées pour ce champ sont toutes des noms de client et sont stockées en tant que texte. Vous ne mélangez pas les entrées, c’est-à-dire que vous ne mettez pas un nom de client dans ce champ pour un enregistrement et un nom de produit dans ce même champ pour un autre enregistrement.
Lorsque vous créez une table ou que vous ajoutez des champs à une table existante, vous définissez le type de données utilisé pour stocker les données dans chaque champ. Dans certains cas, vous spécifiez également la longueur du champ.
Noms de champs
Les noms de champs sont les noms que vous attribuez aux colonnes d'une table. Les noms doivent indiquer les données qui sont contenues dans chaque colonne. Par exemple, lorsque vous créez une classe d’entités dans ArcGIS, la table est déjà remplie avec un champ ObjectID et un champ de forme. Le champ ObjectID contient l'identifiant unique pour chaque objet de la classe d'entités. Le champ de forme définit le type de forme stocké dans la classe d’entités : point, ligne, polygone, multi-points ou multipatch.
Vous pouvez également utiliser des expressions définies pour indiquer le type de colonne. Par exemple, si vous créez un identifiant unique distinct dans une table que vous utilisez à des fins d’indexation, vous pouvez nommer le champ ID_CU, CU indiquant qu’il s’agit d’une clé unique.
Les noms de champs d’une même table doivent être uniques ; par exemple, vous ne pouvez pas avoir deux champs portant le nom ObjectID. Les noms de champs doivent également commencer par une lettre et ne pas contenir d’espaces ou de mots réservés. Pour plus d’informations sur les limitations propres aux bases de données, reportez-vous à la rubrique Limites de taille et de nom de la géodatabase fichier, Limites de taille et de nom de la géodatabase mobile ou Données de base de données et de stockage de données cloud dans ArcGIS.
Certains noms de champs apparaissent dans ArcGIS avec leurs noms complets pour les tables stockées dans une géodatabase d’entreprise. Par exemple, si vous créez ou importez une classe d’entités surfaciques contenant un champ nommé Area, la base de données, la structure et le nom de table lui sont ajoutés. Il s'agit du nom qui s'affiche dans la table attributaire de la classe d'entités. Cela signifie que pour une classe d’entités surfaciques nommée archsites stockée dans la structure prof de la base de données museum, le champ Area apparaît sous la forme MUSEUM.PROF.ARCHSITES.AREA.
La liste suivante contient tous les noms de champs complets dans une géodatabase d’entreprise :
- FID
- AREA
- LEN
- POINTS
- NUMOFPTS
- ENTITY
- EMINX
- EMINY
- EMAXX
- EMAXY
- EMINZ
- EMAXZ
- MIN_MEASURE
- MAX_MEASURE
Pour ce type de cas, utilisez éventuellement un nom de champ différent ou un alias de champ.
Longueur des noms de champ
Dans ArcGIS AllSource, la longueur maximale d’un nom de champ est de 128 caractères pour la plupart des formats de géodatabase. Toutefois, le nombre de caractères pouvant être utilisés dépend des limites imposées par le SGDB sous-jacent et l’encodage des caractères utilisé. Pour éviter qu’un nom de champ ne soit tronqué, veillez à ce que la longueur du nom de champ soit inférieure aux limites de caractères et d’octets maximales indiquées dans le tableau ci-dessous.
Les limites de longueur des noms de champ peuvent être exprimées en nombre de caractères ou en nombre d’octets.
- Caractères : il s’agit des lettres, chiffres et symboles que vous saisissez. Par exemple, « A », « 1 » et « ! » sont tous des caractères. Le nombre d’octets requis pour stocker un caractère varie selon l’encodage utilisé.
- Octets : il s’agit d’unités d’informations numériques constituées de huit bits. Les caractères ne nécessitent pas tous le même nombre d’octets. Par exemple, la lettre « A » peut nécessiter 1 octet alors qu’un caractère avec un diacritique, comme « é », peut nécessiter 2 octets.
Les diverses bases de données et les divers types de géodatabase présentent des limites différentes pour la longueur des noms de champ. Par exemple, si vous utilisez des données dans une géodatabase fichier ou un espace de travail en mémoire, la longueur de champ maximale est de 128 caractères. Pour les géodatabases mobiles et les géodatabases d’entreprise, ArcGIS AllSource autorise une longueur maximale de 128 caractères ou de 256 octets, selon la limite qui est atteinte en premier. Certaines bases de données, comme PostgreSQL et Oracle, présentent des limites d’octets plus strictes, ce qui peut entraîner la troncature des noms de champ ou la nécessité de noms plus courts.
L’encodage des caractères détermine la représentation en octets de chaque caractère. Les encodages de caractères suivants sont courants :
- ASCII : utilise 1 octet par caractère et est utilisé principalement pour l’anglais, notamment pour les lettres, les chiffres, les signes de ponctuation et les caractères de contrôle.
- UTF-8 : utilise entre 1 et 4 octets par caractère. Il est largement utilisé pour les pages Web et les courriers électroniques et peut représenter tous les caractères dans la norme Unicode tout en étant rétrocompatible avec ASCII.
- UTF-16 : utilise 2 ou 4 octets par caractère et est couramment utilisé sur de nombreux systèmes d’exploitation et dans de nombreux environnements. Il peut représenter tous les caractères Unicode et est idéal pour les textes comportant de nombreux caractères autres qu’ASCII.
- ISO-8859-1 : utilise 1 octet par caractère et est utilisé pour les langues d’Europe occidentale car il couvre la plupart des caractères utilisés dans ces langues.
En savoir plus sur la norme Unicode
Le tableau suivant répertorie les limites de caractères et d’octets maximales qu’ArcGIS peut créer pour les longueurs de nom de champ dans différents types de géodatabase :
Type de géodatabase | Longueur de champ maximale | Unité de mesure | Nombre maximal de caractères |
---|---|---|---|
Géodatabase fichier et espace de travail en mémoire | 128 caractères | Caractères | 128 caractères, quelle que soit la taille en octets de chaque caractère. |
Géodatabases mobiles et d’entreprise | 128 caractères avec au plus 256 octets* | Octets | Dépend de l’encodage des caractères. (par exemple, 128 caractères UTF-16) |
* Si votre base de données autorise un nombre moins élevé d’octets ou de caractères que ArcGIS AllSource, vous êtes limité au nombre de caractères autorisé par la base de données. Pour plus d’informations sur les limitations propres aux bases de données, reportez-vous à la rubrique Limites de taille et de nom de la géodatabase fichier, Limites de taille et de nom de la géodatabase mobile ou Données de base de données et de stockage de données cloud dans ArcGIS.
Si votre nom de champ utilise des caractères représentés par plusieurs octets, il se peut que vous atteigniez la limite d’octets avant la limite de caractères. Les exemples suivants illustrent ces concepts :
Exemple 1 : nom de champ de 100 caractères, où chaque caractère est représenté par 3 octets (encodage UTF-8).
- Nombre total d’octets = 100 caractères * 3 octets/caractère = 300 octets
- Ce nombre est supérieur à la limite de 256 octets et le nom sera tronqué.
Exemple 2 : nom de champ de 128 caractères, où chaque caractère est représenté par 2 octets (encodage UTF-16).
- Nombre total d’octets = 128 caractères * 2 octets/caractère = 256 octets
- La limite de 256 octets n’est pas dépassée et le nom sera accepté.
Conseil :
- Consultez la documentation du système de gestion de base de données (SGDB) : vérifiez toujours les limitations spécifiques relatives aux noms d’objet de votre SGDB.
- Utilisez des noms clairs et concis : choisissez des noms de champ descriptifs, mais qui respectent les limites de caractères et d’octets.
- Utilisez un alias de champ : pour les tables inscrites dans la géodatabase, vous pouvez utiliser un alias de champ afin d’attribuer au champ un nom plus descriptif ou un nom qui utilise des symboles ou des espaces.
- Effectuez un test dans les différentes bases de données : si vous utilisez plusieurs bases de données, testez les noms de champ pour vous assurer qu’ils respectent les limites de chaque SGBD.
En comprenant ces limitations et la façon dont elles s’appliquent à différents types de géodatabase, vous pouvez gérer efficacement les noms de champ dans ArcGIS AllSource et éviter tout problème lié à la troncature des noms de champ.
Renommer des champs
Vous pouvez renommer les champs d’une table ou d’une classe d’entités dans la vue des champs.
Pour renommer un champ, cliquez avec le bouton droit sur la classe d’entités ou sur la table dans la fenêtre Catalog (Catalogue) et sélectionnez Data Design (Conception de données) > Fields (Champs). Cette opération ouvre la vue des champs, dans laquelle vous pouvez modifier les propriétés des champs. Double-cliquez sur la cellule du nom du champ à modifier et saisissez un nouveau nom de champ. Pour valider vos modifications, cliquez sur le bouton Save (Enregistrer) dans le groupe Changes (Modifications) sur l’onglet Fields (Champs).
Il est impossible de renommer les champs suivants :
- Champs ObjectID et ID global
- Champs liés à la forme, tels que Shape (Forme), shape length (Longueur de forme), shape area (Surface de la forme)
- Champs de rôles auxiliaires et activés ou champs de pondération de réseau d’une classe d’entités de réseau
- champs de représentation ;
- Champs d’une classe d’entités faisant partie d’un jeu de données réseau, d’un terrain ou d’un atelier parcellaire
- Champs utilisés pour le suivi de l’éditeur
- Champs de clé primaire et de clé étrangère de classe de relations
- Champ de sous-type
- Champs raster
Règles et limitations liées aux noms de champ
Le tableau suivant dresse la liste des règles de caractères prises en charge dans les noms de champs :
Caractère | Début du nom | Autre position | Dans l’alias |
---|---|---|---|
Lettres (A–Z) | ![]() | ![]() | ![]() |
Trait de soulignement ( _ ) | ![]() | ![]() | |
Chiffres (0–9) | ![]() | ![]() | |
Espaces | ![]() | ||
Symboles (autres que le trait de soulignement) | ![]() | ||
Lettres et chiffres en exposant | ![]() | ||
Lettres et chiffres en indice | ![]() |
Règles et limitations supplémentaires appliquées aux noms de champ :
- Les noms de champ ne peuvent pas contenir de mots réservés, tels que all ou result.
Consultez la documentation de votre système de gestion de bases de données (SGBD) pour connaître les autres mots réservés.
- La longueur des noms de champ (colonne) dépend de la base de données sous-jacente.
Pour plus d’informations sur les limitations propres aux bases de données, reportez-vous à la rubrique Limites de taille et de nom de la géodatabase fichier, Limites de taille et de nom de la géodatabase mobile ou Données de base de données et de stockage de données cloud dans ArcGIS.
Remarque :
Pour en savoir plus, reportez-vous au tableau récapitulant les règles et limitations appliquées aux noms de classe d’entités et de table dans la rubrique Définir des propriétés de classe d’entités.
Alias de champ
Les alias de champ vous permettent d'attribuer un nom secondaire à un champ. Vous utilisez généralement des noms de champ aussi courts que possible afin de donner une indication sur les données qui sont stockées dans ce champ. Vous ne pouvez pas utiliser d’espaces ni de caractères spéciaux dans le nom de champ, et certains champs s’affichent dans la table avec leurs noms complets. Dans ce cas, vous pouvez utiliser un alias de champ pour attribuer au champ un nom plus descriptif. Par exemple, si un champ nommé ST_SUFX stocke le type de rue, indiqué par le suffixe utilisé pour le nom de rue, vous pouvez attribuer à ce champ un alias Suffixe du nom de rue.
Pour en savoir plus sur la définition d'un alias de champ
Conseil :
Des méthodes géotraitement vous permettent de valider les noms de champ et de table. Pour plus d’informations, reportez-vous à la rubrique Validation des noms de tables et de champs dans Python.
Utiliser des domaines pour contrôler les valeurs de champ
Les domaines attributaires sont des règles qui indiquent les valeurs valides pour un champ dans une table d'une géodatabase. Ils assurent l’intégrité des données en limitant les valeurs de données qu’un utilisateur peut ajouter à un champ particulier.
Vous pouvez appliquer des domaines attributaires à des champs uniquement si un ensemble définissable ou une plage de valeurs spécifiques est possible pour ce champ. Par exemple, il serait difficile d’appliquer un domaine à un champ stockant la réponse à la question de l’enquête Quelle est votre nourriture préférée ? puisque cette question peut avoir de nombreuses réponses différentes. Toutefois, vous pouvez attribuer un domaine attributaire à un champ qui stocke des données sur la couleur des yeux, car il n’y a que quelques valeurs valides possibles.
- Noir
- Marron
- Bleu
- Vert
- Noisette
- Gris
- Violet
L’utilisation d’un domaine attributaire pour un champ qui stocke des données sur la couleur des yeux garantit la cohérence des valeurs. Si les personnes qui collectent les données peuvent saisir n’importe quelle couleur dans un champ de texte pour la couleur des yeux, vous pouvez vous retrouver avec les valeurs suivantes pour les yeux bleus :
- Azur
- Marine
- Bleu ciel
- Cobalt
- Bleu vert
Les domaines attributaires empêchent également les fautes d'orthographe ou les erreurs typographiques. Même si des collecteurs de données savent qu’ils doivent utiliser uniquement le terme bleu pour les yeux bleus, ils peuvent mal orthographier le mot (blue) ou taper la mauvaise lettre lorsque qu’ils saisissent le mot (vleu) dans un champ textuel.
Types de domaines attributaires
Il existe deux types de domaines attributaires permettant de restreindre des valeurs de champ : le domaine de valeurs précodées et le domaine par plage.
Domaine de valeurs précodées
Un domaine de valeurs précodées utilise des codes pour définir un ensemble de valeurs autorisées pour un champ qui stocke des données discrètes. Vous pouvez utiliser un domaine de valeurs précodées pour la plupart des types de données de champ.
Remarque :
- Les domaines dans les types de champ Date, Date only (Date uniquement) et Time only (Heure uniquement) ne prennent en charge que la précision basée sur la seconde entière.
- Les domaines dans les champs Global ID (ID global), Object ID (ID d’objet), Blob, Raster et Timestamp offset (Décalage de l’horodatage) ne sont pas pris en charge avec une valeur et une plage précodées.
Pour le champ de couleur des yeux, vous pouvez créer un domaine codé utilisant l’un des exemples de jeux de codes suivants :
- Exemple 1
- Noi = Noir
- Mar = Marron
- Ble = bleu
- Ver = Vert
- Nst = Noisette
- Gri = Gris
- Vlt = Violet
- Exemple 2
- 1 = Noir
- 2 = Marron
- 3 = Bleu
- 4 = Vert
- 5 = Noisette
- 6 = Gris
- 7 = Violet
Domaine par plage
Un domaine par plage définit une plage de valeurs numériques autorisées pour un champ.
Le champ doit être de type numérique ou date pour utiliser un domaine par plage. Vous pouvez appliquer un domaine par plage aux types de champ entier court, entier long, entier très grand, flottant, double, date, date uniquement et heure uniquement. Par exemple, vous pouvez appliquer un domaine par plage à un champ qui stocke des données sur les poids de naissance dans le cas de naissances uniques pour les gorilles des plaines occidentales dans les zoos. La plage irait du poids le plus bas (1 kg) au poids le plus haut (2,5 kg).
Utiliser des sous-types
Les sous-types sont des classifications au sein d'une classe d'entités ou d'une table dans une géodatabase. Ils permettent de regrouper logiquement des entités selon une caractéristique ou un comportement unique des données. Cette caractéristique ou ce comportement est représenté par les valeurs d'un champ de la table. Par exemple, vous pouvez avoir des sous-types pour les différents types de voies navigables, telles que les torrents, les ruisseaux, les canaux et les rivières pour une table d'hydrologie. Pour chacun de ces sous-types, vous pouvez appliquer des règles de topologie, des règles de connectivité, des valeurs par défaut et des règles de relations différentes.
L'utilisation de sous-types pour stocker des groupes d'entités reliées peut améliorer les performances des requêtes. Si vous stockez les différents types de données dans des classes d’entités distinctes au lieu d’utiliser des sous-types, vous avez un plus grand nombre de classes d’entités dans la base de données, ce qui peut augmenter la durée des recherches.
Les règles suivantes s’appliquent lorsque vous utilisez des sous-types :
- Un sous-type ne peut être appliqué qu'à un seul champ d'une table ou d'une classe d'entités.
- Le champ sur lequel vous basez le sous-type doit être un champ de type entier long ou court.
- Vous pouvez appliquer une topologie et des règles de relation différente aux différents sous-types.
- Vous pouvez appliquer différents attributs ou domaines codés à d'autres champs de la table selon leur sous-type.
Remarque :
Vous appliquez le domaine à un champ pour un sous-type spécifique.
Vous avez un commentaire à formuler concernant cette rubrique ?