Skema informasi

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 10.4 LTS dan di atas centang ditandai ya Unity Catalog saja

INFORMATION_SCHEMA adalah skema berbasis standar SQL, disediakan di setiap katalog yang dibuat di Unity Catalog.

Dalam skema informasi, Anda dapat menemukan sekumpulan tampilan yang menjelaskan objek yang diketahui oleh katalog skema yang istimewa untuk Anda lihat. Skema SYSTEM informasi katalog mengembalikan informasi tentang objek di semua katalog dalam metastore. Tabel sistem skema informasi tidak berisi metadata tentang hive_metastore objek.

Tujuan dari skema informasi adalah untuk menyediakan API berbasis SQL yang menjelaskan sendiri ke metadata.

Diagram hubungan entitas dari skema informasi

Diagram hubungan entitas (ER) berikut memberikan gambaran umum tentang subset tampilan skema informasi dan bagaimana hubungannya satu sama lain.

Diagram ER skema informasi

Tampilan skema informasi

Nama Deskripsi
CATALOG_PRIVILEGES Mencantumkan prinsipal yang memiliki hak istimewa pada katalog.
CATALOG_PROVIDER_SHARE_USAGE Menjelaskan berbagi penyedia yang dipasang ke katalog.
CATALOG_TAGS Berisi tag yang telah diterapkan ke katalog.
KATALOG Menjelaskan katalog.
CHECK_CONSTRAINTS Disiapkan untuk penggunaan masa mendatang.
COLUMN_MASKS Menjelaskan masker kolom pada kolom tabel dalam katalog.
COLUMN_TAGS Berisi metadata penandaan kolom dalam tabel.
COLUMNS Menjelaskan kolom tabel dan tampilan dalam katalog.
CONNECTION_PRIVILEGES Mencantumkan prinsipal yang memiliki hak istimewa pada koneksi asing.
KONEKSI Menjelaskan koneksi asing.
CONSTRAINT_COLUMN_USAGE Menjelaskan batasan mereferensikan kolom dalam katalog.
CONSTRAINT_TABLE_USAGE Menjelaskan batasan yang mereferensikan tabel dalam katalog.
EXTERNAL_LOCATION_PRIVILEGES Mencantumkan prinsipal yang memiliki hak istimewa di lokasi eksternal.
EXTERNAL_LOCATIONS Menjelaskan lokasi eksternal.
INFORMATION_SCHEMA_CATALOG_NAME Mengembalikan nama katalog skema informasi ini.
KEY_COLUMN_USAGE Mencantumkan kolom batasan kunci utama atau asing dalam katalog.
METASTORE_PRIVILEGES Mencantumkan prinsipal yang memiliki hak istimewa pada metastore saat ini.
METASTORES Menjelaskan metastore saat ini.
PARAMETERS Menjelaskan parameter rutinitas (fungsi) dalam katalog.
PENYEDIA Menjelaskan penyedia.
RECIPIENT_ALLOWED_IP_RANGES Mencantumkan rentang IP yang diizinkan untuk penerima.
RECIPIENT_TOKENS Mencantumkan token untuk penerima.
PENERIMA Menjelaskan penerima.
REFERENTIAL_CONSTRAINTS Menjelaskan batasan referensial (kunci asing) yang ditentukan dalam katalog.
ROUTINE_COLUMNS Menjelaskan kolom hasil fungsi bernilai tabel.
ROUTINE_PRIVILEGES Mencantumkan prinsipal yang memiliki hak istimewa pada rutinitas dalam katalog.
ROUTINES Menjelaskan rutinitas (fungsi) dalam katalog.
ROW_FILTERS Menjelaskan filter baris pada tabel dalam katalog.
SCHEMA_PRIVILEGES Mencantumkan prinsipal yang memiliki hak istimewa pada skema dalam katalog.
SCHEMA_TAGS Berisi metadata penandaan skema dalam skema.
SCHEMA_SHARE_USAGE Menjelaskan skema yang dirujuk dalam berbagi.
SCHEMATA Menjelaskan skema dalam katalog.
SHARE_RECIPIENT_PRIVILEGES Menjelaskan penerima yang diberikan akses ke berbagi.
SAHAM Menjelaskan berbagi.
STORAGE_CREDENTIAL_PRIVILEGES Mencantumkan prinsipal yang memiliki hak istimewa pada kredensial penyimpanan.
STORAGE_CREDENTIALS Menjelaskan kredensial penyimpanan.
TABLE_CONSTRAINTS Menjelaskan metadata untuk semua batasan kunci utama dan asing dalam katalog.
TABLE_PRIVILEGES Mencantumkan prinsipal yang memiliki hak istimewa pada tabel dan tampilan dalam katalog.
TABLE_SHARE_USAGE Menjelaskan tabel yang dirujuk dalam berbagi.
TABLE_TAGS Berisi metadata penandaan tabel dalam tabel.
TABLES Menjelaskan tabel dan tampilan yang ditentukan dalam katalog.
VIEWS Menjelaskan tampilan informasi spesifik tentang tampilan dalam katalog.
VOLUME Menjelaskan volume yang ditentukan dalam katalog.
VOLUME_PRIVILEGES Mencantumkan prinsipal yang memiliki hak istimewa pada volume dalam katalog.
VOLUME_TAGS Berisi metadata penandaan volume yang diterapkan ke volume.

Catatan

Meskipun pengidentifikasi tidak peka huruf besar/kecil ketika dirujuk dalam pernyataan SQL, pengidentifikasi disimpan dalam skema informasi sebagai STRING. Ini menyiratkan bahwa Anda harus mencarinya menggunakan kasus di mana pengidentifikasi disimpan, atau menggunakan fungsi seperti ilike.

Contoh

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

Berikut ini adalah contoh alur kerja yang menggunakan tabel skema informasi tingkat sistem.

Jika Anda ingin menampilkan semua tabel yang telah dibuat dalam 24 jam terakhir, kueri Anda bisa terlihat seperti berikut ini.

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

Jika Anda ingin melihat berapa banyak tabel yang Anda miliki di setiap skema, pertimbangkan contoh berikut.

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