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 hace teniendo campos correspondientes en dos o más tablas. Por ejemplo, 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:

Id. de almacén
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 y en el mismo tipo de datos. 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 añadir campos a una tabla existente, defina qué tipo de datos se utilizarán para almacenar los datos en cada campo. En algunos casos, especifique también la longitud del campo.

Nombres de campo

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á rellenada con un campo Id. de objeto y un campo Forma. El campo Id de objeto contiene el número de Id. único para cada objeto en la clase de entidad. El campo 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 tienen un límite de 31 caracteres (30 caracteres en las geodatabases de Oracle y DB2; dBASE tiene un límite de 10 caracteres).

Tal y como se menciona en la sección de nombres de tabla, ciertos nombres de campo aparecen en ArcGIS con sus nombres completos 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 ha rellenado y, a continuación, ha decidido que SUFX no resulta útil, podría utilizar un alias de campo para que los usuarios vean Tipo de calle en lugar de ST_SUFX.

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. Vea 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. 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. Aun cuando los equipos de recogida 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: 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. 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:

Siga estos pasos para aplicar los subtipos:

  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 de código 1, podría añadir un código 2 con un nombre de cuenca hidrográfica correspondiente en el campo Descripción, a continuación, debajo añada 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.

Más información sobre los subtipos

Temas relacionados


3/6/2012