Bilgi şeması

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Yalnızca Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime 10.4 LTS ve üzeri onay işareti evet olarak işaretlenmiş Unity Kataloğu

INFORMATION_SCHEMA, Unity Kataloğu'nda oluşturulan her katalogda sağlanan SQL standart tabanlı bir şemadır.

Bilgi şemasında, şema kataloğunda görme ayrıcalığınız olan nesneleri açıklayan bir görünüm kümesi bulabilirsiniz. Kataloğun SYSTEM bilgi şeması, meta veri deposu içindeki tüm kataloglardaki nesneler hakkındaki bilgileri döndürür. Bilgi şeması sistem tabloları nesnelerle ilgili hive_metastore meta veriler içermez.

Bilgi şemasının amacı, meta veriler için SQL tabanlı, kendi kendini açıklayan bir API sağlamaktır.

Bilgi şemasının varlık ilişkisi diyagramı

Aşağıdaki varlık ilişkisi (ER) diyagramı, bilgi şeması görünümlerinin bir alt kümesine ve bunların birbirleriyle ilişkisine genel bir bakış sağlar.

Bilgi şemasının ER diyagramı

Bilgi şeması görünümleri

Veri Akışı Adı Açıklama
CATALOG_PRIVILEGES Kataloglarda ayrıcalıkları olan sorumluları listeler.
CATALOG_PROVIDER_SHARE_USAGE Kataloglara bağlı sağlayıcı paylaşımını açıklar.
CATALOG_TAGS Kataloglara uygulanmış etiketleri içerir.
KATALOG Katalogları açıklar.
CHECK_CONSTRAINTS Daha sonraki kullanımlar için ayrılmıştır.
COLUMN_MASKS Katalogdaki tablo sütunlarındaki sütun maskelerini açıklar.
COLUMN_TAGS Tablo içinde sütun etiketleme meta verilerini içerir.
SÜTUN Katalogdaki tablo ve görünüm sütunlarını açıklar.
CONNECTION_PRIVILEGES Yabancı bağlantılarda ayrıcalıkları olan sorumluları listeler.
BAĞLANTI Yabancı bağlantıları açıklar.
CONSTRAINT_COLUMN_USAGE Katalogdaki sütunlara başvuran kısıtlamaları açıklar.
CONSTRAINT_TABLE_USAGE Katalogdaki tablolara başvuran kısıtlamaları açıklar.
EXTERNAL_LOCATION_PRIVILEGES Dış konumlarda ayrıcalıkları olan sorumluları listeler.
EXTERNAL_LOCATIONS Dış konumları açıklar.
INFORMATION_SCHEMA_CATALOG_NAME Bu bilgi şemasının kataloğunun adını döndürür.
KEY_COLUMN_USAGE Katalogdaki birincil veya yabancı anahtar kısıtlamalarının sütunlarını listeler.
METASTORE_PRIVILEGES Geçerli meta veri deposunda ayrıcalıkları olan sorumluları listeler.
META VERI DEPOLARı Geçerli meta veri depolarını açıklar.
PARAMETRE Katalogdaki yordamların (işlevler) parametrelerini açıklar.
SAĞLAYICI Sağlayıcıları açıklar.
RECIPIENT_ALLOWED_IP_RANGES Alıcılar için izin verilen IP aralıklarını listeler.
RECIPIENT_TOKENS Alıcılar için belirteçleri listeler.
ALICI Alıcıları açıklar.
REFERENTIAL_CONSTRAINTS Katalogda tanımlanan bilgi (yabancı anahtar) kısıtlamalarını açıklar.
ROUTINE_COLUMNS Tablo değerli işlevlerin sonuç sütunlarını açıklar.
ROUTINE_PRIVILEGES Katalogdaki yordamlar üzerinde ayrıcalıkları olan sorumluları listeler.
RUTİN Katalogdaki yordamları (işlevler) açıklar.
ROW_FILTERS Katalogdaki tablolardaki satır filtrelerini açıklar.
SCHEMA_PRIVILEGES Katalogdaki şemalarda ayrıcalıkları olan sorumluları listeler.
SCHEMA_TAGS Şema içinde şema etiketleme meta verilerini içerir.
SCHEMA_SHARE_USAGE Paylaşımlarda başvuruda bulunan şemaları açıklar.
SCHEMATA Katalog içindeki şemaları açıklar.
SHARE_RECIPIENT_PRIVILEGES Paylaşımlara erişim izni verilen alıcıları açıklar.
HİSSE Paylaşımları açıklar.
STORAGE_CREDENTIAL_PRIVILEGES Depolama kimlik bilgileri üzerinde ayrıcalıkları olan sorumluları listeler.
STORAGE_CREDENTIALS Depolama kimlik bilgilerini açıklar.
TABLE_CONSTRAINTS Katalogdaki tüm birincil ve yabancı anahtar kısıtlamaları için meta verileri açıklar.
TABLE_PRIVILEGES Katalogdaki tablo ve görünümlerde ayrıcalıkları olan sorumluları listeler.
TABLE_SHARE_USAGE Paylaşımlarda başvuruda bulunan tabloları açıklar.
TABLE_TAGS Tablo içindeki tablo etiketleme meta verilerini içerir.
TABLO Katalogda tanımlanan tabloları ve görünümleri açıklar.
GÖRÜNÜMLER Katalogdaki görünümler hakkında belirli bilgileri görüntülemeyi açıklar.
BİRİM Katalogda tanımlanan birimleri açıklar.
VOLUME_PRIVILEGES Katalogdaki birimlerde ayrıcalıkları olan sorumluları listeler.
VOLUME_TAGS Bir birime uygulanan birim etiketleme meta verilerini içerir.

Notlar

TANıMLAYıCılar SQL deyimlerinde başvurulduğunda büyük/küçük harfe duyarlı olmasa da, bilgi şemasında olarak STRINGdepolanır. Bu, tanımlayıcının depolandığı büyük/küçük harf kullanımını kullanarak bunları aramanız veya örneğin gibi işlevler kullanmanız gerektiği anlamına gelir.

Örnekler

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

Aşağıda, sistem düzeyi bilgi şema tablolarını kullanan iş akışları örnekleri verilmiştir.

Son 24 saat içinde oluşturulan tüm tabloları görüntülemek istiyorsanız, sorgunuz aşağıdaki gibi görünebilir.

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

Her şemada kaç tablonuz olduğunu görüntülemek istiyorsanız aşağıdaki örneği göz önünde bulundurun.

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