Les champs sont les composants qui fournissent la structure d'une table. En fait, 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 également de gérer les relations entre les tables. Pour ce faire, il faut avoir des champs correspondants dans plusieurs tables. Par exemple, si vous avez stocké une table appelé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 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 NAME dans 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 ; vous ne mettez pas de 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 donner une indication des données qui sont contenues dans la colonne correspondante. Par exemple, lorsque vous créez une classe d'entités dans ArcCatalog, 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 envisager d'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 colonnes avec 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. Les noms de champ sont limités à 64 caractères pour les géodatabases fichiers et personnelles, à 31 caractères dans SQL Server et SQLExpress, à 30 caractères dans Oracle et DB2 ; dBASE est limité à 10 caractères.
Certains noms de champ apparaissent dans ArcGIS avec leurs noms complets pour les tables stockées dans une géodatabase ArcSDE. 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 ainsi :
MUSEUM.PROF.ARCHSITES.AREA
La liste suivante contient tous les noms de champ complets dans une géodatabase ArcSDE :
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.
Alias de champ
Les alias de champ vous permettent d'attribuer un nom secondaire à un champ. Vous utilisez normalement des noms de champs aussi courts que possible afin de donner une indication sur les données qui sont stockées dans ce champ. Vous ne pouvez pas non plus utiliser d'espaces ou de caractères spéciaux dans le nom de champ et, comme indiqué ci-dessus, certains champs s'affichent dans la table avec leurs noms complets. Dans ces cas, vous pouvez utiliser un alias de champ pour attribuer au champ un nom plus descriptif. Par exemple, si un champ appelé ST_SUFX qui 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.
Utilisation de 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 devez 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 est difficile d'appliquer un domaine à un champ qui stocke la réponse à la question "Quel est votre plat favori ?", car un grand nombre de réponses est possible. Par contre, 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 pouvaient saisir toute couleur dans un champ de texte pour la couleur des yeux, vous pourriez vous retrouver avec les valeurs suivantes pour les yeux bleus :
- Azur
- Bleu 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 le terme bleu pour les yeux bleus, ils peuvent mal orthographier le mot (blue) ou taper sur la mauvaise touche lorsque qu'ils saisissent bleu (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 — Utilise des codes pour définir un ensemble de valeurs autorisées pour un champ stockant des données discrètes
Vous pouvez utiliser un domaine de valeurs précodées pour tout type de données. Pour le champ de couleur des yeux, vous pouvez créer un domaine codé. Voici des exemples des deux jeux de codes possibles :
- Noi = Noir
- Mar = Marron
- Ble = bleu
- Ver = Vert
- Nst = Noisette
- Gri = Gris
- Vlt = Violet
Ou
- 0 = Noir
- 2 = Marron
- 3 = Bleu
- 4 = Vert
- 5 = Noisette
- 6 = Gris
- 7 = Violet
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. 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).
Pour obtenir des informations supplémentaires sur les domaines attributaires, reportez-vous à la rubrique Présentation rapide des domaines attributaires.
Pour savoir comment créer un domaine attributaire, reportez-vous aux rubriques Création d'un nouveau domaine attributaire par plage et Création d'un nouveau domaine attributaire de valeurs précodées.
Utilisation de 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.
Voici des règles concernant les sous-types :
- Un sous-type ne peut être appliqué qu'à un seul champ d'une table ou d'une classe d'entités.
- Pour utiliser des sous-types, 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 également appliquer différents attributs ou domaines codés à d'autres champs de la table selon leur sous-type.
Procédure d'application de sous-types
- Assurez-vous que le champ auquel vous souhaitez appliquer le sous-type est un champ de type entier court ou long. Si ce n'est pas le cas, ajoutez un champ de type entier court ou long à la table ou à la classe d'entités. Dans la plupart des cas, un nombre entier court doit suffire. Toutefois, s'il est possible que les valeurs de vos sous-types dépassent 32 767, utilisez un champ de type entier long.
Par exemple, pour une classe d'entités de rivières, vous pouvez ajouter un champ de type entier court appelé Bassins versants pour créer des sous-types basés sur les bassins versants auxquels participe une rivière.
- Dans l'onglet Sous-types de la boîte de dialogue Propriétés pour la table ou la classe d'entités, spécifiez le champ de sous-type en le sélectionnant dans la première liste déroulante.
Pour l'exemple des rivières, vous choisissez le champ Watershed dans la liste Champ de sous-type.
- Un nouveau sous-type est ajouté automatiquement à la table Sous-types. Ce sous-type par défaut porte le code 0 et la description Nouveau sous-type. Vous pouvez double-cliquer dans chacun de ces champs pour taper le code de sous-type et la description que vous souhaitez.
Vous pourriez modifier le premier code en 1 et la description pour indiquer le nom du premier bassin versant.
- Pour ajouter d'autres sous-types, continuez à ajouter des codes et des descriptions de sous-type à la table Sous-types.
Dans le champ sous le code 1, vous pouvez ajouter un code 2 avec un nom de bassin versant correspondant dans le champ Description, puis en dessous, un code 3 avec un nom de bassin versant correspondant, et ainsi de suite, jusqu'à ce que vous ayez créé des codes et des descriptions pour tous les bassins versants représentés dans votre classe d'entités de rivières.
- Pour spécifier des valeurs par défaut ou des domaines différents par sous-type, cliquez sur un sous-type dans la liste Sous-types. Dans la liste Domaines et valeurs par défaut, vous pouvez saisir une valeur par défaut pour chacun des champs de la liste. Vous pouvez également appliquer un domaine codé ou attributaire aux champs de la liste en cliquant dans le champ Domaine et sélectionnant un domaine dans la liste déroulante. Si aucun domaine n'existe encore, vous pouvez en créer un en cliquant sur le bouton Domaines en bas de la boîte de dialogue Propriétés. Vous accédez ainsi à la boîte de dialogue Domaines de l'espace de travail.
Les valeurs par défaut et les domaines que vous spécifiez s'appliquent uniquement au sous-type que vous avez choisi dans la liste Sous-types. Si vous cliquez sur un autre sous-type dans la liste Sous-types, les valeurs par défaut et domaines seront vides (si vous n'avez pas spécifié de valeurs et de domaines par défaut pour ce sous-type) ou contiendront d'autres valeurs.