Różnica między tabelą faktów a tabelą wymiarów?


113

Czytając książkę dotyczącą obiektów biznesowych, natrafiłem na tabelę terminów i tabelę wymiarów.

Próbuję zrozumieć, jaka jest różnica między tabelą wymiarów a tabelą faktów?

Przeczytałem kilka artykułów w internecie, ale nie byłem w stanie ich dobrze zrozumieć.

Jakiś prosty przykład pomoże mi lepiej zrozumieć?


Koncepcja jest dość długa, aby opisać ją szczegółowo, jeśli masz konkretny problem poza podstawową definicją, powiedz nam o nim.
NoChance

Zasadniczo próbowałem zrozumieć, czy tabele wymiarów mogą być również tabelami faktów, czy nie?

Odpowiedzi:


53

To jest odpowiedź na część:

Próbowałem zrozumieć, czy tabele wymiarów mogą być również tabelami faktów, czy nie?

Krótka odpowiedź (INMO) brzmi nie, ponieważ dwa typy tabel są tworzone z różnych powodów. Jednak z punktu widzenia projektu bazy danych tabela wymiarów może mieć tabelę nadrzędną w przypadku tabeli faktów, która zawsze ma tabelę wymiarów (lub więcej) jako tabelę nadrzędną. Ponadto tabele faktów mogą być agregowane, podczas gdy tabele wymiarów nie są agregowane. Innym powodem jest to, że tabele faktów nie powinny być aktualizowane na miejscu, podczas gdy tabele wymiarów mogą być aktualizowane w niektórych przypadkach.

Więcej szczegółów:

Tabele faktów i wymiarów pojawiają się w tak zwanym schemacie gwiaździstym. Podstawowym celem schematu gwiaździstego jest uproszczenie złożonego znormalizowanego zestawu tabel i konsolidacja danych (prawdopodobnie z różnych systemów) w jedną strukturę bazy danych, którą można przeszukiwać w bardzo efektywny sposób.

W swojej najprostszej formie zawiera tabelę faktów (przykład: StoreSales) oraz co najmniej jedną tabelę wymiarów. Z każdym wpisem wymiaru jest skojarzonych co najmniej 0,1 tabel faktów (przykład tabel wymiarów: geografia, pozycja, dostawca, klient, czas itp.). Byłoby również ważne, aby wymiar miał rodzica, w którym to przypadku model jest typu „Płatek śniegu”. Jednak projektanci starają się unikać tego rodzaju projektów, ponieważ powoduje on więcej połączeń, niższą wydajność. W przykładzie StoreSales wymiar Geography może składać się z kolumn (GeoID, ContenentName, CountryName, StateProvName, CityName, StartDate, EndDate)

W modelu płatków śniegu możesz mieć 2 znormalizowane tabele dla informacji geograficznych, a mianowicie: tabelę zawartości, tabelę krajów.

Możesz znaleźć wiele przykładów na schemacie gwiezdnym. Sprawdź również, aby zobaczyć alternatywny widok na model schematu gwiazdy Inmon vs. Kimball . Kimbal ma dobre forum, które możesz również sprawdzić tutaj: Forum Kimball .

Edycja: Aby odpowiedzieć na komentarz dotyczący przykładów dla 4NF:

  • Przykład tabeli faktów naruszającej 4NF:

Fakt sprzedaży (ID, BranchID, SalesPersonID, ItemID, Amount, TimeID)

  • Przykład tabeli faktów, która nie narusza 4NF:

AggregatedSales (BranchID, TotalAmount)

Tutaj relacja jest w 4NF

Ostatni przykład jest raczej rzadki.


1
Niektóre tabele faktów odzwierciedlają dane na poziomie transakcji. Niektóre odzwierciedlają dane zagregowane. Tabela faktów w schemacie gwiazdy nie musi być nawet w 3NF. Na przykład fakt sprzedaży może zawierać dane takie jak (ID, ID oddziału, Kwota, Osoba Sprzedaży, Czas) - narusza to 3NF, BCNF i 4NF, ponieważ zależność Sprzedawca i Oddział. W związku z tym nie jest prawdą, że typowa tabela faktów jest w 4NF.
NoChance

259

W modelowaniu hurtowni danych schemat gwiazdy i schemat płatka śniegu składają się z tabel faktów i wymiarów .

Tabela faktów:

  • Zawiera wszystkie podstawowe klucze wymiaru i powiązane fakty lub miary (jest to właściwość, na podstawie której można dokonywać obliczeń), takie jak sprzedana ilość, sprzedana ilość i średnia sprzedaż.

Tabele wymiarów:

  • Tabele wymiarów zawierają opisowe informacje dla wszystkich zarejestrowanych pomiarów.
  • W porównaniu z tabelą faktów wymiary są stosunkowo bardzo małe.
  • Powszechnie używanymi wymiarami są ludzie, produkty, miejsce i czas.

wprowadź opis obrazu tutaj

Źródło obrazu


52
jest to o wiele bardziej pomocne niż zaakceptowana odpowiedź
Booji Boy

15
Cóż, obraz jest wart tysiąca słów. Nie rozumiałem niczego, czytając inne odpowiedzi, ale ta mnie uratowała.
The One

Wymiary wyglądają na stosunkowo duże w porównaniu z tabelą faktów na diagramie, ponieważ zawiera ona więcej danych opisowych. I jest ich więcej
Blue Clouds

1
@Blue Clouds: Musisz zdać sobie sprawę, że tabela faktów zawiera jeden wpis dla każdej możliwej kombinacji for dim´s (przynajmniej jeśli są dane). Podczas gdy wymiar lokalizacji będzie zawierał maksymalnie jeden wpis dla każdej możliwej lokalizacji (powiedzmy 50 punktów sprzedaży) i będzie rzadko wzrastał, gdy dodawane są nowe pozycje, tabela faktów prawdopodobnie będzie rosła każdego dnia według lokalizacji x elementów x gałęzi. Tak więc fakty szybko się zwiększą w liczbie rekordów.
Daniel

@Premraj Czy tabela faktów może istnieć bez klucza podstawowego?
Kalana

109

Wydaje się, że jest to bardzo prosta odpowiedź, jak rozróżnić tabele faktów i wymiarów!

Pomocne może być myślenie o wymiarach jako o rzeczach lub przedmiotach. Rzecz taka jak produkt może istnieć bez udziału w wydarzeniu biznesowym. Wymiar to twój rzeczownik. To coś, co może istnieć niezależnie od wydarzenia biznesowego, takiego jak sprzedaż. Produkty, pracownicy, sprzęt to wszystko, co istnieje. Wymiar albo coś robi, albo coś z tym zrobił.

Pracownicy sprzedają, klienci kupują. Pracownicy i klienci są przykładami wymiarów, tak robią.

Produkty są sprzedawane, mają też wymiary, ponieważ coś z nimi zrobiono.

Fakty, to czasownik. Wpis w tabeli faktów oznacza dyskretne zdarzenie, które dzieje się z czymś z tabeli wymiarów. Sprzedaż produktu byłaby rejestrowana w tabeli faktów. Zdarzenie sprzedaży byłoby odnotowywane na podstawie tego, jaki produkt został sprzedany, który pracownik go sprzedał i który klient go kupił. Produkt, pracownik i klient to wszystkie wymiary opisujące wydarzenie, sprzedaż.

Ponadto tabele faktów zawierają zwykle również dane ilościowe. Sprzedana ilość, cena za sztukę, łączna cena itd.

Źródło: http://arcanecode.com/2007/07/23/dimensions-versus-facts-in-data-warehousing/


5
Świetne pisanie, wystarczyło 5 minut, aby zrozumieć koncepcję.
user1951

Podsumowując: wymiary to atrybuty faktów. DAFE. Co robisz, DAFE?
youcantryreachingme

3
Tak, tak je pamiętam. To odwrotność tego, co myślisz. Można by pomyśleć, że fakty są osadzone w kamieniu, a wymiary są dynamiczne, oparte na samych słowach. Ale jest odwrotnie: podstawowa tabela dim to dość statyczna lista odnośników, a podstawowa tabela faktów to żywe dane, które są wprowadzane.
cofnij

1
To było moje ulubione wyjaśnienie i spowodowało, że kliknęło mi w głowie, dzięki!
Arjun Arun

9

Ta odpowiedź była dla mnie łatwiejsza do zrozumienia z perspektywy osoby, która nie zna zbyt wiele terminologii DB / DW.

http://databases.about.com/od/datamining/a/Facts-Vs-Dimensions.htm

Zalecam najpierw przejrzenie tego, a następnie odpowiedź Emmada Kareema, aby uzyskać bardziej szczegółowe informacje. Mam nadzieję, że to pomocne.


1
Pierwsze wyjaśnienie, które jest całkowicie jasne. Bardzo pomocny przykład w prostym, świeckim języku, ujawniający pewne szczegóły. Teraz w końcu to rozumiem.
sharon

Bardzo ładnie ... Myślę, że masz rację ... przeczytaj to najpierw. Wszystkie odpowiedzi są pomocne ... ale ta ma sposób na werbalizację pojęcia w bardziej „ludzkich” terminach.
Code Novice

4

Super proste wyjaśnienie:

Tabela faktów: tabela danych, która odwzorowuje razem identyfikatory odnośników. Zwykle jest jedną z głównych tabel w Twojej aplikacji.

Tabela wymiarów: tabela przeglądowa używana do przechowywania wartości (takich jak nazwy miast lub stany), które są często powtarzane w tabeli faktów.


2

W najprostszej formie myślę, że tabela wymiarów jest czymś w rodzaju tabeli „Master” - która zawiera listę wszystkich „elementów”, że tak powiem.

Tabela faktów to tabela transakcji, która opisuje wszystkie transakcje. Ponadto zagregowane (pogrupowane) dane, takie jak całkowita sprzedaż według sprzedawcy, całkowita sprzedaż według branży - tego typu tabele mogą również istnieć jako niezależne tabele faktów.


2

Tabela wymiarów Tabela wymiarów to tabela zawierająca atrybuty pomiarów przechowywanych w tabelach faktów. Ta tabela składa się z hierarchii, kategorii i logiki, których można używać do przechodzenia przez węzły.

Tabela faktów zawiera pomiar procesów biznesowych i zawiera klucze obce dla tabel wymiarów.

Przykład - jeśli proces biznesowy polega na wytwarzaniu cegieł

Średnia liczba cegieł wyprodukowanych przez jedną osobę / maszynę - miara procesu biznesowego


1
  1. Tabela faktów składa się głównie z faktów biznesowych i kluczy obcych, które odwołują się do kluczy podstawowych w tabelach wymiarów. Tabela wymiarów składa się głównie z atrybutów opisowych, które są polami tekstowymi.
  2. Tabela wymiarów zawiera klucz zastępczy, klucz naturalny i zestaw atrybutów. Wręcz przeciwnie, tabela faktów zawiera klucz obcy, pomiary i zdegenerowane wymiary.
  3. Tabele wymiarów zapewniają opisowe lub kontekstowe informacje na potrzeby pomiaru tabeli faktów. Z drugiej strony tabele faktów dostarczają miary przedsiębiorstwa.
  4. Porównując rozmiar dwóch tabel, tabela faktów jest większa niż tabela wymiarów. W tabeli porównawczej prezentowanych jest więcej wymiarów niż w tabelach faktów. W tabeli faktów obserwuje się mniej faktów.
  5. Tabelę wymiarów należy najpierw załadować. Podczas wczytywania tabel faktów należy spojrzeć na tabelę wymiarów. Dzieje się tak, ponieważ tabela faktów zawiera miary, fakty i klucze obce, które są kluczami podstawowymi w tabeli wymiarów.

Czytaj więcej: Tabela wymiarów i tabela faktów | Różnica między | Tabela wymiarów a tabela faktów http://www.differencebetween.net/technology/hardware-technology/dimension-table-and-fact-table/#ixzz3SBp8kPzo


-3

Tabela wymiarów: To nic innego, ale możemy przechowywać informacje o scharakteryzowanej dacie zwane tabelą wymiarów.

Przykład: wymiar czasu, wymiar produktu.

Tabela faktów: To nic innego, jak możemy przechowywać informacje o metrykach lub danych wstępnych obliczeń.

Przykład: fakt sprzedaży, fakt zamówienia.

Schemat gwiazdy: jedno łącze do tabeli faktów z tabelą wymiarów jako schematem początkowym.

wprowadź opis obrazu tutaj


2
(Wydaje się, że ten post nie zapewnia dobrej odpowiedzi na pytanie. Zmień odpowiedź lub po prostu opublikuj ją jako komentarz do pytania).
sɐunıɔ ןɐ qɐp
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.