Udostępnij za pośrednictwem


Tabele w magazynie danych Fabric

Dotyczy:✅ Magazyn w usłudze Microsoft Fabric

W tym artykule szczegółowo przedstawiono kluczowe pojęcia dotyczące projektowania tabel w usłudze Microsoft Fabric.

W tabelach dane są logicznie zorganizowane w formacie wierszy i kolumn. Każdy wiersz reprezentuje unikatowy rekord, a każda kolumna reprezentuje pole w rekordzie.

  • W magazynie tabele to obiekty bazy danych zawierające wszystkie dane transakcyjne.

Określanie kategorii tabeli

Schemat gwiazdy organizuje dane w tabele faktów i tabele wymiarów. Niektóre tabele są używane do integracji lub przemieszczania danych przed przejściem do tabeli faktów lub wymiarów. Podczas projektowania tabeli zdecyduj, czy dane tabeli należą do tabeli faktów, wymiarów lub tabeli integracji. Ta decyzja informuje o odpowiedniej strukturze tabeli.

  • Tabele faktów zawierają dane ilościowe, które są często generowane w systemie transakcyjnym, a następnie ładowane do magazynu danych. Na przykład firma detaliczna generuje transakcje sprzedaży każdego dnia, a następnie ładuje dane do tabeli faktów magazynu danych na potrzeby analizy.

  • Tabele wymiarów zawierają dane atrybutów , które mogą ulec zmianie, ale zwykle zmieniają się rzadko. Na przykład nazwa i adres klienta są przechowywane w tabeli wymiarów i aktualizowane tylko wtedy, gdy profil klienta ulegnie zmianie. Aby zminimalizować rozmiar dużej tabeli faktów, nazwa i adres klienta nie muszą znajdować się w każdym wierszu tabeli faktów. Zamiast tego tabela faktów i tabela wymiarów mogą udostępniać identyfikator klienta. Zapytanie może łączyć dwie tabele w celu skojarzenia profilu i transakcji klienta.

  • Tabele integracji zapewniają miejsce na integrowanie lub przemieszczanie danych. Można na przykład załadować dane do tabeli przejściowej, wykonać przekształcenia danych w środowisku przejściowym, a następnie wstawić dane do tabeli produkcyjnej.

Tabela przechowuje dane w usłudze OneLake w ramach magazynu. Tabela i dane utrzymują się, czy sesja jest otwarta.

Tabele w magazynie

Aby wyświetlić organizację tabel, można użyć factwartości , dimlub int jako prefiksów do nazw tabel. W poniższej tabeli przedstawiono niektóre nazwy schematów i tabel dla przykładowego magazynu danych WideWorldImportersDW .

Nazwa tabeli źródłowej WideWorldImportersDW Typ tabeli Nazwa tabeli magazynu danych
Miejscowość Wymiar wwi.DimCity
Zamówienie Fakt wwi.FactOrder
  • Nazwy tabel nie mogą zawierać / ani \ kończyć się symbolem ..

Utwórz tabelę

W przypadku magazynu możesz utworzyć tabelę jako nową pustą tabelę. Możesz również utworzyć i wypełnić tabelę wynikami instrukcji select. Poniżej przedstawiono polecenia języka T-SQL służące do tworzenia tabeli.

Instrukcja języka T-SQL opis
UTWÓRZ TABELĘ Tworzy pustą tabelę, definiując wszystkie kolumny i opcje tabeli.
Utwórz tabelę jako wybierz Wypełnia nową tabelę wynikami instrukcji select. Kolumny tabeli i typy danych są oparte na wynikach instrukcji select. Aby zaimportować dane, ta instrukcja może wybrać elementy z tabeli zewnętrznej.

W tym przykładzie zostanie utworzona tabela z dwiema kolumnami:

CREATE TABLE MyTable (col1 int, col2 int );  

Nazwy schematu

Magazyn obsługuje tworzenie schematów niestandardowych. Podobnie jak w programie SQL Server schematy są dobrym sposobem grupowania obiektów używanych w podobny sposób. Poniższy kod tworzy schemat zdefiniowany przez użytkownika o nazwie wwi.

  • W nazwach schematów jest rozróżniana wielkość liter.
  • Nazwy schematów nie mogą zawierać / ani \ kończyć się ciągiem ..
CREATE SCHEMA wwi;

Typy danych

Usługa Microsoft Fabric obsługuje najczęściej używane typy danych T-SQL.

Sortowanie

Latin1_General_100_BIN2_UTF8 to domyślne sortowanie dla tabel i metadanych.

Magazyn można utworzyć przy użyciu sortowania Latin1_General_100_CI_AS_KS_WS_SC_UTF8, które nie uwzględnia wielkości liter (CI). Aby uzyskać więcej informacji, zobacz Jak utworzyć magazyn z sortowaniem bez uwzględniania wielkości liter (CI).

Obsługiwane sortowania w interfejsie API to:

  • Latin1_General_100_BIN2_UTF8 (ustawienie domyślne)
  • Latin1_General_100_CI_AS_KS_WS_SC_UTF8

Po ustawieniu sortowania podczas tworzenia bazy danych wszystkie kolejne obiekty (tabele, kolumny itp.) będą dziedziczyć to sortowanie domyślne.

Statystyki

Optymalizator zapytań używa statystyk na poziomie kolumny podczas tworzenia planu wykonywania zapytania. Aby zwiększyć wydajność zapytań, ważne jest, aby statystyki dotyczące poszczególnych kolumn, zwłaszcza kolumn używanych w sprzężeniach zapytań. Magazyn obsługuje automatyczne tworzenie statystyk.

Aktualizacja statystyczna nie jest automatycznie aktualizowana. Zaktualizuj statystyki po dodaniu lub zmianie liczby wierszy. Na przykład zaktualizuj statystyki po załadowaniu. Aby uzyskać więcej informacji, zobacz Statystyki w magazynie danych Fabric.

Klucz podstawowy, klucz obcy i unikatowy klucz

W przypadku magazynu klucz PODSTAWOWY i ograniczenie UNIKATOWE są obsługiwane tylko wtedy, gdy są używane wartości NONCLUSTERED i NOT ENFORCED.

KLUCZ OBCY jest obsługiwany tylko wtedy, gdy nie jest używany wymuszony.

#temp tabele

Tymczasowe tabele o zasięgu sesji (#temp) można tworzyć w Fabric Data Warehouse.

Te tabele istnieją tylko w ramach sesji, w której są tworzone i trwają przez czas trwania tej sesji. Nie są one widoczne dla innych użytkowników lub sesji i są automatycznie usuwane z systemu po zakończeniu sesji lub po usunięciu tabeli #temp. Te tabele są dostępne dla wszystkich użytkowników bez konieczności posiadania określonych uprawnień na poziomie elementu.

Dwa typy tabel #temp można tworzyć na podstawie określonych przypadków użycia, nieprostrybuowanych i rozproszonych.

  • Tabela nieprostrybuowana #temp (z obsługą mdf) jest typem domyślnym. Składnia tworzenia i używania niedystrybuowanych tabel #temp w usłudze Fabric Data Warehouse jest podobna do tabel użytkowników, ale musisz poprzedzić nazwę tabeli tymczasowej prefiksem #.

     CREATE TABLE #table_name (
       Col1 data_type1,
       Col2 data_type2
     );
    
  • Tabele tymczasowe rozproszone (z wykorzystaniem formatu Parquet) można utworzyć za pomocą słowa kluczowego DISTRIBUTION=ROUND_ROBIN:

    CREATE TABLE #table_name ( 
    Col1 data_type1, 
    Col2 data_type2
    ) WITH (DISTRIBUTION=ROUND_ROBIN);
    

W poprzednim skrypcie data_type1 i data_type2 są symbolami zastępczymi dla obsługiwanych typów danych w Fabric Data Warehouse.

Zaleca się używanie tabel rozproszonych typu #temp, ponieważ są one zgodne z normalnymi tabelami użytkowników; oferują nieograniczone przechowywanie, obsługę typów danych oraz operacje T-SQL. Składnia manipulowania danymi i definicji jest identyczna z tabelami użytkowników w usłudze Fabric Data Warehouse z prefiksem # dodanym do nazwy tabeli.

Dopasowywanie danych źródłowych do magazynu danych

Tabele magazynu są wypełniane przez ładowanie danych z innego źródła danych. Aby osiągnąć pomyślne ładowanie, liczba i typy danych kolumn w danych źródłowych muszą być zgodne z definicją tabeli w magazynie.

Jeśli dane pochodzą z wielu magazynów danych, możesz przenosić dane do magazynu i przechowywać je w tabeli integracji. Gdy dane będą znajdować się w tabeli integracji, możesz użyć możliwości magazynu do zaimplementowania operacji przekształcania. Po przygotowaniu danych można wstawić je do tabel produkcyjnych.

Ograniczenia

Magazyn obsługuje wiele funkcji tabeli oferowanych przez inne bazy danych, ale nie wszystkie.

  • Globalne tabele tymczasowe nie są obecnie obsługiwane.

Na poniższej liście przedstawiono niektóre funkcje tabeli, które nie są obecnie obsługiwane.

  • Maksymalna liczba kolumn na tabelę: 1024
  • Obliczone kolumny
  • Widoki indeksowane
  • Tabele partycjonowane
  • Kolejność
  • Kolumny rozrzedłe
  • Klucze zastępcze w sekwencjach liczbowych z kolumnami tożsamości
  • Synonimy
  • Wyzwalacze
  • Indeksy unikatowe
  • Typy definiowane przez użytkownika
  • Tabele zewnętrzne

Ważne

Istnieją ograniczenia dotyczące dodawania ograniczeń tabeli lub kolumn podczas korzystania z kontroli źródła w magazynie.