התצוגה SCHEMATA

בתצוגה INFORMATION_SCHEMA.SCHEMATA מוצג מידע על מערכי הנתונים בפרויקט או באזור. התצוגה מחזירה שורה אחת לכל מערך נתונים.

לפני שמתחילים

כדי לשלוח שאילתה לתצוגה SCHEMATA של מטא-נתונים של מערך נתונים, צריך הרשאה לניהול זהויות והרשאות גישה (IAM) ברמת הפרויקט bigquery.datasets.get.

כל אחד מתפקידי ה-IAM המוגדרים מראש הבאים כולל את ההרשאות שדרושות לכם כדי לקבל את התצוגה SCHEMATA:

  • roles/bigquery.admin
  • roles/bigquery.dataEditor
  • roles/bigquery.dataOwner
  • roles/bigquery.dataViewer

מידע נוסף על הרשאות ב-BigQuery זמין במאמר בקרת גישה באמצעות IAM.

סכימה

כשמבצעים שאילתה בתצוגה INFORMATION_SCHEMA.SCHEMATA, תוצאות השאילתה מכילות שורה אחת לכל מערך נתונים בפרויקט שצוין.

לתצוגה INFORMATION_SCHEMA.SCHEMATA יש את הסכימה הבאה:

שם העמודה סוג נתונים ערך
catalog_name STRING שם הפרויקט שמכיל את מערך הנתונים
schema_name STRING השם של מערך הנתונים, שנקרא גם datasetId
schema_owner STRING הערך הוא תמיד NULL
creation_time TIMESTAMP זמן היצירה של מערך הנתונים
last_modified_time TIMESTAMP הזמן שבו בוצע השינוי האחרון במערך הנתונים
location STRING המיקום הגיאוגרפי של מערך הנתונים
ddl STRING הצהרת ה-DDL‏ CREATE SCHEMA שאפשר להשתמש בה כדי ליצור את מערך הנתונים
default_collation_name STRING השם של הגדרת ברירת המחדל של איסוף נתונים, אם היא קיימת. אחרת, NULL.
sync_status JSON הסטטוס של הסנכרון בין הרפליקות הראשיות והמשניות של מערכי נתונים של רפליקציה בין אזורים ושל תוכנית התאוששות מאסון (DR). הפונקציה מחזירה NULL אם העותק הוא עותק ראשי או אם מערך הנתונים לא משתמש בשכפול.

כדי לשמור על יציבות, מומלץ לציין במפורש את העמודות בשאילתות של סכימת המידע, במקום להשתמש בתו כל כללי (SELECT *). ציון מפורש של העמודות מונע את השבירה של השאילתות אם הסכימה הבסיסית משתנה.

היקף ותחביר

שאילתות שמופעלות על התצוגה הזו חייבות לכלול מגדיר אזור. אם לא מציינים מסווג אזורי, המטא-נתונים מאוחזרים מהאזור בארה"ב. בטבלה הבאה מוסבר היקף האזור בתצוגה הזו:

שם התצוגה המפורטת היקף המשאבים היקף האזור
[PROJECT_ID.]INFORMATION_SCHEMA.SCHEMATA ברמת הפרויקט אזור בארה"ב
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SCHEMATA ברמת הפרויקט REGION
מחליפים את מה שכתוב בשדות הבאים:
  • אופציונלי: PROJECT_ID: מזהה הפרויקט ב- Google Cloud . אם לא מציינים פרויקט, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל.
  • REGION: כל שם של אזור במערך נתונים. לדוגמה, `region-us`.

דוגמה

-- Returns metadata for datasets in a region.
SELECT * FROM region-us.INFORMATION_SCHEMA.SCHEMATA;

דוגמה

כדי להריץ את השאילתה על פרויקט שאינו פרויקט ברירת המחדל, מוסיפים את מזהה הפרויקט למערך הנתונים בפורמט הבא:

`PROJECT_ID`.INFORMATION_SCHEMA.SCHEMATA
לדוגמה, `myproject`.INFORMATION_SCHEMA.SCHEMATA.

SELECT
  * EXCEPT (schema_owner)
FROM
  INFORMATION_SCHEMA.SCHEMATA;
INFORMATION_SCHEMA

התוצאה תהיה דומה לזו שמופיעה בהמשך. כדי שהתוצאה תהיה קריאה, חלק מהעמודות לא נכללות בה.

+----------------+---------------+---------------------+---------------------+------------+------------------------------------------+
|  catalog_name  |  schema_name  |    creation_time    | last_modified_time  |  location  |                   ddl                    |
+----------------+---------------+---------------------+---------------------+------------+------------------------------------------+
| myproject      | mydataset1    | 2018-11-07 19:50:24 | 2018-11-07 19:50:24 | US         | CREATE SCHEMA `myproject.mydataset1`     |
|                |               |                     |                     |            | OPTIONS(                                 |
|                |               |                     |                     |            |   location="us"                          |
|                |               |                     |                     |            | );                                       |
+----------------+---------------+---------------------+---------------------+------------+------------------------------------------+
| myproject      | mydataset2    | 2018-07-16 04:24:22 | 2018-07-16 04:24:22 | US         | CREATE SCHEMA `myproject.mydataset2`     |
|                |               |                     |                     |            | OPTIONS(                                 |
|                |               |                     |                     |            |   default_partition_expiration_days=3.0, |
|                |               |                     |                     |            |   location="us"                          |
|                |               |                     |                     |            | );                                       |
+----------------+---------------+---------------------+---------------------+------------+------------------------------------------+
| myproject      | mydataset3    | 2018-02-07 21:08:45 | 2018-05-01 23:32:53 | US         | CREATE SCHEMA `myproject.mydataset3`     |
|                |               |                     |                     |            | OPTIONS(                                 |
|                |               |                     |                     |            |   description="My dataset",              |
|                |               |                     |                     |            |   location="us"                          |
|                |               |                     |                     |            | );                                       |
+----------------+---------------+---------------------+---------------------+------------+------------------------------------------+