الانتقال إلى المحتوى الرئيسي
تُعد INFORMATION_SCHEMA (أو: information_schema) قاعدة بيانات نظام توفّر عرضًا غير معتمد على نظام إدارة قواعد البيانات وموحّدًا إلى حدٍّ ما لبيانات التعريف الخاصة بكائنات قاعدة البيانات. وتُعد طرق العرض في INFORMATION_SCHEMA عمومًا أقل من جداول النظام العادية، لكن يمكن للأدوات استخدامها للحصول على معلومات أساسية بطريقة موحّدة عبر مختلف أنظمة إدارة قواعد البيانات. ومن المفترض أن تتطور بنية طرق العرض ومحتواها في INFORMATION_SCHEMA بطريقة متوافقة مع الإصدارات السابقة، أي لا تُضاف إلا وظائف جديدة، من دون تغيير الوظائف الحالية أو إزالتها. ومن ناحية التنفيذ الداخلي، تُطابِق طرق العرض في INFORMATION_SCHEMA عادةً جداول نظام عادية مثل system.columns وsystem.databases وsystem.tables.
يحتوي INFORMATION_SCHEMA على طرق العرض التالية: تتوفر أيضًا طرق عرض مكافئة غير حساسة لحالة الأحرف، مثل INFORMATION_SCHEMA.columns، وذلك لأسباب تتعلق بالتوافق مع قواعد البيانات الأخرى. وينطبق الأمر نفسه على جميع الأعمدة في طرق العرض هذه، إذ تتوفر كل من الصيغ المكتوبة بأحرف صغيرة (على سبيل المثال، table_name) والصيغ المكتوبة بأحرف كبيرة (TABLE_NAME).

COLUMNS

يحتوي على أعمدة مأخوذة من جدول النظام system.columns، وأعمدة غير مدعومة في ClickHouse أو لا معنى لها (وتكون دائمًا NULL)، لكنها مطلوبة وفقًا للمعيار. الأعمدة:
  • table_catalog (String) — غير مستخدم حاليًا.
  • table_schema (String) — غير مستخدم حاليًا.
  • table_name (String) — غير مستخدم حاليًا.
  • non_unique (Int32) — غير مستخدم حاليًا.
  • index_schema (String) — غير مستخدم حاليًا.
  • index_name (Nullable(String)) — غير مستخدم حاليًا.
  • seq_in_index (UInt32) — غير مستخدم حاليًا.
  • column_name (Nullable(String)) — غير مستخدم حاليًا.
  • collation (Nullable(String)) — غير مستخدم حاليًا.
  • cardinality (Nullable(Int64)) — غير مستخدم حاليًا.
  • sub_part (Nullable(Int64)) — غير مستخدم حاليًا.
  • packed (Nullable(String)) — غير مستخدم حاليًا.
  • nullable (String) — غير مستخدم حاليًا.
  • index_type (String) — غير مستخدم حاليًا.
  • comment (String) — غير مستخدم حاليًا.
  • index_comment (String) — غير مستخدم حاليًا.
  • is_visible (String) — غير مستخدم حاليًا.
  • expression (Nullable(String)) — غير مستخدم حاليًا.
مثال
Query
Response

SCHEMATA

يحتوي على أعمدة مستمدة من جدول النظام system.databases، وأعمدة غير مدعومة في ClickHouse أو لا معنى لها (وتكون دائمًا NULL)، لكن يجب أن تكون موجودة وفقًا للمعيار. الأعمدة:
  • catalog_name (String) — اسم قاعدة البيانات.
  • schema_name (String) — اسم قاعدة البيانات.
  • schema_owner (String) — اسم مالك المخطط، ويكون دائمًا 'default'.
  • default_character_set_catalog (Nullable(String)) — NULL، غير مدعوم.
  • default_character_set_schema (Nullable(String)) — NULL، غير مدعوم.
  • default_character_set_name (Nullable(String)) — NULL، غير مدعوم.
  • sql_path (Nullable(String)) — NULL، غير مدعوم.
مثال
Query
Response

TABLES

يتضمن الأعمدة المقروءة من جدول النظام system.tables. الأعمدة:
  • table_catalog (String) — اسم قاعدة البيانات التي يقع فيها الجدول.
  • table_schema (String) — اسم قاعدة البيانات التي يقع فيها الجدول.
  • table_name (String) — اسم الجدول.
  • table_type (String) — نوع الجدول. القيم الممكنة:
    • BASE TABLE
    • VIEW
    • FOREIGN TABLE
    • LOCAL TEMPORARY
    • SYSTEM VIEW
  • table_rows (Nullable(UInt64)) — العدد الإجمالي للصفوف. تكون NULL إذا تعذر تحديده.
  • data_length (Nullable(UInt64)) — حجم البيانات على القرص. تكون NULL إذا تعذر تحديده.
  • index_length (Nullable(UInt64)) — الحجم الإجمالي للمفتاح الأساسي، والفهارس الثانوية، وجميع العلامات.
  • table_collation (Nullable(String)) — قاعدة الترتيب الافتراضية للجدول. وتكون دائمًا utf8mb4_0900_ai_ci.
  • table_comment (Nullable(String)) — التعليق المستخدم عند إنشاء الجدول.
مثال
Query
Response

VIEWS

يتضمن أعمدة مأخوذة من جدول النظام system.tables عند استخدام محرك الجدول View. الأعمدة:
  • table_catalog (String) — اسم قاعدة البيانات التي يوجد فيها الجدول.
  • table_schema (String) — اسم قاعدة البيانات التي يوجد فيها الجدول.
  • table_name (String) — اسم الجدول.
  • view_definition (String) — استعلام SELECT الخاص بطريقة العرض.
  • check_option (String) — NONE، بدون تحقّق.
  • is_updatable (Enum8) — NO، طريقة العرض غير قابلة للتحديث.
  • is_insertable_into (Enum8) — يوضّح ما إذا كانت طريقة العرض المُنشأة مُجسَّدة. القيم الممكنة:
    • NO — طريقة العرض المُنشأة غير مُجسَّدة.
    • YES — طريقة العرض المُنشأة مُجسَّدة.
  • is_trigger_updatable (Enum8) — NO، المُشغِّل غير قابل للتحديث.
  • is_trigger_deletable (Enum8) — NO، لا يمكن حذف المُشغِّل.
  • is_trigger_insertable_into (Enum8) — NO، لا يتم إدراج أي بيانات في المُشغِّل.
مثال
Query
Response

KEY_COLUMN_USAGE

يحتوي على أعمدة من جدول النظام system.tables المقيّدة بقيود. الأعمدة:
  • constraint_catalog (String) — غير مستخدم حاليًا. تكون القيمة دائمًا def.
  • constraint_schema (String) — اسم المخطط (قاعدة البيانات) الذي ينتمي إليه القيد.
  • constraint_name (Nullable(String)) — اسم القيد.
  • table_catalog (String) — غير مستخدم حاليًا. تكون القيمة دائمًا def.
  • table_schema (String) — اسم المخطط (قاعدة البيانات) الذي ينتمي إليه الجدول.
  • table_name (String) — اسم الجدول الذي يوجد عليه القيد.
  • column_name (Nullable(String)) — اسم العمود الذي يوجد عليه القيد.
  • ordinal_position (UInt32) — غير مستخدم حاليًا. تكون القيمة دائمًا 1.
  • position_in_unique_constraint (Nullable(UInt32)) — غير مستخدم حاليًا. تكون القيمة دائمًا NULL.
  • referenced_table_schema (Nullable(String)) — غير مستخدم حاليًا. تكون القيمة دائمًا NULL.
  • referenced_table_name (Nullable(String)) — غير مستخدم حاليًا. تكون القيمة دائمًا NULL.
  • referenced_column_name (Nullable(String)) — غير مستخدم حاليًا. تكون القيمة دائمًا NULL.
مثال
Query
Response

REFERENTIAL_CONSTRAINTS

يتضمن معلومات عن المفاتيح الخارجية. ويُرجِع حاليًا نتيجة فارغة (من دون أي صفوف)، وهذا يكفي فقط لضمان التوافق مع أدوات الجهات الخارجية مثل Tableau Online. الأعمدة:
  • constraint_catalog (String) — غير مستخدم حاليًا.
  • constraint_schema (String) — غير مستخدم حاليًا.
  • constraint_name (Nullable(String)) — غير مستخدم حاليًا.
  • unique_constraint_catalog (String) — غير مستخدم حاليًا.
  • unique_constraint_schema (String) — غير مستخدم حاليًا.
  • unique_constraint_name (Nullable(String)) — غير مستخدم حاليًا.
  • match_option (String) — غير مستخدم حاليًا.
  • update_rule (String) — غير مستخدم حاليًا.
  • delete_rule (String) — غير مستخدم حاليًا.
  • table_name (String) — غير مستخدم حاليًا.
  • referenced_table_name (String) — غير مستخدم حاليًا.

STATISTICS

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