Punctul care distinge tabelul Fact și tabelul Dimensiune este acela că tabela de dimensiuni conține atribute prin care se iau masuri în tabel . Există și alți factori care creează diferențe între tabelul de fapte și tabelul de dimensiuni pentru a le vedea, să aruncăm o privire la tabelul de comparație prezentat mai jos.
Diagramă de comparație
Bazele comparației | Factuală | Tabel de dimensiuni |
---|---|---|
De bază | Factul conține măsurarea de-a lungul atributelor unui tabel de dimensiuni. | Tabelul cu dimensiuni conține atributele de-a lungul cărora tabelul de fapte calculează valoarea. |
Atribut și înregistrări | Factul conține mai puține atribute și mai multe înregistrări. | Tabelul cu dimensiuni conține mai multe atribute și mai puține înregistrări. |
Dimensiunea mesei | Figura tabelă crește vertical. | Tabelul de dimensiuni crește orizontal. |
Cheie | Factul conține o cheie primară care este o concatenare a cheilor primare din toate tabelele de dimensiuni. | Fiecare tabelă de dimensiuni conține cheia primară. |
Creare | Tabela de fapte poate fi creată numai atunci când tabelele de dimensiuni sunt finalizate. | Tabelele de dimensiuni trebuie create mai întâi. |
Schemă | O schemă conține un număr mai mic de tabele factuale. | O schemă conține un număr mai mare de tabele de dimensiuni. |
atribute | Factualul poate avea date atât în format numeric, cât și în format textual. | Tabelul cu dimensiuni conține întotdeauna atribute în format textual. |
Definiția Fact Table
Un tabel Fact este un tabel care conține măsurători de -a lungul atributelor tabelelor de dimensiuni. Poate conține informațiile la cel mai mic nivel posibil. Unele tabele factuale conțin doar date sumare, numite Agregate Fact Table . Tabelul de fapt conține aproape datele cu date ștampilate . Să discutăm despre caracteristicile unei tabele factuale.
Cheie concatenată
Factul conține cheia concatenată care este concatenarea cheilor primare ale tuturor tabelelor de dimensiuni. Tasta concatenată a tabelului de fapte trebuie să identifice în mod unic rândul într-un tabel fact.
Cereale de date
Semintele de date arată cât de mult s-au stocat măsurătorile din tabelul de fapt. Cerealele de date trebuie să fie la cel mai înalt nivel posibil.
Măsuri de aditivare
Atributele tabelului de fapte pot fi complet aditive sau semi-aditive . Măsurile cu totul aditiv sunt cele care pot fi ușor rezumate pentru toate dimensiunile, de fapt tabelul. De exemplu, quantity_ordered, este un atribut care poate fi rezumat pentru toate dimensiunile. De exemplu, putem lua în considerare cantitatea totală, pentru un anumit client, regiune, dată, marcă etc. Măsurile semi-adiționale sunt cele care pot fi rezumate pe unele dimensiuni ale tabelului de fapt, dar nu toate dimensiunile. De exemplu, suma echilibrului nu poate fi însumată în timp, deoarece se schimbă în timp.
Datele rare
Uneori putem vedea înregistrările în tabel propriu, care au atribute cu măsuri nul . De exemplu, este posibil să nu existe nici o comandă pe o vacanță. Deci, atributele pentru această dată vor avea măsuri nulă. Nu trebuie să stocăm măsura pentru astfel de înregistrări, deoarece nu oferă nicio informație.
Dimensiuni degenerate
Uneori puteți întâlni unele dimensiuni în tabelul de fapt, care nu sunt aditiv deloc. De exemplu, numărul de ordine, customer_id, nu puteți adăuga aceste tipuri de dimensiuni. Cu toate acestea, în cazul în care trebuie să găsiți o comandă făcută de un anumit client în această lună; atunci veți avea nevoie de client_id pentru a raporta căutarea dvs. Aceste tipuri dacă atributele sau dimensiunile tabelului de fapt sunt numite Dimensiune degenerată .
Definiția dimensiunii tabelului
Tabelul de dimensiuni reprezintă o componentă cheie pentru schema de pornire. O tabelă de dimensiuni conține atributele care reprezintă dimensiunile, de-a lungul cărora măsurarea este luată în tabel. Mai mult, vom discuta câteva caracteristici ale unei tabele de dimensiuni.
Atribute și chei
Fiecare tabelă de dimensiuni trebuie să aibă o cheie primară care identifică în mod unic fiecare înregistrare a tabelului. Se observă frecvent că tabela de dimensiuni conține multe atribute. Prin urmare, pare să fie largă, adică atunci când creați o tabelă de dimensiuni veți găsi că se răspândește orizontal .
Valorile atributelor
Valorile atributelor din tabelul de dimensiuni sunt rareori numerice, de cele mai multe ori veți găsi că valorile din atribute sunt în format textual . De exemplu, numele produsului, marca, categoria, subcategoria etc.
Relația dintre atribute
Frecvent puteți observa că atributele pe care le întâlniți într-un tabel de dimensiuni nu sunt direct legate. Ca și cum Brand-ul de produs nu trebuie să facă nimic cu pachetul_date, dar ambele ar putea fi atributele tabelului Dimensiune produs.
Normalizare
Tabela de dimensiuni nu ar trebui să fie normalizată . Acest lucru se datorează faptului că normalizarea unei tabele ar crea multe mese intermediare. Atunci când o interogare preia un atribut din tabelul de dimensiuni și recuperează măsurătorile de-a lungul acelei tabele, interogarea trebuie să treacă prin tabelele intermediare care devin ineficiente. Prin urmare, tabelele de dimensiuni nu sunt normalizate.
Încărcarea, răsucirea
Atributele tabelului de dimensiuni vă permit să obțineți detaliile fie prin trecerea de la un nivel mai ridicat de atribute agregate la atribute de nivel inferior. De exemplu, dacă doriți să găsiți vânzarea totală într-o regiune, puteți efectua o analiză detaliată pentru a găsi vânzări în funcție de stat, oraș, zip. Puteți chiar să vă răsuciți pentru a găsi vânzările totale înainte de zip, apoi de oraș și apoi de stat.
Ierarhia multiplă
Deseori tabelul de dimensiuni oferă ierarhii multiple. De exemplu, avem un tabel de dimensiuni de produs pentru un magazin departamental. Acum, avem două departamente departamentul de marketing și contabilitate.
Departamentul de marketing va analiza printre atributele tabelului de dimensiuni de produs într-o anumită ierarhie pentru a obține măsurători pentru tabelul de fapte.
Pe alte mâini, departamentul de contabilitate va examina printre atributele tabelului de dimensiuni de produs în diferitele ierarhii pentru a obține măsurători pentru tabelul de fapte.
Deci, tabelul de dimensiuni trebuie să aibă mai multe ierarhii sau un nivel de agregare a atributelor pentru a permite utilizatorilor să coboare pe oricare dintre ierarhiile multiple.
Înregistrări
Deși un tabel de dimensiuni are prea multe atribute, are mai puține înregistrări.
Diferențele cheie între tabelul de fapte și tabelul de dimensiuni
- Factul conține măsurători de-a lungul dimensiunii / atributelor unui tabel de dimensiuni.
- Factul conține mai multe înregistrări și un atribut mai mic comparativ cu tabela de dimensiuni, în timp ce tabelul de dimensiuni conține mai multe atribute și mai puține înregistrări.
- Dimensiunea tabelului tabelului de fapte crește vertical, în timp ce mărimea tabelului tabelului de dimensiuni crește orizontal.
- Fiecare tabelă de dimensiuni conține o cheie primară pentru identificarea fiecărei înregistrări din tabel, în timp ce tabela fact conține o cheie concatenată care este o combinație a tuturor cheilor primare ale tuturor tabelelor de dimensiuni.
- Tabelul de dimensiuni trebuie înregistrat înainte de crearea tabelei factuale.
- O schemă conține mai puține tabele factuale, dar mai multe tabele de dimensiuni.
- Atributele din tabelul de fapt sunt numerice și textuale, dar atributele tabelului de dimensiuni au doar atribute textuale.
Concluzie:
Ambele sunt la fel de importante pentru crearea unei scheme, dar tabelul de dimensiuni trebuie înregistrat înainte de tabela fact. Deoarece este imposibil să creați tabelul de fapte cu dimensiuni în afara.