# Acerca de los datos

## Campos

Un campo es un dato concreto, como el nombre, el cargo o el código postal de una persona. Se trata del análogo a una celda en una hoja de cálculo de Microsoft Excel.

<table><thead><tr><th width="149">Código</th><th width="190">Marca</th><th width="274">Modelo</th><th>Precio</th></tr></thead><tbody><tr><td>11SS</td><td>Sony</td><td>ST-SE370S</td><td>75,89</td></tr><tr><td>11T2</td><td>Sony</td><td>ST-SA3ESB</td><td>68,99</td></tr><tr><td>11T4</td><td>Sony</td><td>ST-SA3ESN</td><td>75,99</td></tr></tbody></table>

## Registros

Un registro es un conjunto de campos relacionados que, combinados, describen un producto u objeto. Por ejemplo, el registro para un `cliente` contendría los campos `nombre`, `dirección` y `teléfono`. Combinados, estos campos describen a un único cliente.

## Filas y columnas

Si se representase en forma de cuadrícula, o vista estilo hoja de cálculo, cada registro estaría representado por una fila en la tabla.&#x20;

<table><thead><tr><th width="149">Código</th><th width="190">Marca</th><th width="274">Modelo</th><th>Precio</th></tr></thead><tbody><tr><td><mark style="color:red;">11SS</mark></td><td><mark style="color:red;">Sony</mark></td><td><mark style="color:red;">ST-SE370S</mark></td><td><mark style="color:red;">75,89</mark></td></tr><tr><td>11T2</td><td>Sony</td><td>ST-SA3ESB</td><td>68,99</td></tr><tr><td>11T4</td><td>Sony</td><td>ST-SA3ESN</td><td>75,99</td></tr></tbody></table>

Una columna representa el conjunto de valores de un mismo campo, cada uno con el mismo tipo de información (es decir, todos los campos de la columna `dirección` contendrán información sobre direcciones, con el mismo formato).

<table><thead><tr><th width="149">Código</th><th width="190">Marca</th><th width="274">Modelo</th><th>Precio</th></tr></thead><tbody><tr><td>11SS</td><td>Sony</td><td><mark style="color:red;">ST-SE370S</mark></td><td>75,89</td></tr><tr><td>11T2</td><td>Sony</td><td><mark style="color:red;">ST-SA3ESB</mark></td><td>68,99</td></tr><tr><td>11T4</td><td>Sony</td><td><mark style="color:red;">ST-SA3ESN</mark></td><td>75,99</td></tr></tbody></table>

## Tipos de campo

Para cada campo que se importa a EasyCatalog se define un `tipo` que determina su aspecto al colocarse en el documento y cómo se comporta cuando se ordena, agrupa, etc. Los tipos de campo se asignan columna a columna, por lo que todos los campos de una misma columna compartirán el mismo tipo de información.

La mayoría de campos suele pertenecer a una de estas dos categorías, cada una con más o menos ajustes personalizados:

#### Campos alfanuméricos

Puede contener información tanto en formato texto (letras) como numérica. Se ordenará alfabéticamente, carácter por carácter (como en un diccionario).

<table><thead><tr><th width="149">Código</th><th width="190">Marca</th><th width="274">Modelo</th><th>Precio</th></tr></thead><tbody><tr><td><mark style="color:red;">11SS</mark></td><td><mark style="color:red;">Sony</mark></td><td><mark style="color:red;">ST-SE370S</mark></td><td>75,89</td></tr><tr><td><mark style="color:red;">11T2</mark></td><td><mark style="color:red;">Sony</mark></td><td><mark style="color:red;">ST-SA3ESB</mark></td><td>68,99</td></tr><tr><td><mark style="color:red;">11T4</mark></td><td><mark style="color:red;">Sony</mark></td><td><mark style="color:red;">ST-SA3ESN</mark></td><td>75,99</td></tr></tbody></table>

#### Campos numéricos

Sólo puede contener datos numéricos, aunque puede aplicarse un formato adicional para mostrar símbolos de moneda, separador de millares, separador de decimales, etc. Los campos numéricos se ordenan en función de su contenido numérico.

<table><thead><tr><th width="149">Código</th><th width="190">Marca</th><th width="274">Modelo</th><th>Precio</th></tr></thead><tbody><tr><td>11SS</td><td>Sony</td><td>ST-SE370S</td><td><mark style="color:red;">75,89</mark></td></tr><tr><td>11T2</td><td>Sony</td><td>ST-SA3ESB</td><td><mark style="color:red;">68,99</mark></td></tr><tr><td>11T4</td><td>Sony</td><td>ST-SA3ESN</td><td><mark style="color:red;">75,99</mark></td></tr></tbody></table>

## Campos clave

Para realizar el seguimiento de cada registro en su origen de datos, EasyCatalog necesita una forma de identificar de forma inequívoca cada registro. Para ello, utilizamos un `campo clave`.

{% hint style="danger" %}
La elección del campo clave es fundamental para el correcto funcionamiento de EasyCatalog. El `campo clave`se utiliza para identificar inequívocamente cada registro del origen de datos y **nunca se puede modificar**.
{% endhint %}

El contenido del `campo clave` debe identificar unívocamente cada registro y jamás debe modificarse durante la vida del registro. Ejemplos de campos clave son un `código de stock`, el `SKU`, el `ID`, el `código EAN`, el `número de serie`, etc.

<table><thead><tr><th width="149">Código</th><th width="190">Marca</th><th width="274">Modelo</th><th>Precio</th></tr></thead><tbody><tr><td><mark style="color:red;">11SS</mark></td><td>Sony</td><td>ST-SE370S</td><td>75,89</td></tr><tr><td><mark style="color:red;">11T2</mark></td><td>Sony</td><td>ST-SA3ESB</td><td>68,99</td></tr><tr><td><mark style="color:red;">11T4</mark></td><td>Sony</td><td>ST-SA3ESN</td><td>75,99</td></tr></tbody></table>

Si el valor del `campo` clave de un registro cambia, EasyCatalog concluirá que se ha eliminado el registro asociado —con el antiguo valor del campo— y que se ha creado uno nuevo —con el nuevo valor del campo clave—. Los campos colocados en el documento y vinculados al antiguo valor del campo clave se mostrarán en estado de [*error*](#user-content-fn-1)[^1].

Se puede escoger más de un campo como `campo clave`. En este caso, se utiliza la combinación del valor de todos los campos para determinar la singularidad de cada registro. Al igual que cuando se utiliza un único campo clave, el contenido de todos los campos clave debe permanecer constante durante toda la vida del registro.

{% hint style="info" %}
En ocasiones, cuando el mismo registro aparece más de una vez en los datos, es necesario seleccionar más de un campo para formar una clave única. En estos casos, es imprescindible identificar de forma inequívoca cada una de las instancias del mismo registro utilizando para ello la combinación del contenido de campos.
{% endhint %}

[^1]: El panel de datos muestra un cuadrado rojo por cada registro que contiene un error.
