ClickHouse/docs/fa/sql-reference/dictionaries/external-dictionaries/external-dicts-dict-structure.md
Ivan Blinkov cd14f9ebcb
SQL reference refactoring (#10857)
* split up select.md

* array-join.md basic refactoring

* distinct.md basic refactoring

* format.md basic refactoring

* from.md basic refactoring

* group-by.md basic refactoring

* having.md basic refactoring

* additional index.md refactoring

* into-outfile.md basic refactoring

* join.md basic refactoring

* limit.md basic refactoring

* limit-by.md basic refactoring

* order-by.md basic refactoring

* prewhere.md basic refactoring

* adjust operators/index.md links

* adjust sample.md links

* adjust more links

* adjust operatots links

* fix some links

* adjust aggregate function article titles

* basic refactor of remaining select clauses

* absolute paths in make_links.sh

* run make_links.sh

* remove old select.md locations

* translate docs/es

* translate docs/fr

* translate docs/fa

* remove old operators.md location

* change operators.md links

* adjust links in docs/es

* adjust links in docs/es

* minor texts adjustments

* wip

* update machine translations to use new links

* fix changelog

* es build fixes

* get rid of some select.md links

* temporary adjust ru links

* temporary adjust more ru links

* improve curly brace handling

* adjust ru as well

* fa build fix

* ru link fixes

* zh link fixes

* temporary disable part of anchor checks
2020-05-15 07:34:54 +03:00

8.7 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true 72537a2d52 44 کلید فرهنگ لغت و زمینه های

کلید فرهنگ لغت و زمینه های

این <structure> بند توصیف کلید فرهنگ لغت و زمینه های موجود برای نمایش داده شد.

توصیف:

<dictionary>
    <structure>
        <id>
            <name>Id</name>
        </id>

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

        ...

    </structure>
</dictionary>

صفات در عناصر شرح داده شده است:

پرسوجو:

CREATE DICTIONARY dict_name (
    Id UInt64,
    -- attributes
)
PRIMARY KEY Id
...

صفات در بدن پرس و جو توصیف:

کلید

تاتر از انواع زیر از کلید:

  • کلید عددی. UInt64. تعریف شده در <id> برچسب یا استفاده PRIMARY KEY کلمه کلیدی.
  • کلید کامپوزیت. مجموعه ای از مقادیر از انواع مختلف. تعریف شده در برچسب <key> یا PRIMARY KEY کلمه کلیدی.

یک ساختار میلی لیتر می تواند شامل موارد زیر باشد <id> یا <key>. دی ال پرس و جو باید شامل تک PRIMARY KEY.

!!! warning "اخطار" شما باید کلید به عنوان یک ویژگی توصیف نیست.

کلید عددی

نوع: UInt64.

مثال پیکربندی:

<id>
    <name>Id</name>
</id>

حوزههای پیکربندی:

  • name The name of the column with keys.

برای & پرسوجو:

CREATE DICTIONARY (
    Id UInt64,
    ...
)
PRIMARY KEY Id
...
  • PRIMARY KEY The name of the column with keys.

کلید کامپوزیت

کلید می تواند یک tuple از هر نوع زمینه. این طرحبندی در این مورد باید باشد complex_key_hashed یا complex_key_cache.

!!! tip "نکته" کلید کامپوزیت می تواند از یک عنصر واحد تشکیل شده است. این امکان استفاده از یک رشته به عنوان کلید, برای مثال.

ساختار کلیدی در عنصر تنظیم شده است <key>. زمینه های کلیدی در قالب همان فرهنگ لغت مشخص شده است خصیصهها. مثال:

<structure>
    <key>
        <attribute>
            <name>field1</name>
            <type>String</type>
        </attribute>
        <attribute>
            <name>field2</name>
            <type>UInt32</type>
        </attribute>
        ...
    </key>
...

یا

CREATE DICTIONARY (
    field1 String,
    field2 String
    ...
)
PRIMARY KEY field1, field2
...

برای پرس و جو به dictGet* تابع, یک تاپل به عنوان کلید به تصویب رسید. مثال: dictGetString('dict_name', 'attr_name', tuple('string for field1', num_for_field2)).

خصیصهها

مثال پیکربندی:

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

یا

CREATE DICTIONARY somename (
    Name ClickHouseDataType DEFAULT '' EXPRESSION rand64() HIERARCHICAL INJECTIVE IS_OBJECT_ID
)

حوزههای پیکربندی:

برچسب توصیف مورد نیاز
name نام ستون. بله
type نوع داده کلیک.
تاتر تلاش می کند به بازیگران ارزش از فرهنگ لغت به نوع داده مشخص شده است. مثلا, برای خروجی زیر, زمینه ممکن است TEXT, VARCHAR یا BLOB در جدول منبع خروجی زیر, اما می تواند به عنوان ارسال String در فاحشه خانه.
Nullable پشتیبانی نمی شود.
بله
null_value مقدار پیش فرض برای یک عنصر غیر موجود.
در مثال این یک رشته خالی است. شما نمی توانید استفاده کنید NULL در این زمینه.
بله
expression عبارت که فاحشه خانه اجرا در ارزش.
بیان می تواند یک نام ستون در پایگاه داده از راه دور گذاشتن. بدین ترتیب, شما می توانید برای ایجاد یک نام مستعار برای ستون از راه دور استفاده.

مقدار پیش فرض: بدون بیان.
نه
hierarchical اگر true, ویژگی شامل ارزش یک کلید پدر و مادر برای کلید فعلی. ببینید لغتنامهها سلسله مراتبی.

مقدار پیشفرض: false.
نه
injective پرچمی که نشان میدهد چه id -> attribute تصویر تزریق.
اگر true, کلیک خانه به طور خودکار می تواند پس از محل GROUP BY بند درخواست به لغت نامه با تزریق. معمولا به طور قابل توجهی میزان چنین درخواست را کاهش می دهد.

مقدار پیشفرض: false.
نه
is_object_id پرچمی که نشان میدهد پرسوجو برای سند مانگودیبی اجرا شده است ObjectID.

مقدار پیشفرض: false.
نه

همچنین نگاه کنید به

مقاله اصلی