langzaam veranderende dimensies (SCD)-dimensies die langzaam veranderen in de loop van de tijd, in plaats van te veranderen volgens het normale schema, time-base. In datawarehouse is er een noodzaak om veranderingen in dimensie attributen te volgen om historische gegevens te rapporteren. Met andere woorden, het implementeren van een van de SCD types moet gebruikers in staat stellen de attribuutwaarde van de juiste dimensie toe te wijzen voor een bepaalde datum. Voorbeeld van dergelijke dimensies zou kunnen zijn: klant, geografie, werknemer.,

Er zijn veel manieren om met SCD om te gaan. De meest populaire zijn:

  • Type 0 – de passieve methode
  • Type 1 – De Oude waarde overschrijven
  • Type 2 – Een nieuw extra record aanmaken
  • Type 3-Een nieuwe kolom toevoegen
  • Type 4 – Gebruik historische tabel
  • Type 6-combineer benaderingen van typen 1,2,3 (1+2+3=6)

Type 0-de passieve methode. In deze methode wordt geen speciale actie uitgevoerd op dimensionale veranderingen. Sommige dimensiegegevens kunnen hetzelfde blijven als het voor het eerst werd ingevoegd, andere kunnen worden overschreven.,

Type 1-overschrijven van de Oude waarde. In deze methode wordt geen geschiedenis van dimensiewijzigingen bewaard in de database. De oude dimensie waarde wordt gewoon overschreven als de nieuwe. Dit type is eenvoudig te onderhouden en wordt vaak gebruikt voor gegevens die worden gewijzigd door het verwerken van correcties(bijvoorbeeld het verwijderen van speciale tekens, het corrigeren van spelfouten).,

Voordat de wijziging:

Customer_ID Customer_Name Klanttype
1 Cust_1 Zakelijk

Na de wijziging:

Customer_ID Customer_Name Klanttype
1 Cust_1 Retail

Type 2 – het Maken van een nieuwe record., In deze methodologie wordt alle geschiedenis van dimensieveranderingen bewaard in de database. U legt attribuutverandering vast door een nieuwe rij met een nieuwe surrogaatsleutel toe te voegen aan de dimensietabel. Zowel de vorige als de nieuwe rijen bevatten als attributen de natuurlijke sleutel (of een andere duurzame identifier). In deze methode worden ook de kolommen “ingangsdatum” en “huidige indicator” gebruikt. Er kon slechts één record met de huidige indicator ingesteld op ‘Y’. Voor de kolommen “ingangsdatum”, d.w.z. start_date en end_date, wordt de end_date voor het huidige record gewoonlijk ingesteld op de waarde 9999-12-31., Het invoeren van wijzigingen in het dimensionale model in type 2 kan zeer dure database operatie dus het wordt niet aanbevolen om het te gebruiken in dimensies waar een nieuw attribuut kan worden toegevoegd in de toekomst.,

Voordat de wijziging:

Customer_ID Customer_Name Klanttype Begindatum End_Date Current_Flag
1 Cust_1 Zakelijk 22-07-2010 31-12-9999 Y

Na het wijzigen:

Type 3 – het Toevoegen van een nieuwe kolom. In dit type wordt meestal alleen de huidige en vorige waarde van dimensie bewaard in de database., De nieuwe waarde wordt geladen in de kolom ‘huidige/nieuwe’ en de oude in de kolom ‘oude/vorige’. Over het algemeen is de geschiedenis beperkt tot het aantal kolommen gemaakt voor het opslaan van historische gegevens. Dit is de minst algemeen benodigde techniek.,iv id=”2f5bdb6350″>

Customer_ID Customer_Name Current_Type Previous_Type 1 Cust_1 Zakelijk Zakelijk

Na de wijziging:

Customer_ID Customer_Name Current_Type Previous_Type
1 Cust_1 Retail Zakelijk

het Type 4 – de hand van historische tabel., In deze methode wordt een aparte historische tabel gebruikt om alle attributen van de dimensie historische veranderingen voor elk van de dimensie te volgen. De’ main ‘ dimensietabel houdt alleen de huidige gegevens bij, bijvoorbeeld klant-en customer_history-tabellen.

de Huidige tabel:

Customer_ID Customer_Name Klanttype
1 Cust_1 Zakelijk

Historische tabel:

Type 6 – een combinatie van benaderingen van soorten 1,2,3 (1+2+3=6)., In dit type hebben we in dimensietabel extra kolommen als:

  • current_type-voor het behouden van de huidige waarde van het attribuut. Alle geschiedenisrecords voor een bepaald attribuutitem hebben dezelfde huidige waarde.
  • historical_type – voor het behouden van de historische waarde van het kenmerk. Alle geschiedenisrecords voor een bepaald attribuutitem kunnen verschillende waarden hebben.
  • start_date-voor het bijhouden van de begindatum van de “ingangsdatum” van de geschiedenis van het kenmerk.
  • einddatum-voor het bijhouden van de einddatum van de “ingangsdatum” van de geschiedenis van het kenmerk.,
  • current_flag – voor het bijhouden van informatie over de meest recente record.

in deze methode om attribuutverandering vast te leggen voegen we een nieuw record toe zoals in type 2. De current_type informatie wordt overschreven met de nieuwe zoals in type 1. We slaan de geschiedenis op in een historical_column zoals in type 3.

Articles

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *