Ostatnia aktualizacja: 1 października 2024
Czas czytania: 3 min
Spis treści

Co to jest REFERENCES?

REFERENCES to klauzula w SQL, która służy do definiowania relacji między tabelami w bazie danych. W BigQuery REFERENCES jest używane do tworzenia kluczy obcych, które zapewniają spójność danych poprzez zapewnienie, że wartości w kolumnie klucza obcego istnieją w kolumnie klucza głównego w tabeli referencyjnej.

W BigQuery, REFERENCES jest używane w definicji schematu tabeli, a nie w zapytaniach SQL.

Zastosowanie REFERENCES

REFERENCES ma kluczowe zastosowanie w BigQuery, zapewniając integralność danych i spójność relacji między tabelami. Oto kilka przykładów zastosowań:

  • Zapewnienie integralności danych: REFERENCES gwarantuje, że wartości w kolumnie klucza obcego odnoszą się do istniejących wartości w tabeli referencyjnej, zapobiegając wprowadzaniu nieprawidłowych danych.
  • Utrzymanie spójności relacji: REFERENCES pomaga w utrzymaniu spójności relacji między tabelami, zapewniając, że zmiany w tabeli referencyjnej są odzwierciedlane w tabelach powiązanych.
  • Poprawa wydajności zapytań: W niektórych przypadkach REFERENCES może poprawić wydajność zapytań, ponieważ BigQuery może wykorzystać relacje między tabelami do optymalizacji planu zapytania.

Przykład użycia w BigQuery

Załóżmy, że mamy dwie tabele: „Klienci” i „Zamówienia”. Tabela „Klienci” zawiera informacje o klientach, a tabela „Zamówienia” zawiera informacje o złożonych zamówieniach. Chcemy upewnić się, że każde zamówienie jest powiązane z istniejącym klientem. W tym celu możemy użyć REFERENCES w definicji schematu tabeli „Zamówienia”:


CREATE TABLE Zamowienia (
id INT64,
data_zamowienia DATE,
klient_id INT64,
FOREIGN KEY (klient_id) REFERENCES Klienci(id)
);

W tym przykładzie FOREIGN KEY (klient_id) REFERENCES Klienci(id) definiuje klucz obcy „klient_id” w tabeli „Zamówienia”, który odnosi się do klucza głównego „id” w tabeli „Klienci”. Dzięki temu BigQuery będzie sprawdzać, czy każda wartość „klient_id” w tabeli „Zamówienia” istnieje w kolumnie „id” tabeli „Klienci”.

Najczęstsze błędy i sposoby ich unikania

Najczęstsze błędy związane z REFERENCES w BigQuery wynikają z nieprawidłowego definiowania kluczy obcych lub próby dodania danych, które naruszają relacje między tabelami. Oto kilka przykładów:

  • Nieprawidłowe definiowanie klucza obcego: Upewnij się, że klucz obcy odnosi się do poprawnej kolumny w tabeli referencyjnej.
  • Próba dodania danych, które naruszają relacje: Przed dodaniem danych upewnij się, że wartości w kolumnie klucza obcego istnieją w kolumnie klucza głównego w tabeli referencyjnej.
  • Brak indeksów: Indeksowanie kolumn klucza obcego może przyspieszyć wykonywanie zapytań, ale nie jest wymagane przez REFERENCES.

Optymalizacje i najlepsze praktyki

Aby zoptymalizować zapytania z użyciem REFERENCES w BigQuery, zaleca się:

  • Używanie indeksów: Indeksowanie kolumn klucza obcego może znacząco przyspieszyć wykonywanie zapytań.
  • Unikanie niepotrzebnych JOINów: Jeśli nie jest to konieczne, staraj się unikać łączenia tabel za pomocą JOINów.
  • Korzystanie z funkcji optymalizacji zapytań: BigQuery oferuje różne funkcje optymalizacji zapytań, które mogą poprawić wydajność.

Porównanie z innymi dialektami SQL

REFERENCES jest używany w BigQuery w sposób podobny do innych dialektów SQL, takich jak MySQL i PostgreSQL. Różnice mogą dotyczyć składni lub dodatkowych funkcji. Na przykład BigQuery oferuje opcje, takie jak „ON DELETE CASCADE”, które umożliwiają automatyczne usuwanie powiązanych danych w przypadku usunięcia wiersza w tabeli referencyjnej.

Udostępnij wpis
Newsletter

Zapisz się do Newslettera

Zapisując się, wyrażasz zgodę na przetwarzanie Twoich danych do celów marketingowych, zgodnie z naszą polityką prywatności.

Optymalizacja kosztów BigQuery

Poradnik

10 sposobów na optymalizację kosztów BigQuery
Looker Studio Dashoard

Poradnik

Looker Studio dla Początkujących – Co to jest Looker Studio i jak z niego korzystać?
Grafika prezentująca BigQuery

Tutorial

BigQuery dla początkujących. Jakie są sposoby przechowywania danych w BigQuery?
Google Search Console Dashboard

Dashboard analityczny

Dashboard analityczny SEO – Looker Studio
Grafika pokazująca 5 dobrych praktyk podczas tworzenia narzędzia Business Intelligence

Poradnik

Najlepsze praktyki tworzenia dashboardów analitycznych i biznesowych
Grafika pokazująca odwrócony proces ETL

Poradnik

Replikacja danych do BigQuery  – Jedyny przewodnik po procesach ETL i ELT w GCP jakiego potrzebujesz
Ikona plików cookies

Ustawienia plików cookies

Używamy plików cookies, aby zapewnić Ci najlepsze wrażenia z korzystania z naszej strony. Możesz wybrać, które pliki cookies chcesz zaakceptować.
Ikona plików cookies

Informacje o plikach cookies

Szanujemy Twoją prywatność

Używamy plików cookies lub podobnych technologii w celu zapewnienia Ci dostępu do serwisu, usprawniania jego działania, profilowania i wyświetlania treści dopasowanych do Twoich potrzeb. W każdej chwili możesz zmienić ustawienia plików cookies lub podobnych technologii poprzez zmianę ustawień prywatności w przeglądarce bądź aplikacji lub zmianę swoich preferencji w zakładce Ustawienia cookies w stopce strony. Pamiętaj, że zmiana ta może spowodować brak dostępu do niektórych funkcji serwisu.
Dane osobowe dotyczące korzystania z serwisu, w tym zapisywane i odczytywane z plików cookies lub podobnych technologii będą przetwarzane w celu zapewnienia dostępu do serwisu, w celach marketingowych, w tym profilowania, w celach wewnętrznych związanych ze świadczeniem usług oraz prowadzeniem działalności gospodarczej, w tym dowodowych, analitycznych i statystycznych, wykrywania i eliminowania nadużyć oraz w celu wykonywania obowiązków wynikających z przepisów prawa.
Przysługuje Ci prawo do dostępu do danych, ich usunięcia, ograniczenia przetwarzania, przenoszenia, sprzeciwu, sprostowania oraz cofnięcia zgód w każdym czasie. Szczegółowe informacje dotyczące przetwarzania danych oraz przysługujących Ci uprawnień, informacje dotyczące plików cookies lub podobnych technologii, w tym dotyczące możliwości zarządzania ustawieniami prywatności, znajdują się w Polityce Prywatności.