Todas las tablas y las clases de entidad utilizadas en ArcGIS deben contener un campo que identifique de forma única cada fila o entidad.
Para utilizar un campo como identificador único en las aplicaciones de escritorio de ArcGIS, el campo no debe ser nulo, debe contener valores únicos y ser de uno de estos tipos de datos:
- Entero (solo valores positivos)
- Cadena
- GUID
- Fecha
Los valores del campo siempre deben ser únicos y no nulos. Es su responsabilidad garantizar que los valores en este campo cumplan con estos requisitos.
Si arrastra una tabla de base de datos a un mapa o valida una definición de capa de consulta, ArcGIS define el primer campo no nulo que encuentra como el campo de identificador único de manera predeterminada. Puede usar este campo o modificar la definición de consulta y elegir otro campo o conjunto de campos para utilizarlos como identificador único.
Usar un solo campo como identificador único
Si se especifica un campo entero simple como identificador único, ArcGIS utiliza los valores de ese campo directamente para identificar de manera única todas las entidades y filas de la tabla de base de datos.
Si la tabla de base de datos no contiene un campo que se pueda usar como identificador único y se usa una base de datos de Dameng, IBM Db2, Microsoft SQL Server, Oracle o PostgreSQL, puede ejecutar la herramienta de geoprocesamiento Agregar campo Id. en aumento para agregar un campo de tipo entero de identificador único a la tabla.
Si se usa un campo de cadena de caracteres simple como identificador único, ArcGIS debe asignar esos valores únicos a un entero. Esto se suele realizar en ArcGIS cada vez que el sistema necesita un atributo de Id. de objeto, como cuando se crea una selección de mapa o se abre la tabla de atributos. ArcGIS agrega un atributo llamado ESRI_OID y almacena en él un valor entero único. Este atributo solo forma parte de la definición de la capa; la tabla de base de datos subyacente no se altera.
Usar un identificador único compuesto
Puede elegir uno o varios campos para definir un identificador único. Si opta por usar varios campos, los valores combinados de esos campos deben ser únicos. El siguiente ejemplo muestra dos campos de texto, member_surname y signup_date. Por separado, los valores de estos campos podrían no ser únicos. Pero, usados en combinación, los valores son únicos, como se muestra aquí:
member_surname | signup_date |
---|---|
alfred | 2006-09-28 10:15:41 |
dewey | 2006-09-28 10:15:56 |
johnson | 2000-02-19 09:14:50 |
johnson | 2004-12-08 11:02:32 |
mujan | 2011-07-07 12:44:21 |
La combinación de estos valores se usará como clave para generar un valor entero único que se almacenará en un atributo denominado ESRI_OID. Este atributo solo forma parte de la definición de la capa; la tabla de base de datos subyacente no se altera.
La definición de capa del ejemplo anterior incluiría una columna ESRI_OID, como se muestra aquí:
member_surname | signup_date | ESRI_OID |
---|---|---|
alfred | 2006-09-28 10:15:41 | 1 |
dewey | 2006-09-28 10:15:56 | 2 |
johnson | 2000-02-19 09:14:50 | 3 |
johnson | 2004-12-08 11:02:32 | 4 |
mujan | 2011-07-07 12:44:21 | 5 |
Tenga en cuenta que, si los valores combinados de los campos o el campo de texto individual que especifique no son únicos, ArcGIS interpreta estas filas como iguales y les asignará el mismo valor de ESRI_OID.
Si la tabla ya contiene un campo llamado ESRI_OID, se añade a la definición de capa un atributo denominado ESRI_OID_1.