Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

القواميس الهرمية

القواميس الهرمية

تدعم ClickHouse القواميس الهرمية ذات مفتاح رقمي.

انظر إلى البنية الهرمية التالية:

0 (Common parent)

├── 1 (United States of America)
│   │
│   └── 2 (California)
│       │
│       └── 3 (San Francisco)

└── 4 (Great Britain)

    └── 5 (London)

يمكن تمثيل هذا التسلسل الهرمي بجدول القاموس التالي.

region_id parent_region region_name
1 0 الولايات المتحدة الأمريكية
2 1 كاليفورنيا
3 2 سان فرانسيسكو
4 0 بريطانيا العظمى
5 4 لندن

يحتوي هذا الجدول على عمود parent_region يتضمن مفتاح أقرب عنصر أب لهذا العنصر.

يدعم ClickHouse الخاصية الهرمية لسمات القواميس الخارجية. تتيح لك هذه الخاصية تهيئة القاموس الهرمي بطريقة مماثلة لما هو موضح أعلاه.

تتيح لك الدالة dictGetHierarchy الحصول على سلسلة العناصر الأب لعنصر معيّن. وتُرجع الدالة dictGetRoot السلف الأعلى فقط (الجذر) لعنصر معيّن.

في مثالنا، يمكن أن تكون بنية القاموس كما يلي:

CREATE DICTIONARY regions_dict
(
    region_id UInt64,
    parent_region UInt64 DEFAULT 0 HIERARCHICAL,
    region_name String DEFAULT ''
)
PRIMARY KEY region_id
SOURCE(...)
LAYOUT(HASHED())
LIFETIME(3600);

Navigation