Definir campos en tablas

Los campos son los componentes que proporcionan la estructura a una tabla. De hecho, no puede haber una tabla sin campos. Por ejemplo, puede crear una tabla vacía que tenga definidos los campos pero ninguna fila (registros).

En las bases de datos, los campos también se utilizan para mantener las relaciones entre las tablas. Esto se realiza al tener campos que coincidan en dos o más tablas. Si almacenara una tabla llamada almacén_juguetes en una base de datos y también almacenara una tabla de personal para realizar el seguimiento de los empleados en cada almacén, crearía un campo común entre las dos tablas que se rellenaría, por ejemplo, con un Id. del almacén. El valor del identificador de almacén para un almacén de juguetes concreto sería el mismo en ambas tablas.

Debajo, se ha añadido un campo de Id. de almacén a la tabla almacén_juguetes:

Tabla con ID de tienda
Tabla de almacén de juguetes con Id. de almacén

La tabla almacén_juguetes se vincula a una tabla de empleados mediante el Id. de almacén. La tabla siguiente muestra a tres empleados de The Play House:

Tabla de empleados
La tabla de empleados vinculada a la tabla de almacenes con Id.

Ciertos campos también se utilizan para mantener relaciones entre tablas y sus índices de atributos.

Los campos de una tabla almacenan la misma categoría de datos en el mismo tipo de dato. Por ejemplo, si tiene un campo denominado NOMBRE en una tabla de clientes, las entradas de este campo son todos los nombres de cliente y se almacenan como texto. No debe mezclar las entradas, no debería poner un nombre de cliente en este campo en un registro y un nombre de producto en este mismo campo en otro registro.

Al crear una tabla o agregar campos a una tabla existente, defina qué tipo de datos se utilizan para almacenar los datos en cada campo. En algunos casos, especifique también la longitud del campo.

Nombres de campos

Los nombres de campo son los nombres que se dan a las columnas de una tabla. Los nombres deberían ofrecer una indicación de qué datos contiene esa columna concreta. Por ejemplo, al crear una nueva clase de entidad en ArcCatalog, la tabla ya está llena con un campo ObjectID y un campo de forma. El campo Id de objeto contiene el número de Id. único para cada objeto en la clase de entidad. El campo de forma define qué tipo de forma se almacena en la clase de entidad: punto, línea, polígono, multipunto o multiparche.

También podría plantearse el uso de frases fijas para indicar el tipo de columna. Por ejemplo, si crea un identificador único independiente en una tabla que utilizará para fines de indización, podría denominar el campo ID_CU, donde CU indica que se trata de una clave única.

Los nombres de campo en la misma tabla deben ser únicos; por ejemplo, no pueden haber dos columnas con el nombre ObjectID. Además, los nombres de campo deben comenzar con una letra y no deben incluir espacios o palabras reservadas. Los nombres de campo están limitados a 64 caracteres para las geodatabases personales y de archivos, 31 caracteres en SQL Server y SQLExpress, 30 caracteres en Oracle y DB2; dBASE tiene un límite de 10 caracteres.

Ciertos nombres de campos aparecen en ArcGIS con sus nombres completamente calificados para las tablas almacenadas dentro de una geodatabase de ArcSDE. Por ejemplo, si crea o importa una clase de entidad poligonal que contenga un campo denominado Área, se le anexa el nombre de la base de datos, esquema y tabla. Éste es el nombre que se ve en la tabla de atributos de la clase de entidad. Eso significa que, para una clase de entidad poligonal denominada archsites, almacenada en el esquema prof de la base de datos museum, el campo Área tendrá este aspecto:

MUSEUM.PROF.ARCHSITES.AREA

La siguiente lista contiene todos los nombres de campo que están totalmente calificados dentro de una geodatabase de ArcSDE:

FID, AREA, LEN, POINTS, NUMOFPTS, ENTITY, EMINX, EMINY, EMAXX, EMAXY, EMINZ, EMAXZ, MIN_MEASURE, MAX_MEASURE

Para casos como estos, quizá desee considerar el uso de un nombre de campo o un alias de campo diferente.

Alias de campos

Los alias de campos le permiten asignar un nombre alternativo a un campo. Utilice normalmente nombres de campo tan cortos como sea posible para indicar qué datos se almacenan en dicho campo. Tampoco se pueden utilizar espacios o caracteres especiales en el nombre de campo y como se muestra arriba, ciertos campos se muestran en la tabla con sus nombres completos. En estos casos, podría utilizar un alias de campo para proporcionar al campo un nombre más descriptivo. Por ejemplo, si tuviera un campo denominado ST_SUFX que almacenara el tipo de calle, que se indicara mediante el sufijo utilizado en el nombre de la calle, podría dar a este campo un alias de Sufijo de nombre de calle.

Obtener información para establecer un alias del campo

SugerenciaSugerencia:
Existen métodos de geoprocesamiento que le permiten validar los nombres de tablas y campos. Consulte Trabajar con geodatabases en Python para obtener más información.

Utilizar dominios para controlar valores de campos

Los dominios de atributo son reglas que indican los valores válidos para un campo en una tabla en una geodatabase. Fuerzan la integridad de datos restringiendo los valores de datos que un usuario puede añadir a un campo determinado.

Puede aplicar dominios de atributos en los campos solo si hay un conjunto o un rango definible de valores específicos posible para ese campo. Por ejemplo, sería difícil aplicar un dominio a un campo que almacena la respuesta a la pregunta de una encuesta "¿Cuál es su comida favorita?", ya que se pueden dar numerosas respuestas. Sin embargo, se le podría asignar un dominio de atributo a un campo que almacena datos sobre el color de ojos, porque solo hay pocos valores válidos posibles.

Utilizando un dominio de atributo para un campo que almacena datos de color de ojos se garantizaría la coherencia de los valores. Si los equipos de recogida de datos pudieran escribir cualquier color de ojos en un campo de texto, podría obtener cualquiera de los siguientes valores para ojos azules:

Los dominios de atributo también evitan errores ortográficos o tipográficos. Aún si los capturadores de datos solo supieran utilizar el término azul para los ojos azules, podrían escribir mal la palabra (azlu) o presionar la tecla equivocada al escribir azul (asul) en un campo de texto.

Tipos de dominios de atributo

Hay dos tipos de dominios de atributo que puede utilizar para restringir los valores de campo: dominio de valor codificado y dominio de rango.

Dominio de valor codificado: utiliza códigos para definir un conjunto de valores permitidos para un campo que almacena datos discretos

Puede utilizar un dominio de valor codificado para cualquier tipo de datos. Para el campo color de ojos, podría crear un dominio codificado. Éstos son ejemplos de dos posibles conjuntos de códigos:

  • Ngr = negro
  • Mrn = marrón
  • Azl = azul
  • Vrd = verde
  • Avl = avellana
  • Gri = gris
  • Vlt = violeta

O

  • 1 = negro
  • 2 = marrón
  • 3 = azul
  • 4 = verde
  • 5 = avellana
  • 6 = gris
  • 7 = violeta

Dominio de rango: Define un rango de valores numéricos permitidos para un campo

El campo debe ser de tipo de datos numérico o de fecha para utilizar un dominio de rango. Un ejemplo de un campo en el que puede aplicar un dominio de rango es uno que almacena datos sobre pesos de nacimiento para partos simples de los gorilas de las tierras bajas occidentales en los zoológicos. El rango puede variar desde el peso más bajo (1 kg) al más alto (2,5 kg).

Para obtener información adicional sobre dominios de atributo, consulte Un recorrido rápido por los dominios de atributo.

Para obtener información para crear un dominio de atributo, consulte Crear un nuevo dominio de rango de atributo y Crear un nuevo dominio de valor codificado de atributo.

Uso de subtipos

Los subtipos son clasificaciones dentro de una tabla o clase de entidad en una geodatabase. Estos permiten agrupar lógicamente entidades en función de una característica o un comportamiento único de los datos. Esta característica o comportamiento se representa por medio de los valores de un campo en la tabla. Por ejemplo, para una tabla de hidrología, podrían haber subtipos para distintos tipos de vías fluviales, como riachuelos, arroyos, canales, acueductos y ríos. Para cada uno de estos subtipos, podría aplicar diversas reglas topológicas, reglas de conectividad, valores predeterminados y reglas de relación.

El uso de subtipos para almacenar grupos de entidades relacionadas puede mejorar el rendimiento de las consultas. Si almacenó los distintos tipos de datos en clases de entidad separadas en lugar de utilizar subtipos, tendrá más clases de entidad en la base de datos, y la búsqueda podría tardar más tiempo.

Las siguientes reglas se refieren a los subtipos:

  1. Solo un campo en una tabla o clase de entidad puede tener subtipos aplicados al mismo.
  2. Para utilizar subtipos, el campo en el que se basa el subtipo debe ser un campo entero largo o corto.
  3. Puede aplicar distintas reglas de relación y topología a los distintos subtipos. También puede aplicar dominios codificados o de atributos diferentes a otros campos en la tabla basada en subtipos.

Pasos para aplicar los subtipos

Pasos:
  1. Asegúrese de que el campo al que desea aplicar el subtipo es un campo entero corto o largo. Si no lo es, añada un campo de entero corto o largo a la tabla o clase de entidad. En la mayoría de los casos, un entero corto debe ser suficiente. Sin embargo, si hay alguna posibilidad que los valores de subtipos puedan exceder de 32.767, utilice un campo de entero largo.

    Por ejemplo, para una clase de entidad de ríos, podría añadir un campo de entero corto denominado Cuenca hidrográfica para crear subtipos basados en la cuenca hidrográfica a la que contribuye el río.

  2. En la ficha Subtipos del cuadro de diálogo Propiedades para la tabla o clase de entidad, especifique el campo de subtipo seleccionándolo en la primera lista desplegable.

    En el ejemplo de los ríos, elegiría el campo Cuenca hidrográfica en la lista Campo de subtipo.

  3. Un nuevo subtipo se añade automáticamente a la tabla Subtipos. Este subtipo predeterminado tiene un código de 0 y una descripción Nuevo subtipo. Puede hacer doble clic en cada uno de estos campos para escribir el código de subtipo y la descripción que desee.

    Podría cambiar el primer código a 1 y la descripción al nombre de la primera cuenca hidrográfica.

  4. Para añadir más subtipos, siga añadiendo códigos de subtipo y descripciones a la tabla Subtipos.

    En el campo debajo del código 1, podría agregar un código 2 con un nombre de cuenca hidrográfica correspondiente en el campo Descripción, luego, debajo agregue un código 3 con un nombre de cuenca hidrográfica correspondiente, hasta que haya creado códigos y descripciones para todas las cuencas hidrográficas representadas en la clase de entidad de ríos.

  5. Para especificar distintos valores predeterminados o dominios por subtipo, haga clic en un subtipo en la lista Subtipos. En la lista Valores y dominios predeterminados, puede escribir un valor predeterminado para cualquiera de los campos de la lista. También puede aplicar un dominio de atributos o codificado a los campos en la lista haciendo clic en el campo Dominio y eligiendo un dominio en la lista desplegable. Si no existe ningún dominio todavía, puede crear uno nuevo haciendo clic en el botón Dominios en la parte inferior del cuadro de diálogo Propiedades, que lo lleva al cuadro de diálogo Dominios del espacio de trabajo.

    Los valores predeterminados y los dominios que especifique solo se aplican al subtipo que eligió en la lista Subtipos. Si hace clic en otro subtipo en la lista Subtipos, los valores predeterminados y los dominios estarán vacíos (si no ha especificado dominios y valores predeterminados para este subtipo) o contendrán valores diferentes.

Más información sobre los subtipos

Temas relacionados

5/10/2014