مخطط المعلومات

ينطبق على:وضع علامة Databricks SQL وضع علامة Databricks Runtime 10.4 LTS وما فوق وضع علامة كتالوج Unity فقط

INFORMATION_SCHEMA هو مخطط يستند إلى SQL القياسي، يتم توفيره في كل كتالوج تم إنشاؤه على كتالوج Unity.

ضمن مخطط المعلومات، يمكنك العثور على مجموعة من طرق العرض التي تصف الكائنات المعروفة في كتالوج المخطط التي تتمتع بامتياز رؤيتها. يقوم مخطط المعلومات للكتالوج SYSTEM بإرجاع معلومات حول الكائنات عبر جميع الكتالوجات داخل metastore. لا تحتوي جداول نظام مخطط المعلومات على بيانات تعريف حول hive_metastore الكائنات.

الغرض من مخطط المعلومات هو توفير واجهة برمجة تطبيقات تستند إلى SQL تصف نفسها لبيانات التعريف.

رسم تخطيطي لعلاقة الكيان لمخطط المعلومات

يوفر الرسم التخطيطي لعلاقة الكيان التالي (ER) نظرة عامة على مجموعة فرعية من طرق عرض مخطط المعلومات وكيفية ارتباطها ببعضها البعض.

مخطط ER لمخطط المعلومات

طرق عرض مخطط المعلومات

Name ‏‏الوصف
CATALOG_PRIVILEGES يسرد الأساسيات التي لها امتيازات على الكتالوجات.
CATALOG_PROVIDER_SHARE_USAGE يصف مشاركة الموفر المثبتة على الكتالوجات.
CATALOG_TAGS يحتوي على علامات تم تطبيقها على الكتالوجات.
كتالوجات يصف الكتالوجات.
تحقق من_القيود محجوز للاستخدام في المستقبل.
COLUMN_MASKS توضح هذه المقالة أقنعة الأعمدة على أعمدة الجدول في الكتالوج.
COLUMN_TAGS يحتوي على بيانات تعريف لوضع علامات على الأعمدة داخل جدول.
الأعمدة توضح هذه المقالة أعمدة الجداول وطرق العرض في الكتالوج.
CONNECTION_PRIVILEGES يسرد الأساسيات التي لها امتيازات على الاتصالات الخارجية.
اتصالات يصف الاتصالات الخارجية.
CONSTRAINT_COLUMN_USAGE توضح هذه المقالة القيود التي تشير إلى الأعمدة في الكتالوج.
CONSTRAINT_TABLE_USAGE توضح هذه المقالة القيود التي تشير إلى الجداول في الكتالوج.
EXTERNAL_LOCATION_PRIVILEGES يسرد الأساسيات التي لها امتيازات على المواقع الخارجية.
EXTERNAL_LOCATIONS يصف المواقع الخارجية.
INFORMATION_SCHEMA_CATALOG_NAME إرجاع اسم كتالوج مخطط المعلومات هذا.
KEY_COLUMN_USAGE يسرد أعمدة قيود المفتاح الأساسي أو الخارجي داخل الكتالوج.
METASTORE_PRIVILEGES يسرد الأساسيات التي لها امتيازات على metastore الحالي.
مخازن METASTORES يصف metastore الحالي.
المعلمات يصف معلمات الروتينات (الوظائف) في الكتالوج.
مقدمي يصف الموفرين.
RECIPIENT_ALLOWED_IP_RANGES سرد نطاقات IP المسموح بها للمستلمين.
RECIPIENT_TOKENS يسرد الرموز المميزة للمستلمين.
المستلمين يصف المستلمين.
REFERENTIAL_CONSTRAINTS توضح هذه المقالة القيود المرجعية (المفتاح الخارجي) المحددة في الكتالوج.
ROUTINE_COLUMNS توضح هذه المقالة أعمدة النتائج للدالات ذات القيمة الجدولية.
ROUTINE_PRIVILEGES يسرد الأساسيات التي لها امتيازات على الإجراءات الروتينية في الكتالوج.
الروتينات يصف الإجراءات (الوظائف) في الكتالوج.
ROW_FILTERS يصف عوامل تصفية الصفوف على الجداول في الكتالوج.
SCHEMA_PRIVILEGES يسرد الأساسيات التي لها امتيازات على المخططات في الكتالوج.
SCHEMA_TAGS يحتوي على بيانات تعريف وضع علامات على المخطط داخل المخطط.
SCHEMA_SHARE_USAGE يصف المخططات المشار إليها في المشاركات.
المخططات يصف المخططات داخل الكتالوج.
SHARE_RECIPIENT_PRIVILEGES توضح هذه المقالة المستلمين الذين تم منحهم حق الوصول إلى المشاركات.
الاسهم يصف المشاركات.
STORAGE_CREDENTIAL_PRIVILEGES يسرد الأساسيات التي لها امتيازات على بيانات اعتماد التخزين.
STORAGE_CREDENTIALS يصف بيانات اعتماد التخزين.
TABLE_CONSTRAINTS يصف بيانات التعريف لجميع قيود المفتاح الأساسي والخارجي داخل الكتالوج.
TABLE_PRIVILEGES يسرد الأساسيات التي لها امتيازات على الجداول وطرق العرض في الكتالوج.
TABLE_SHARE_USAGE توضح هذه المقالة الجداول المشار إليها في المشاركات.
TABLE_TAGS يحتوي على بيانات تعريف لوضع علامات على الجدول داخل جدول.
الجداول يصف الجداول وطرق العرض المعرفة داخل الكتالوج.
طرق العرض توضح هذه المقالة عرض معلومات محددة حول طرق العرض في الكتالوج.
وحدات التخزين يصف وحدات التخزين المعرفة في الكتالوج.
VOLUME_PRIVILEGES يسرد الأساسيات التي لها امتيازات على وحدات التخزين في الكتالوج.
VOLUME_TAGS يحتوي على بيانات تعريف وضع علامات على وحدة التخزين المطبقة على وحدة تخزين.

ملاحظات

بينما تكون المعرفات غير حساسة لحالة الأحرف عند الإشارة إليها في عبارات SQL، يتم تخزينها في مخطط المعلومات ك STRING. وهذا يعني أنه يجب عليك إما البحث عنها باستخدام الحالة التي يتم فيها تخزين المعرف، أو استخدام دالات مثل ilike.

الأمثلة

> SELECT table_name, column_name
    FROM information_schema.columns
    WHERE data_type = 'DOUBLE'
      AND table_schema = 'information_schema';

فيما يلي أمثلة على مهام سير العمل التي تستخدم جداول مخطط المعلومات على مستوى النظام.

إذا كنت تريد عرض كافة الجداول التي تم إنشاؤها في آخر 24 ساعة، فقد يبدو الاستعلام كما يلي.

> SELECT table_name, table_owner, created_by, last_altered, last_altered_by, table_catalog
    FROM system.information_schema.tables
    WHERE  datediff(now(), last_altered) < 1;

إذا كنت تريد عرض عدد الجداول الموجودة لديك في كل مخطط، ففكر في المثال التالي.

> SELECT table_schema, count(table_name)
    FROM system.information_schema.tables
    WHERE table_schema = 'tpch'
    GROUP BY table_schema
    ORDER BY 2 DESC