کلید می تواند یک `tuple` از هر نوع زمینه. این [طرحبندی](external-dicts-dict-layout.md) در این مورد باید باشد `complex_key_hashed` یا `complex_key_cache`.
برای پرس و جو به `dictGet*` تابع, یک تاپل به عنوان کلید به تصویب رسید. مثال: `dictGetString('dict_name', 'attr_name', tuple('string for field1', num_for_field2))`.
## خصیصهها {#ext_dict_structure-attributes}
مثال پیکربندی:
``` xml
<structure>
...
<attribute>
<name>Name</name>
<type>ClickHouseDataType</type>
<null_value></null_value>
<expression>rand64()</expression>
<hierarchical>true</hierarchical>
<injective>true</injective>
<is_object_id>true</is_object_id>
</attribute>
</structure>
```
یا
``` sql
CREATE DICTIONARY somename (
Name ClickHouseDataType DEFAULT '' EXPRESSION rand64() HIERARCHICAL INJECTIVE IS_OBJECT_ID
| `type` | نوع داده کلیک.<br/>تاتر تلاش می کند به بازیگران ارزش از فرهنگ لغت به نوع داده مشخص شده است. مثلا, برای خروجی زیر, زمینه ممکن است `TEXT`, `VARCHAR` یا `BLOB` در جدول منبع خروجی زیر, اما می تواند به عنوان ارسال `String` در فاحشه خانه.<br/>[Nullable](../../../sql-reference/data-types/nullable.md) پشتیبانی نمی شود. | بله |
| `null_value` | مقدار پیش فرض برای یک عنصر غیر موجود.<br/>در مثال این یک رشته خالی است. شما نمی توانید استفاده کنید `NULL` در این زمینه. | بله |
| `expression` | [عبارت](../../syntax.md#syntax-expressions) که فاحشه خانه اجرا در ارزش.<br/>بیان می تواند یک نام ستون در پایگاه داده از راه دور گذاشتن. بدین ترتیب, شما می توانید برای ایجاد یک نام مستعار برای ستون از راه دور استفاده.<br/><br/>مقدار پیش فرض: بدون بیان. | نه |
| <aname="hierarchical-dict-attr"></a>`hierarchical` | اگر `true`, ویژگی شامل ارزش یک کلید پدر و مادر برای کلید فعلی. ببینید [لغتنامهها سلسله مراتبی](external-dicts-dict-hierarchical.md).<br/><br/>مقدار پیشفرض: `false`. | نه |
| `injective` | پرچمی که نشان میدهد چه `id -> attribute` تصویر [تزریق](https://en.wikipedia.org/wiki/Injective_function).<br/>اگر `true`, کلیک خانه به طور خودکار می تواند پس از محل `GROUP BY` بند درخواست به لغت نامه با تزریق. معمولا به طور قابل توجهی میزان چنین درخواست را کاهش می دهد.<br/><br/>مقدار پیشفرض: `false`. | نه |
| `is_object_id` | پرچمی که نشان میدهد پرسوجو برای سند مانگودیبی اجرا شده است `ObjectID`.<br/><br/>مقدار پیشفرض: `false`. | نه |