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. Por ejemplo, si almacena una tabla llamada toy_store en una base de datos y también almacena una tabla de personal para rastrear a los empleados en cada tienda, debería crear un campo común entre las dos tablas que se completarán con, por ejemplo, un ID de tienda. El valor ID de tienda para una tienda de juguetes específica sería la misma en las dos 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 está vinculada a una tabla de empleados mediante el ID de tienda. La tabla a continuación muestra tres empleados de 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 tanto 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.

Dado que los nombres de campo no se pueden cambiar, si decide posteriormente que desea que el nombre aparezca de manera diferente, puede utilizar un alias para cambiar el nombre de campo que ven los usuarios. Si ha creado el campo de ST_SUFX y lo llenó, entonces decidió que SUFX no le es útil, podría asignar un alias de campo para que los usuarios consulten el Tipo calle, por ejemplo, en lugar de ST_SUFX.

Aprenda cómo establecer un alias del campo

SugerenciaSugerencia:
Existen métodos de geoprocesamiento que le permiten validar los nombres de tablas y campos. Consulte el tema 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 sólo 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 sólo 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 recopiladores de datos sólo 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 base a 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 agreguer 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 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 dominios estarán vacíos (si no ha especificado dominios y valores predeterminados para este subtipo) o contendrá valores diferentes.

Obtenga más información sobre los subtipos

Temas relacionados

9/11/2013