> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentation sur la création et la configuration des dictionnaires

# CREATE DICTIONARY

export const CloudSupportedBadge = () => <div className="cloudBadge">
    <div className="cloudIcon">
      <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
        <path fillRule="evenodd" clipRule="evenodd" d="M5.33395 12.6667H12.3739C13.6593 12.6667 14.7073 11.6187 14.7073 10.3334C14.7073 9.04804 13.6593 8.00004 12.3739 8.00004H12.0839V7.33337C12.0839 5.12671 10.2906 3.33337 8.08395 3.33337C6.09928 3.33337 4.45395 4.78537 4.14195 6.68204C2.55728 6.76271 1.29395 8.06204 1.29395 9.66671C1.29395 11.3234 2.63728 12.6667 4.29395 12.6667H5.33395Z" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
      </svg>
    </div>
    {"Compatible avec ClickHouse Cloud"}
  </div>;

export const CloudNotSupportedBadge = () => {
  return <div className="cloudNotSupportedBadge">
            <div className="cloudNotSupportedIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.5" d="M6.33366 12.6666L12.3739 12.6667C13.6593 12.6667 14.7073 11.6187 14.7073 10.3334C14.7073 9.04804 13.6593 8.00003 12.3739 8.00003C12.3739 8.00003 12.3337 7.66659 12.0003 7.33325M10.667 5.33322C8.00033 2.33325 4.45395 4.78537 4.14195 6.68203C2.55728 6.7627 1.29395 8.06203 1.29395 9.6667C1.29395 11.3234 2.66699 12.6666 4.00033 12.6666" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.5" d="M2.66699 14L12.0003 4.66663" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>

        </div>
            Non pris en charge par ClickHouse Cloud
        </div>;
};

Un dictionnaire est une correspondance (`key -> attributes`) pratique pour différents types de listes de référence.
ClickHouse prend en charge des fonctions spéciales pour utiliser les dictionnaires dans les requêtes. Il est plus simple et plus efficace d’utiliser des dictionnaires avec ces fonctions que d’effectuer un `JOIN` avec des tables de référence.

Les dictionnaires peuvent être créés de deux façons :

* [Avec une requête DDL](#creating-a-dictionary-with-a-ddl-query) (recommandé)
* [Avec un fichier de configuration](#creating-a-dictionary-with-a-configuration-file)

<div id="creating-a-dictionary-with-a-ddl-query">
  ## Création d’un dictionnaire avec une requête DDL
</div>

<CloudSupportedBadge />

Les dictionnaires peuvent être créés à l’aide de requêtes DDL.
Il s’agit de la méthode recommandée, car avec les dictionnaires créés via DDL :

* Aucun enregistrement supplémentaire n’est ajouté aux fichiers de configuration du serveur.
* Les dictionnaires peuvent être utilisés comme des entités à part entière, telles que des tables ou des vues.
* Les données peuvent être lues directement, en utilisant la syntaxe `SELECT` habituelle plutôt que des fonctions de table de dictionnaire. Notez que, lors d’un accès direct à un dictionnaire via une instruction `SELECT`, un dictionnaire mis en cache ne renvoie que les données en cache, tandis qu’un dictionnaire non mis en cache renvoie toutes les données qu’il stocke.
* Les dictionnaires peuvent être renommés facilement.

<div id="syntax">
  ### Syntaxe
</div>

```sql theme={null}
CREATE [OR REPLACE] DICTIONARY [IF NOT EXISTS] [db.]dictionary_name [ON CLUSTER cluster]
(
    key1  type1  [DEFAULT | EXPRESSION expr1] [IS_OBJECT_ID],
    key2  type2  [DEFAULT | EXPRESSION expr2],
    attr1 type2  [DEFAULT | EXPRESSION expr3] [HIERARCHICAL|INJECTIVE],
    attr2 type2  [DEFAULT | EXPRESSION expr4] [HIERARCHICAL|INJECTIVE]
)
PRIMARY KEY key1, key2
SOURCE(SOURCE_NAME([param1 value1 ... paramN valueN]))
LAYOUT(LAYOUT_NAME([param_name param_value]))
LIFETIME({MIN min_val MAX max_val | max_val})
SETTINGS(setting_name = setting_value, setting_name = setting_value, ...)
COMMENT 'Comment'
```

| Clause                                                                  | Description                                                                                                                                                                                    |
| ----------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Attributs](/fr/reference/statements/create/dictionary/attributes)      | Les attributs du dictionnaire sont définis de manière similaire aux colonnes d'une table. La seule propriété obligatoire est le type ; toutes les autres peuvent avoir des valeurs par défaut. |
| PRIMARY KEY                                                             | Définit la ou les colonnes clés pour les recherches dans le dictionnaire. Selon le layout, un ou plusieurs attributs peuvent être définis comme clés.                                          |
| [`SOURCE`](/fr/reference/statements/create/dictionary/sources/overview) | Définit la source de données du dictionnaire (par ex. table ClickHouse, HTTP, PostgreSQL).                                                                                                     |
| [`LAYOUT`](/fr/reference/statements/create/dictionary/layouts/overview) | Contrôle la façon dont le dictionnaire est stocké en mémoire (par ex. `FLAT`, `HASHED`, `CACHE`).                                                                                              |
| [`LIFETIME`](/fr/reference/statements/create/dictionary/lifetime)       | Définit l'intervalle de rafraîchissement du dictionnaire.                                                                                                                                      |
| [`ON CLUSTER`](/fr/reference/statements/distributed-ddl)                | Crée le dictionnaire sur un cluster. Facultatif.                                                                                                                                               |
| `SETTINGS`                                                              | Paramètres supplémentaires du dictionnaire. Facultatif.                                                                                                                                        |
| `COMMENT`                                                               | Ajoute un commentaire au dictionnaire. Facultatif.                                                                                                                                             |

<div id="creating-a-dictionary-with-a-configuration-file">
  ## Créer un dictionnaire avec un fichier de configuration
</div>

<Note>
  La création d’un dictionnaire avec un fichier de configuration n’est pas prise en charge dans ClickHouse Cloud. Veuillez utiliser le DDL (voir ci-dessus) et créer votre dictionnaire en tant qu’utilisateur `default`.
</Note>

Le fichier de configuration du dictionnaire se présente au format suivant :

```xml theme={null}
<clickhouse>
    <comment>An optional element with any content. Ignored by the ClickHouse server.</comment>

    <!--Optional element. File name with substitutions-->
    <include_from>/etc/metrika.xml</include_from>

    <dictionary>
        <!-- Dictionary configuration. -->
        <!-- There can be any number of dictionary sections in a configuration file. -->
    </dictionary>

</clickhouse>
```

Vous pouvez configurer autant de dictionnaires que vous le souhaitez dans le même fichier.

<div id="related-content">
  ## Contenu connexe
</div>

* [layout](/fr/reference/statements/create/dictionary/layouts/overview) — Comment les dictionnaires sont stockés en mémoire
* [Sources](/fr/reference/statements/create/dictionary/sources/overview) — Connexion aux sources de données
* [Durée de vie](/fr/reference/statements/create/dictionary/lifetime) — Configuration de l’actualisation automatique
* [Attributs](/fr/reference/statements/create/dictionary/attributes) — Configuration des clés et des attributs
* [Dictionnaires intégrés](/fr/reference/statements/create/dictionary/embedded) — Dictionnaires geobase intégrés
* [system.dictionaries](/fr/reference/system-tables/dictionaries) — Table système contenant des informations sur les dictionnaires
