Bilgi şeması
Şunlar için geçerlidir: Yalnızca Databricks SQL Databricks Runtime 10.4 LTS ve üzeri 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ı 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 STRING
depolanı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