Choisir un champ d'identifiant unique pour une couche de requête
Dans ArcMap, toutes les couches nécessitent un identifiant unique. Par conséquent, votre couche de requête doit contenir un identifiant unique.
Si vous définissez une couche de requête sur une table de géodatabase ou une classe d'entités, la table aura toujours un champ d'identifiant unique : le champ ObjectID.
Dans la plupart des cas toutefois, vous créez des couches de requête pour accéder aux classes d'entités et aux tables d'une base de données. Il est fréquent que les tables de base de données contiennent un champ d'identifiant unique. Par conséquent, il est très probable que vos tables de base de données contiennent déjà un champ que vous pouvez utiliser comme identifiant unique.
Pour être utilisé comme identifiant unique dans ArcGIS, un champ ne doit pas avoir une valeur Null, le champ doit contenir des valeurs uniques et il doit être de l'un des types suivants :
- entier (valeurs positives uniquement)
- chaîne
- GUID
- date
Puisque la valeur contenue dans le champ d'identifiant unique identifie de manière unique un objet de ligne ou d'entité dans ArcGIS, les valeurs spécifiées dans ce champ doivent toujours être uniques et ne doivent pas être nulles. Il est de votre responsabilité de garantir que les valeurs contenues dans ce champ respectent ce critère.
Vous recevrez une erreur si ArcGIS rencontre une valeur Null, mais ArcGIS n'impose pas l'unicité des valeurs dans le champ d'identifiant unique utilisé dans une couche de requête ou une table de base de données. Si ArcGIS détecte une valeur qui n'est pas unique, aucune erreur n'est renvoyée. Cependant, vous êtes susceptible d'obtenir des résultats incohérents dans les ensembles de sélection ou d'autres requêtes dans ArcGIS.
Si ArcGIS ne parvient pas à détecter un identifiant unique approprié, vous êtes invité à choisir le ou les champs à utiliser lorsque vous faites glisser une table de base de données dans ArcMap ou lorsque vous validez la définition d'une nouvelle couche de requête. Dans cet exemple, ArcGIS ne trouve aucun champ entier de valeur non nulle à utiliser comme identifiant unique. Vous devez choisir un champ ou une combinaison de champs de valeurs uniques et non nulles à utiliser comme identifiant unique pour les lignes de la table.
Si un champ approprié est présent, ArcGIS définit le premier champ non nul qu'il trouve comme champ d'identifiant unique par défaut lorsque vous faites glisser une table de base de données depuis l'arborescence du catalogue et la placez dans ArcMap ou lorsque vous validez la définition d'une couche de requête. Il s'agit souvent d'une valeur adéquate à utiliser comme champ d'identifiant unique, mais vous pouvez choisir un ou plusieurs autres champs dans la liste Champ(s) d'identifiant unique pour les utiliser à la place. Pour modifier les champs d'identifiant unique utilisés par ArcGIS pour votre table de base de données, procédez comme suit :
- Dans ArcMap, cliquez avec le bouton droit de la souris sur la couche dans la table des matières, puis choisissez Propriétés.
- Cliquez sur Source, puis sur Modifier la requête.
La boîte de dialogue Modifier la couche de requête s'ouvre.
- Cliquez sur Afficher les options avancées, puis sur Suivant.
- Choisissez un autre champ ou ensemble de champs à utiliser comme identifiant unique, puis cliquez sur Terminer.
- Cliquez sur OK pour fermer la boîte de dialogue Propriétés de la couche.