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

> قاعدة بيانات نظام توفّر عرضًا شبه موحّد وغير معتمد على نظام إدارة قواعد البيانات لبيانات التعريف الخاصة بكائنات قاعدة البيانات.

# INFORMATION_SCHEMA

تُعد `INFORMATION_SCHEMA` (أو: `information_schema`) قاعدة بيانات نظام توفّر [عرضًا غير معتمد على نظام إدارة قواعد البيانات](https://en.wikipedia.org/wiki/Information_schema) وموحّدًا إلى حدٍّ ما لبيانات التعريف الخاصة بكائنات قاعدة البيانات. وتُعد طرق العرض في `INFORMATION_SCHEMA` عمومًا أقل من جداول النظام العادية، لكن يمكن للأدوات استخدامها للحصول على معلومات أساسية بطريقة موحّدة عبر مختلف أنظمة إدارة قواعد البيانات. ومن المفترض أن تتطور بنية طرق العرض ومحتواها في `INFORMATION_SCHEMA` بطريقة متوافقة مع الإصدارات السابقة، أي لا تُضاف إلا وظائف جديدة، من دون تغيير الوظائف الحالية أو إزالتها. ومن ناحية التنفيذ الداخلي، تُطابِق طرق العرض في `INFORMATION_SCHEMA` عادةً جداول نظام عادية مثل [system.columns](/ar/reference/system-tables/columns) و[system.databases](/ar/reference/system-tables/databases) و[system.tables](/ar/reference/system-tables/tables).

```sql theme={null}
SHOW TABLES FROM INFORMATION_SCHEMA;

-- or:
SHOW TABLES FROM information_schema;
```

```text theme={null}
┌─name────────────────────┐
│ COLUMNS                 │
│ KEY_COLUMN_USAGE        │
│ REFERENTIAL_CONSTRAINTS │
│ SCHEMATA                │
| STATISTICS              |
│ TABLES                  │
│ VIEWS                   │
│ columns                 │
│ key_column_usage        │
│ referential_constraints │
│ schemata                │
| statistics              |
│ tables                  │
│ views                   │
└─────────────────────────┘
```

يحتوي `INFORMATION_SCHEMA` على طرق العرض التالية:

* [COLUMNS](#columns)
* [KEY\_COLUMN\_USAGE](#key_column_usage)
* [REFERENTIAL\_CONSTRAINTS](#referential_constraints)
* [SCHEMATA](#schemata)
* [STATISTICS](#statistics)
* [TABLES](#tables)
* [VIEWS](#views)

تتوفر أيضًا طرق عرض مكافئة غير حساسة لحالة الأحرف، مثل `INFORMATION_SCHEMA.columns`، وذلك لأسباب تتعلق بالتوافق مع قواعد البيانات الأخرى. وينطبق الأمر نفسه على جميع الأعمدة في طرق العرض هذه، إذ تتوفر كل من الصيغ المكتوبة بأحرف صغيرة (على سبيل المثال، `table_name`) والصيغ المكتوبة بأحرف كبيرة (`TABLE_NAME`).

<div id="columns">
  ## COLUMNS
</div>

يحتوي على أعمدة مأخوذة من جدول النظام [system.columns](/ar/reference/system-tables/columns)، وأعمدة غير مدعومة في ClickHouse أو لا معنى لها (وتكون دائمًا `NULL`)، لكنها مطلوبة وفقًا للمعيار.

الأعمدة:

* `table_catalog` ([String](/ar/reference/data-types/string)) — غير مستخدم حاليًا.
* `table_schema` ([String](/ar/reference/data-types/string)) — غير مستخدم حاليًا.
* `table_name` ([String](/ar/reference/data-types/string)) — غير مستخدم حاليًا.
* `non_unique` ([Int32](/ar/reference/data-types/int-uint)) — غير مستخدم حاليًا.
* `index_schema` ([String](/ar/reference/data-types/string)) — غير مستخدم حاليًا.
* `index_name` ([Nullable](/ar/reference/data-types/nullable)([String](/ar/reference/data-types/string))) — غير مستخدم حاليًا.
* `seq_in_index` ([UInt32](/ar/reference/data-types/int-uint)) — غير مستخدم حاليًا.
* `column_name` ([Nullable](/ar/reference/data-types/nullable)([String](/ar/reference/data-types/string))) — غير مستخدم حاليًا.
* `collation` ([Nullable](/ar/reference/data-types/nullable)([String](/ar/reference/data-types/string))) — غير مستخدم حاليًا.
* `cardinality` ([Nullable](/ar/reference/data-types/nullable)([Int64](/ar/reference/data-types/int-uint))) — غير مستخدم حاليًا.
* `sub_part` ([Nullable](/ar/reference/data-types/nullable)([Int64](/ar/reference/data-types/int-uint))) — غير مستخدم حاليًا.
* `packed` ([Nullable](/ar/reference/data-types/nullable)([String](/ar/reference/data-types/string))) — غير مستخدم حاليًا.
* `nullable` ([String](/ar/reference/data-types/string)) — غير مستخدم حاليًا.
* `index_type` ([String](/ar/reference/data-types/string)) — غير مستخدم حاليًا.
* `comment` ([String](/ar/reference/data-types/string)) — غير مستخدم حاليًا.
* `index_comment` ([String](/ar/reference/data-types/string)) — غير مستخدم حاليًا.
* `is_visible` ([String](/ar/reference/data-types/string)) — غير مستخدم حاليًا.
* `expression` ([Nullable](/ar/reference/data-types/nullable)([String](/ar/reference/data-types/string))) — غير مستخدم حاليًا.

**مثال**

```sql title="Query" theme={null}
SELECT table_catalog,
       table_schema,
       table_name,
       column_name,
       ordinal_position,
       column_default,
       is_nullable,
       data_type,
       character_maximum_length,
       character_octet_length,
       numeric_precision,
       numeric_precision_radix,
       numeric_scale,
       datetime_precision,
       character_set_catalog,
       character_set_schema,
       character_set_name,
       collation_catalog,
       collation_schema,
       collation_name,
       domain_catalog,
       domain_schema,
       domain_name,
       column_comment,
       column_type
FROM INFORMATION_SCHEMA.COLUMNS
WHERE (table_schema = currentDatabase() OR table_schema = '')
  AND table_name NOT LIKE '%inner%' 
LIMIT 1 
FORMAT Vertical;
```

```text title="Response" theme={null}
Row 1:
──────
table_catalog:            default
table_schema:             default
table_name:               describe_example
column_name:              id
ordinal_position:         1
column_default:
is_nullable:              0
data_type:                UInt64
character_maximum_length: ᴺᵁᴸᴸ
character_octet_length:   ᴺᵁᴸᴸ
numeric_precision:        64
numeric_precision_radix:  2
numeric_scale:            0
datetime_precision:       ᴺᵁᴸᴸ
character_set_catalog:    ᴺᵁᴸᴸ
character_set_schema:     ᴺᵁᴸᴸ
character_set_name:       ᴺᵁᴸᴸ
collation_catalog:        ᴺᵁᴸᴸ
collation_schema:         ᴺᵁᴸᴸ
collation_name:           ᴺᵁᴸᴸ
domain_catalog:           ᴺᵁᴸᴸ
domain_schema:            ᴺᵁᴸᴸ
domain_name:              ᴺᵁᴸᴸ
```

<div id="schemata">
  ## SCHEMATA
</div>

يحتوي على أعمدة مستمدة من جدول النظام [system.databases](/ar/reference/system-tables/databases)، وأعمدة غير مدعومة في ClickHouse أو لا معنى لها (وتكون دائمًا `NULL`)، لكن يجب أن تكون موجودة وفقًا للمعيار.

الأعمدة:

* `catalog_name` ([String](/ar/reference/data-types/string)) — اسم قاعدة البيانات.
* `schema_name` ([String](/ar/reference/data-types/string)) — اسم قاعدة البيانات.
* `schema_owner` ([String](/ar/reference/data-types/string)) — اسم مالك المخطط، ويكون دائمًا `'default'`.
* `default_character_set_catalog` ([Nullable](/ar/reference/data-types/nullable)([String](/ar/reference/data-types/string))) — `NULL`، غير مدعوم.
* `default_character_set_schema` ([Nullable](/ar/reference/data-types/nullable)([String](/ar/reference/data-types/string))) — `NULL`، غير مدعوم.
* `default_character_set_name` ([Nullable](/ar/reference/data-types/nullable)([String](/ar/reference/data-types/string))) — `NULL`، غير مدعوم.
* `sql_path` ([Nullable](/ar/reference/data-types/nullable)([String](/ar/reference/data-types/string))) — `NULL`، غير مدعوم.

**مثال**

```sql title="Query" theme={null}
SELECT catalog_name,
       schema_name,
       schema_owner,
       default_character_set_catalog,
       default_character_set_schema,
       default_character_set_name,
       sql_path
FROM information_schema.schemata
WHERE schema_name ILIKE 'information_schema' 
LIMIT 1 
FORMAT Vertical;
```

```text title="Response" theme={null}
Row 1:
──────
catalog_name:                  INFORMATION_SCHEMA
schema_name:                   INFORMATION_SCHEMA
schema_owner:                  default
default_character_set_catalog: ᴺᵁᴸᴸ
default_character_set_schema:  ᴺᵁᴸᴸ
default_character_set_name:    ᴺᵁᴸᴸ
sql_path:                      ᴺᵁᴸᴸ
```

<div id="tables">
  ## TABLES
</div>

يتضمن الأعمدة المقروءة من جدول النظام [system.tables](/ar/reference/system-tables/tables).

الأعمدة:

* `table_catalog` ([String](/ar/reference/data-types/string)) — اسم قاعدة البيانات التي يقع فيها الجدول.
* `table_schema` ([String](/ar/reference/data-types/string)) — اسم قاعدة البيانات التي يقع فيها الجدول.
* `table_name` ([String](/ar/reference/data-types/string)) — اسم الجدول.
* `table_type` ([String](/ar/reference/data-types/string)) — نوع الجدول. القيم الممكنة:
  * `BASE TABLE`
  * `VIEW`
  * `FOREIGN TABLE`
  * `LOCAL TEMPORARY`
  * `SYSTEM VIEW`
* `table_rows` ([Nullable](/ar/reference/data-types/nullable)([UInt64](/ar/reference/data-types/int-uint))) — العدد الإجمالي للصفوف. تكون `NULL` إذا تعذر تحديده.
* `data_length` ([Nullable](/ar/reference/data-types/nullable)([UInt64](/ar/reference/data-types/int-uint))) — حجم البيانات على القرص. تكون `NULL` إذا تعذر تحديده.
* `index_length` ([Nullable](/ar/reference/data-types/nullable)([UInt64](/ar/reference/data-types/int-uint))) — الحجم الإجمالي للمفتاح الأساسي، والفهارس الثانوية، وجميع العلامات.
* `table_collation` ([Nullable](/ar/reference/data-types/nullable)([String](/ar/reference/data-types/string))) — قاعدة الترتيب الافتراضية للجدول. وتكون دائمًا `utf8mb4_0900_ai_ci`.
* `table_comment` ([Nullable](/ar/reference/data-types/nullable)([String](/ar/reference/data-types/string))) — التعليق المستخدم عند إنشاء الجدول.

**مثال**

```sql title="Query" theme={null}
SELECT table_catalog, 
       table_schema, 
       table_name, 
       table_type, 
       table_collation, 
       table_comment
FROM INFORMATION_SCHEMA.TABLES
WHERE (table_schema = currentDatabase() OR table_schema = '')
  AND table_name NOT LIKE '%inner%'
LIMIT 1 
FORMAT Vertical;
```

```text title="Response" theme={null}
Row 1:
──────
table_catalog:   default
table_schema:    default
table_name:      describe_example
table_type:      BASE TABLE
table_collation: utf8mb4_0900_ai_ci
table_comment:   
```

<div id="views">
  ## VIEWS
</div>

يتضمن أعمدة مأخوذة من جدول النظام [system.tables](/ar/reference/system-tables/tables) عند استخدام محرك الجدول [View](/ar/reference/engines/table-engines/special/view).

الأعمدة:

* `table_catalog` ([String](/ar/reference/data-types/string)) — اسم قاعدة البيانات التي يوجد فيها الجدول.
* `table_schema` ([String](/ar/reference/data-types/string)) — اسم قاعدة البيانات التي يوجد فيها الجدول.
* `table_name` ([String](/ar/reference/data-types/string)) — اسم الجدول.
* `view_definition` ([String](/ar/reference/data-types/string)) — استعلام `SELECT` الخاص بطريقة العرض.
* `check_option` ([String](/ar/reference/data-types/string)) — `NONE`، بدون تحقّق.
* `is_updatable` ([Enum8](/ar/reference/data-types/enum)) — `NO`، طريقة العرض غير قابلة للتحديث.
* `is_insertable_into` ([Enum8](/ar/reference/data-types/enum)) — يوضّح ما إذا كانت طريقة العرض المُنشأة [مُجسَّدة](/ar/reference/statements/create/view#materialized-view). القيم الممكنة:
  * `NO` — طريقة العرض المُنشأة غير مُجسَّدة.
  * `YES` — طريقة العرض المُنشأة مُجسَّدة.
* `is_trigger_updatable` ([Enum8](/ar/reference/data-types/enum)) — `NO`، المُشغِّل غير قابل للتحديث.
* `is_trigger_deletable` ([Enum8](/ar/reference/data-types/enum)) — `NO`، لا يمكن حذف المُشغِّل.
* `is_trigger_insertable_into` ([Enum8](/ar/reference/data-types/enum)) — `NO`، لا يتم إدراج أي بيانات في المُشغِّل.

**مثال**

```sql title="Query" theme={null}
CREATE VIEW v (n Nullable(Int32), f Float64) AS SELECT n, f FROM t;
CREATE MATERIALIZED VIEW mv ENGINE = Null AS SELECT * FROM system.one;
SELECT table_catalog,
       table_schema,
       table_name,
       view_definition,
       check_option,
       is_updatable,
       is_insertable_into,
       is_trigger_updatable,
       is_trigger_deletable,
       is_trigger_insertable_into
FROM information_schema.views
WHERE table_schema = currentDatabase() 
LIMIT 1
FORMAT Vertical;
```

```text title="Response" theme={null}
Row 1:
──────
table_catalog:              default
table_schema:               default
table_name:                 mv
view_definition:            SELECT * FROM system.one
check_option:               NONE
is_updatable:               NO
is_insertable_into:         YES
is_trigger_updatable:       NO
is_trigger_deletable:       NO
is_trigger_insertable_into: NO
```

<div id="key_column_usage">
  ## KEY\_COLUMN\_USAGE
</div>

يحتوي على أعمدة من جدول النظام [system.tables](/ar/reference/system-tables/tables) المقيّدة بقيود.

الأعمدة:

* `constraint_catalog` ([String](/ar/reference/data-types/string)) — غير مستخدم حاليًا. تكون القيمة دائمًا `def`.
* `constraint_schema` ([String](/ar/reference/data-types/string)) — اسم المخطط (قاعدة البيانات) الذي ينتمي إليه القيد.
* `constraint_name` ([Nullable](/ar/reference/data-types/nullable)([String](/ar/reference/data-types/string))) — اسم القيد.
* `table_catalog` ([String](/ar/reference/data-types/string)) — غير مستخدم حاليًا. تكون القيمة دائمًا `def`.
* `table_schema` ([String](/ar/reference/data-types/string)) — اسم المخطط (قاعدة البيانات) الذي ينتمي إليه الجدول.
* `table_name` ([String](/ar/reference/data-types/string)) — اسم الجدول الذي يوجد عليه القيد.
* `column_name` ([Nullable](/ar/reference/data-types/nullable)([String](/ar/reference/data-types/string))) — اسم العمود الذي يوجد عليه القيد.
* `ordinal_position` ([UInt32](/ar/reference/data-types/int-uint)) — غير مستخدم حاليًا. تكون القيمة دائمًا `1`.
* `position_in_unique_constraint` ([Nullable](/ar/reference/data-types/nullable)([UInt32](/ar/reference/data-types/int-uint))) — غير مستخدم حاليًا. تكون القيمة دائمًا `NULL`.
* `referenced_table_schema` ([Nullable](/ar/reference/data-types/nullable)([String](/ar/reference/data-types/string))) — غير مستخدم حاليًا. تكون القيمة دائمًا `NULL`.
* `referenced_table_name` ([Nullable](/ar/reference/data-types/nullable)([String](/ar/reference/data-types/string))) — غير مستخدم حاليًا. تكون القيمة دائمًا `NULL`.
* `referenced_column_name` ([Nullable](/ar/reference/data-types/nullable)([String](/ar/reference/data-types/string))) — غير مستخدم حاليًا. تكون القيمة دائمًا `NULL`.

**مثال**

```sql title="Query" theme={null}
CREATE TABLE test (i UInt32, s String) ENGINE MergeTree ORDER BY i;
SELECT constraint_catalog,
       constraint_schema,
       constraint_name,
       table_catalog,
       table_schema,
       table_name,
       column_name,
       ordinal_position,
       position_in_unique_constraint,
       referenced_table_schema,
       referenced_table_name,
       referenced_column_name
FROM information_schema.key_column_usage 
WHERE table_name = 'test' 
FORMAT Vertical;
```

```response title="Response" theme={null}
Row 1:
──────
constraint_catalog:            def
constraint_schema:             default
constraint_name:               PRIMARY
table_catalog:                 def
table_schema:                  default
table_name:                    test
column_name:                   i
ordinal_position:              1
position_in_unique_constraint: ᴺᵁᴸᴸ
referenced_table_schema:       ᴺᵁᴸᴸ
referenced_table_name:         ᴺᵁᴸᴸ
referenced_column_name:        ᴺᵁᴸᴸ
```

<div id="referential_constraints">
  ## REFERENTIAL\_CONSTRAINTS
</div>

يتضمن معلومات عن المفاتيح الخارجية. ويُرجِع حاليًا نتيجة فارغة (من دون أي صفوف)، وهذا يكفي فقط لضمان التوافق مع أدوات الجهات الخارجية مثل Tableau Online.

الأعمدة:

* `constraint_catalog` ([String](/ar/reference/data-types/string)) — غير مستخدم حاليًا.
* `constraint_schema` ([String](/ar/reference/data-types/string)) — غير مستخدم حاليًا.
* `constraint_name` ([Nullable](/ar/reference/data-types/nullable)([String](/ar/reference/data-types/string))) — غير مستخدم حاليًا.
* `unique_constraint_catalog` ([String](/ar/reference/data-types/string)) — غير مستخدم حاليًا.
* `unique_constraint_schema` ([String](/ar/reference/data-types/string)) — غير مستخدم حاليًا.
* `unique_constraint_name` ([Nullable](/ar/reference/data-types/nullable)([String](/ar/reference/data-types/string))) — غير مستخدم حاليًا.
* `match_option` ([String](/ar/reference/data-types/string)) — غير مستخدم حاليًا.
* `update_rule` ([String](/ar/reference/data-types/string)) — غير مستخدم حاليًا.
* `delete_rule` ([String](/ar/reference/data-types/string)) — غير مستخدم حاليًا.
* `table_name` ([String](/ar/reference/data-types/string)) — غير مستخدم حاليًا.
* `referenced_table_name` ([String](/ar/reference/data-types/string)) — غير مستخدم حاليًا.

<div id="statistics">
  ## STATISTICS
</div>

يوفّر معلومات عن فهارس الجدول. ويُرجِع حاليًا نتيجة فارغة (من دون أي صفوف)، وهو ما يكفي فقط لضمان التوافق مع أدوات الجهات الخارجية مثل Tableau Online.
