BigQuery ist ein Data Warehouse-Tool zum Speichern und Transformieren großer Datenmengen. Einer der größten Unterschiede zu einer operativen Datenbank besteht darin, dass Sie absichtlich doppelte Informationen in verschiedenen Tabellen verwenden können und keine Beziehungen zwischen den Tabellen erforderlich sind.
Google hat BigQuery jetzt alle Funktionen von Key Constraints hinzugefügt. Sie können während der Tabellenerstellung Schlüssel festlegen, die aktuellen Einschränkungen in einem Datensatz anzeigen und vieles mehr.
Jeder, der an der neuen BigQuery-Funktion interessiert ist, muss diesen Beitrag lesen.
Primärschlüssel und Fremdschlüssel sind normalerweise eines der ersten Dinge, die Sie lernen, wenn Sie mit SQL oder Datenbanken beginnen.
Primärschlüssel:
Fremdschlüssel:
Um eine Tabelle mit einem Primärschlüssel zu erstellen, müssen Sie Folgendes tun:
TABELLE ERSTELLEN key_constraint_tests.planet (
Sonnen-ID INT64,
Position INT64,
Name STRING,
Anzahl_der_Monde INT64,
PRIMÄRSCHLÜSSEL (sun_id, position) WIRD NICHT DURCHGESETZT
);
Da es keine Durchsetzung gibt, ist es kein Problem, der Tabelle die folgenden Zeilen hinzuzufügen:
KEY_constraint_tests.planet EINFÜGEN (Sonnen-ID, Position, Name, Anzahl_DER_MONS)
WERTE (1, 1, 'Quecksilber', 0),
(1, 1, 'Venus', 0),
(1, 3, 'Erde', 1),
(1, 4, 'März', 2)
In den Daten ist ein Fehler und Merkur und Venus bekommen beide Position 1. Wir haben also zweimal dieselbe Kombination in einem Primärschlüssel.
Das Erstellen einer Tabelle mit Fremdschlüsseln funktioniert genauso wie für den Primärschlüssel:
TABELLE ERSTELLEN key_constraint_tests.atmospheres (
Sonnen-ID INT64,
Position INT64,
element_1 ZEICHENFOLGE,
element_2 ZEICHENFOLGE,
element_3 ZEICHENFOLGE,
FREMDSCHLÜSSEL (sun_id, position) REFERENZEN key_constraint_tests.planet (sun_id, position) NICHT ERZWUNGEN
);
Dann können wir der Tabelle auch die folgenden Zeilen hinzufügen:
FÜGEN SIE key_constraint_tests.atmospheres (sun_id, position, element_1, element_2, element_3) EIN
WERTE
(1, 1, 'Wasserstoff', 'Oxid', 'Helium'),
(1, 2, „Kohlendioxid“, „Stickstoff“, „Schwefeldioxid“),
(1, 5, 'Wasserstoff', 'Helium', 'Methan')
Die 3. Einfügung funktioniert auch. In der Originaltabelle gibt es keinen 5. Planeten, aber da die Einstellung „Keine Durchsetzung“ gesetzt wurde, liegt kein Fehler vor.
Sie können Tabellen auch später problemlos Primär- oder Fremdschlüssel hinzufügen.
Mit der ALTER TABLE-Anweisung können Sie einen Primärschlüssel hinzufügen:
TABELLE ÄNDERN key_constraint_tests.planet_without_pk
PRIMÄRSCHLÜSSEL HINZUFÜGEN (sun_id, position_from_sun) NICHT ERZWUNGEN;
Oder du fügst einen Fremdschlüssel hinzu:
TABELLE ÄNDERN key_constraint_tests.atmospheres_without_fk
FREMDSCHLÜSSEL HINZUFÜGEN (sun_id, position_from_sun) REFERENZEN key_constraint_tests.planet (sun_id, position_from_sun) NICHT ERZWUNGEN
Wenn Sie Ihre ersten Tabellen mit den Einschränkungen in einem Datensatz haben, können Sie sich mit einer neuen Metadatenansicht einen Überblick über die aktuelle Situation verschaffen.
Die Ansicht ist die table_constraints-Ansicht. Sie können sich die Ergebnisse mit dem folgenden Befehl ansehen:
WÄHLEN SIE *
VON KEY_CONSTRAINT_TESTS.INFORMATION_SCHEMA.TABLE_CONSTRAINTS
Sie müssen nur den Datensatznamen in der obigen Abfrage ändern und Sie erhalten ein gültiges Ergebnis.
Die Informationen, die Sie erhalten, sind ziemlich einfach. Eine Zeile ist eine Einschränkung.
Eine vollständige Liste finden Sie hier.
Google hat BigQuery um eine Funktion erweitert, die bereits in operativen Datenbanken wie MySQL, PostgreSQL usw. verfügbar ist. Primär- und Fremdschlüssel sind in diesen Systemen sehr wichtig.
Der aktuelle Status in BigQuery ist nur eine erste Version. Es fehlen noch viele Funktionen, um den Analysten und Ingenieuren einen umfassenden Funktionsumfang zur Verfügung zu stellen. Die wichtigsten fehlenden Funktionen sind:
Zusammengefasst ist es ein guter und einfacher Ausgangspunkt, aber um ihn in Projekten zu verwenden, fehlen noch viele Funktionen. Derzeit dient es eher dazu, die Verweise zwischen Tabellen anzuzeigen.
Dieser Beitrag ist Teil der neuen Funktionen in der Google Cloud-Serie von Datenurteil und gibt Ihnen detaillierte Einblicke in eine neue Funktion in BigQuery oder Data Studio.
Folge uns auf LinkedIn für Einblicke in unsere tägliche Arbeit und wichtige Updates zu BigQuery, Data Studio und Marketing Analytics.
Abonniere unseren YouTube-Kanal für Diskussionen zu DWH, BigQuery, Looker Studio und Google Tag Manager.
Wenn Sie BigQuery von Grund auf lernen möchten, erhalten Sie Zugriff auf unsere kostenloser BigQuery-Kurs
Verbessern Sie Ihre Fähigkeiten mit Google Data Studio und BigQuery, indem Sie sich für unser Udemy-Kurs.
Benötigen Sie Hilfe bei der Einrichtung eines modernen, kostengünstigen Data Warehouse oder eines analytischen Dashboards? Senden Sie uns eine E-Mail an hello@datadice.io um einen Anruf zu vereinbaren.