-`AttrName AttrType` — [Columna de datos](external-dicts-dict-structure.md#ext_dict_structure-attributes). Puede haber un número múltiple de atributos.
La clave puede ser un `tuple` de cualquier tipo de campo. El [diseño](external-dicts-dict-layout.md) en este caso debe ser `complex_key_hashed` o `complex_key_cache`.
La estructura clave se establece en el elemento `<key>`. Los campos clave se especifican en el mismo formato que el diccionario [atributo](external-dicts-dict-structure.md). Ejemplo:
Para una consulta al `dictGet*` función, una tupla se pasa como la clave. Ejemplo: `dictGetString('dict_name', 'attr_name', tuple('string for field1', num_for_field2))`.
| `type` | Tipo de datos ClickHouse.<br/>ClickHouse intenta convertir el valor del diccionario al tipo de datos especificado. Por ejemplo, para MySQL, el campo podría ser `TEXT`, `VARCHAR`, o `BLOB` en la tabla fuente de MySQL, pero se puede cargar como `String` en ClickHouse.<br/>[NULL](../../../sql-reference/data-types/nullable.md) no es compatible. | Sí |
| `null_value` | Valor predeterminado para un elemento no existente.<br/>En el ejemplo, es una cadena vacía. No se puede utilizar `NULL` en este campo. | Sí |
| `expression` | [Expresion](../../syntax.md#syntax-expressions) que ClickHouse ejecuta en el valor.<br/>La expresión puede ser un nombre de columna en la base de datos SQL remota. Por lo tanto, puede usarlo para crear un alias para la columna remota.<br/><br/>Valor predeterminado: sin expresión. | No |
| <aname="hierarchical-dict-attr"></a>`hierarchical` | Si `true` el atributo contiene el valor de una clave primaria para la clave actual. Ver [Diccionarios jerárquicos](external-dicts-dict-hierarchical.md).<br/><br/>Valor predeterminado: `false`. | No |
| `injective` | Indicador que muestra si el `id -> attribute` la imagen es [inyectivo](https://en.wikipedia.org/wiki/Injective_function).<br/>Si `true`, ClickHouse puede colocar automáticamente después de la `GROUP BY` cláusula las solicitudes a los diccionarios con inyección. Por lo general, reduce significativamente la cantidad de tales solicitudes.<br/><br/>Valor predeterminado: `false`. | No |
| `is_object_id` | Indicador que muestra si la consulta se ejecuta para un documento MongoDB mediante `ObjectID`.<br/><br/>Valor predeterminado: `false`. | No |