> ## 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.

> إعدادات مفتاح القاموس وسماته

# سمات القاموس

<Tip>
  إذا كنت تستخدم قاموسًا مع ClickHouse Cloud، فيُرجى استخدام خيار DDL query لإنشاء قواميسك، وإنشاء قاموسك كمستخدم `default`.
  تحقّق أيضًا من قائمة مصادر القواميس المدعومة في [دليل التوافق مع Cloud](/ar/products/cloud/guides/cloud-compatibility).
</Tip>

توضح عبارة `structure` مفتاح القاموس والحقول المتاحة للاستعلامات.

وصف XML:

```xml theme={null}
<dictionary>
    <structure>
        <id>
            <name>Id</name>
        </id>

        <attribute>
            <!-- Attribute parameters -->
        </attribute>

        ...

    </structure>
</dictionary>
```

تُوصَف السمات في العناصر التالية:

* `<id>` — عمود المفتاح
* `<attribute>` — عمود البيانات: يمكن أن يوجد أكثر من سمة واحدة.

استعلام DDL:

```sql theme={null}
CREATE DICTIONARY dict_name (
    Id UInt64,
    -- attributes
)
PRIMARY KEY Id
...
```

تُوصَف السمات في نص الاستعلام:

* `PRIMARY KEY` — عمود المفتاح
* `AttrName AttrType` — عمود البيانات. يمكن أن تكون هناك عدة سمات.

<div id="key">
  ## المفتاح
</div>

يدعم ClickHouse الأنواع التالية من المفاتيح:

* مفتاح رقمي. `UInt64`. يُعرَّف في الوسم `<id>` أو باستخدام الكلمة المفتاحية `PRIMARY KEY`.
* مفتاح مركب. مجموعة من القيم من أنواع مختلفة. يُعرَّف في الوسم `<key>` أو باستخدام الكلمة المفتاحية `PRIMARY KEY`.

يمكن أن تحتوي بنية XML على `<id>` أو `<key>` فقط. ويجب أن يحتوي استعلام DDL على `PRIMARY KEY` واحد فقط.

<Note>
  يجب عدم وصف المفتاح على أنه سمة.
</Note>

<div id="numeric-key">
  ### المفتاح الرقمي
</div>

النوع: `UInt64`.

مثال على التهيئة:

```xml theme={null}
<id>
    <name>Id</name>
</id>
```

حقول الإعداد:

* `name` – اسم العمود الذي يحتوي على المفاتيح.

لاستعلام DDL:

```sql theme={null}
CREATE DICTIONARY (
    Id UInt64,
    ...
)
PRIMARY KEY Id
...
```

* `PRIMARY KEY` – اسم العمود الذي يتضمن المفاتيح.

<div id="composite-key">
  ### مفتاح مركب
</div>

يمكن أن يكون المفتاح `tuple` مكوَّنًا من حقول بأي أنواع. ويجب أن يكون [التخطيط](/ar/reference/statements/create/dictionary/layouts/overview) في هذه الحالة `complex_key_hashed` أو `complex_key_cache`.

<Tip>
  يمكن أن يتكوّن المفتاح المركب من عنصر واحد. وهذا يتيح، على سبيل المثال، استخدام سلسلة نصية كمفتاح.
</Tip>

يُحدَّد تركيب المفتاح في العنصر `<key>`. وتُحدَّد حقول المفتاح بالتنسيق نفسه المستخدم في [سمات](#attributes) القاموس. مثال:

```xml theme={null}
<structure>
    <key>
        <attribute>
            <name>field1</name>
            <type>String</type>
        </attribute>
        <attribute>
            <name>field2</name>
            <type>UInt32</type>
        </attribute>
        ...
    </key>
...
```

أو

```sql theme={null}
CREATE DICTIONARY (
    field1 String,
    field2 UInt32
    ...
)
PRIMARY KEY field1, field2
...
```

بالنسبة إلى استعلام للدالة `dictGet*`، تُمرَّر قيمة tuple كمفتاح. مثال: `dictGetString('dict_name', 'attr_name', tuple('string for field1', num_for_field2))`.

<div id="attributes">
  ## السمات
</div>

مثال على التهيئة:

```xml theme={null}
<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 theme={null}
CREATE DICTIONARY somename (
    Name ClickHouseDataType DEFAULT '' EXPRESSION rand64() HIERARCHICAL INJECTIVE IS_OBJECT_ID
)
```

حقول الإعداد:

| الوسم                                              | الوصف                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | مطلوب |
| -------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- |
| `name`                                             | اسم العمود.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | نعم   |
| `type`                                             | نوع بيانات ClickHouse: [UInt8](/ar/reference/data-types/int-uint)، [UInt16](/ar/reference/data-types/int-uint)، [UInt32](/ar/reference/data-types/int-uint)، [UInt64](/ar/reference/data-types/int-uint)، [Int8](/ar/reference/data-types/int-uint)، [Int16](/ar/reference/data-types/int-uint)، [Int32](/ar/reference/data-types/int-uint)، [Int64](/ar/reference/data-types/int-uint)، [Float32](/ar/reference/data-types/float)، [Float64](/ar/reference/data-types/float)، [UUID](/ar/reference/data-types/uuid)، [Decimal32](/ar/reference/data-types/decimal)، [Decimal64](/ar/reference/data-types/decimal)، [Decimal128](/ar/reference/data-types/decimal)، [Decimal256](/ar/reference/data-types/decimal)،[Date](/ar/reference/data-types/date)، [Date32](/ar/reference/data-types/date32)، [DateTime](/ar/reference/data-types/datetime)، [DateTime64](/ar/reference/data-types/datetime64)، [String](/ar/reference/data-types/string)، [Array](/ar/reference/data-types/array).<br />تحاول ClickHouse تحويل القيمة من القاموس إلى نوع البيانات المحدد. على سبيل المثال، في MySQL، قد يكون الحقل `TEXT` أو `VARCHAR` أو `BLOB` في جدول المصدر في MySQL، لكن يمكن تحميله في ClickHouse على أنه `String`.<br />يُدعَم [Nullable](/ar/reference/data-types/nullable) حاليًا في قواميس [Flat](/ar/reference/statements/create/dictionary/layouts/flat)، و[Hashed](/ar/reference/statements/create/dictionary/layouts/hashed)، و[ComplexKeyHashed](/ar/reference/statements/create/dictionary/layouts/hashed#complex_key_hashed)، و[Direct](/ar/reference/statements/create/dictionary/layouts/direct)، و[ComplexKeyDirect](/ar/reference/statements/create/dictionary/layouts/direct#complex_key_direct)، و[RangeHashed](/ar/reference/statements/create/dictionary/layouts/range-hashed)، وPolygon، و[Cache](/ar/reference/statements/create/dictionary/layouts/cache)، و[ComplexKeyCache](/ar/reference/statements/create/dictionary/layouts/cache)، و[SSDCache](/ar/reference/statements/create/dictionary/layouts/ssd-cache)، و[SSDComplexKeyCache](/ar/reference/statements/create/dictionary/layouts/ssd-cache#complex_key_ssd_cache). أمّا في قواميس [IPTrie](/ar/reference/statements/create/dictionary/layouts/ip-trie)، فلا تُدعَم أنواع `Nullable`. | نعم   |
| `null_value`                                       | القيمة الافتراضية لعنصر غير موجود.<br />في المثال، هي سلسلة نصية فارغة. لا يمكن استخدام قيمة [NULL](/ar/reference/syntax#null) إلا مع الأنواع `Nullable` (انظر السطر السابق لوصف الأنواع).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | نعم   |
| `expression`                                       | [تعبير](/ar/reference/syntax#expressions) تنفّذه ClickHouse على القيمة.<br />يمكن أن يكون التعبير اسم عمود في قاعدة بيانات SQL بعيدة. وبالتالي، يمكنك استخدامه لإنشاء اسم مستعار للعمود البعيد.<br /><br />القيمة الافتراضية: لا يوجد تعبير.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | لا    |
| <a name="hierarchical-dict-attr" /> `hierarchical` | إذا كانت القيمة `true`، فستحتوي السمة على قيمة المفتاح الأب للمفتاح الحالي. راجع [القواميس الهرمية](/ar/reference/statements/create/dictionary/layouts/hierarchical).<br /><br />القيمة الافتراضية: `false`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | لا    |
| `injective`                                        | علامة توضّح ما إذا كان التقابل `id -> attribute` [تقابلًا أحاديًا](https://en.wikipedia.org/wiki/Injective_function).<br />إذا كانت القيمة `true`، يمكن لـ ClickHouse تلقائيًا وضع طلبات القواميس ذات الخاصية الأحادية بعد العبارة `GROUP BY`. وعادةً ما يقلّل ذلك بشكل كبير عدد هذه الطلبات.<br /><br />القيمة الافتراضية: `false`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | لا    |
| `is_object_id`                                     | علامة توضّح ما إذا كان الاستعلام يُنفَّذ على مستند MongoDB باستخدام `ObjectID`.<br /><br />القيمة الافتراضية: `false`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |       |
