Slowly Changing Dimensions ( SCD) je mechanismus pro sledování změn v datech rozměrů z hlediska datového skladu [1] [2] . Používá se, pokud se data nemění příliš často a ne podle plánu. Příkladem jsou geografická data (umístění skladu, sídlo organizace), status zákazníka v rámci věrnostního programu nebo oddělení firmy, ve kterém její zaměstnanec pracuje [3] .
Existuje několik typů SCD [4] .
Typ null (SCD0) je pasivní metoda, protože se očekává, že hodnoty atributů tohoto typu se nezmění. Příkladem je datum vytvoření záznamu, datum a místo narození, sériové číslo zařízení [5] .
Příklad:
Číslo série a pasu | Celé jméno | Místo narození |
---|---|---|
1800 223111 | Ivanov Sergej Petrovič | Kyzyl |
První typ (SCD1) používá jednoduché přepsání: data v tabulce jsou zcela nahrazena novými (nejaktuálnějšími). Historicita je zcela ztracena, to znamená, že po aktualizaci není možné sledovat řetězec změn [6] .
Příklad:
Náhradní klíč (ID záznamu) zůstává stejný. Hodnoty polí " Pozice " a " Oddělení " jsou nahrazeny novými. Obchodní klíč (Personal number) se v tomto příkladu nemění, ale lze jej v případě potřeby změnit analogicky s jinými poli.
ID záznamu | Personální číslo | Celé jméno | Pracovní pozice | oddělení |
---|---|---|---|---|
1026 | IB-69420 | Ivanov Sergej Petrovič | Junior specialista | Oddělení velkoobchodních nákupů |
ID záznamu | Personální číslo | Celé jméno | Pracovní pozice | oddělení |
---|---|---|---|---|
1026 | IB-69420 | Ivanov Sergej Petrovič | Hlavní specialista | Obchodní oddělení |
Druhý typ (SCD2) využívá přidání nového řádku a sloupců navíc. Tento přístup zachovává historii.
Navíc můžete přidat sloupce služeb, které mohou být zodpovědné za verzování, stav a časový interval, během kterého lze tyto řádky považovat za relevantní.
Příklad: Náhradní klíč ( ID záznamu ) je vytvořen nový. Obchodní klíč ( Personální číslo ) se nemění, což umožňuje propojit přidaný řádek s původním [3] .
ID záznamu | Personální číslo | Celé jméno | Pracovní pozice | oddělení |
---|---|---|---|---|
1026 | IB-69420 | Ivanov Sergej Petrovič | Junior specialista | Oddělení velkoobchodních nákupů |
Byl přidán pouze řádek
Přidaný řádek obsahuje nové hodnoty pro pole „ Pozice “ a „ Oddělení “.
ID záznamu | Personální číslo | Celé jméno | Pracovní pozice | oddělení |
---|---|---|---|---|
1026 | IB-69420 | Ivanov Sergej Petrovič | Junior specialista | Oddělení velkoobchodních nákupů |
1027 | IB-69420 | Ivanov Sergej Petrovič | Hlavní specialista | Obchodní oddělení |
Přidán řádek a sloupec s příznakem
Přidaný řádek obsahuje nové hodnoty pro pole „ Pozice “ a „ Oddělení “. Přidaný sloupec obsahuje stav záznamu v tabulce. Kromě tohoto stavu lze použít jakýkoli jiný příznak, například fáze vyjednávání.
ID záznamu | Personální číslo | Celé jméno | Pracovní pozice | oddělení | Postavení |
---|---|---|---|---|---|
1026 | IB-69420 | Ivanov Sergej Petrovič | Junior specialista | Oddělení velkoobchodních nákupů | NEPRAVDIVÉ |
1027 | IB-69420 | Ivanov Sergej Petrovič | Hlavní specialista | Obchodní oddělení | SKUTEČNÝ |
Přidán řádek a sloupec s verzí
ID záznamu | Personální číslo | Celé jméno | Pracovní pozice | oddělení | Verze |
---|---|---|---|---|---|
1026 | IB-69420 | Ivanov Sergej Petrovič | Junior specialista | Oddělení velkoobchodních nákupů | 0 |
1027 | IB-69420 | Ivanov Sergej Petrovič | Hlavní specialista | Obchodní oddělení | jeden |
S každou novou změnou číslo verze postupně roste.
Přidán řádek a sloupce s rozsahem
ID záznamu | Personální číslo | Celé jméno | Pracovní pozice | oddělení | datum začátku | Datum spotřeby |
---|---|---|---|---|---|---|
1026 | IB-69420 | Ivanov Sergej Petrovič | Junior specialista | Oddělení velkoobchodních nákupů | 2000-01-01T00:00:00 | 2008-08-08T00:00:00 |
1027 | IB-69420 | Ivanov Sergej Petrovič | Hlavní specialista | Obchodní oddělení | 2008-08-08T00:00:00 | NULA |
Namísto hodnoty NULL v hodnotě sloupce Datum ukončení k označení, že řádek je nejaktuálnější, můžete použít hodnotu " 9999-12-31T00:00:00 ".
Hodnota data ukončení předchozího řádku je stejná jako hodnota data zahájení následujícího řádku.
Přidán řádek a sloupce s datem účinnosti změny
ID záznamu | Personální číslo | Celé jméno | Pracovní pozice | oddělení | Datum účinnosti | Postavení |
---|---|---|---|---|---|---|
1026 | IB-69420 | Ivanov Sergej Petrovič | Junior specialista | Oddělení velkoobchodních nákupů | 2000-01-01T00:00:00 | SKUTEČNÝ |
1027 | IB-69420 | Ivanov Sergej Petrovič | Hlavní specialista | Obchodní oddělení | 2008-08-08T00:00:00 | NEPRAVDIVÉ |
Třetí typ (SCD3) používá přidání nových sloupců atributů, které ukládají předchozí hodnotu, aby se zachovala historie. Tento typ se ve své čisté podobě vyskytuje jen zřídka [7] a podniky jej potřebují v situacích, kdy je nutné sledovat změny pouze u konkrétních parametrů.
Příklad [8] :
ID záznamu | Personální číslo | Celé jméno | Pracovní pozice | oddělení |
---|---|---|---|---|
1026 | IB-69420 | Ivanov Sergej Petrovič | Junior specialista | Oddělení velkoobchodních nákupů |
ID záznamu | Personální číslo | Celé jméno | Bývalá pozice | Aktuální pozice | Bývalé oddělení | oddělení | Datum účinnosti |
---|---|---|---|---|---|---|---|
1026 | IB-69420 | Ivanov Sergej Petrovič | Junior specialista | Hlavní specialista | Oddělení velkoobchodních nákupů | Obchodní oddělení | 2000-01-01T00:00:00 |
Třetí typ si zachovává pouze omezenou historicitu (pouze do předchozí hodnoty), což jej činí méně smysluplným než typ 2 [9] .
Úložiště dat | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
| ||||||||||||||
| ||||||||||||||
Kategorie |