Sakte Endre Dimensjoner (SCD) – dimensjoner som endres sakte over tid, snarere enn å endre på regelmessig basis, gang-base. I Data Warehouse det er et behov for å spore endringer i dimensjon attributter for å rapportere historiske data. Med andre ord, gjennomføring av SCD typer bør gjøre det mulig for brukere å tildele riktig dimensjon s-attributt-verdi for en gitt dato. Eksempel på slike mål kan være: kunde, geografi, ansatt.,

Det er mange måter hvordan å håndtere SCD. De mest populære er:

  • Skriv inn 0 – passiv metode
  • Type 1 – Overskrive den gamle verdien
  • Type 2 – å Skape en ny supplerende opptak
  • Skriv inn 3 – Legge til en ny kolonne
  • Skriv inn 4 – Bruk av historiske tabell
  • Skriv inn 6 – Kombinere tilnærminger typer 1,2,3 (1+2+3=6)

Skriv inn 0 – passiv metode. I denne metoden ingen spesielle tiltak er utført ved dimensjonale endringer. Noen dimensjon data kan forbli den samme som den ble første gang satt inn, kan andre bli overskrevet.,

Type 1 – Overskrive den gamle verdien. I denne metoden ingen historie med dimensjon endringer er holdt i databasen. Den gamle dimensjon verdi er rett og slett overskrevet være den nye. Denne typen er enkle å vedlikeholde, og er ofte bruk for data over hvilke endringer som er forårsaket av behandling korreksjoner(f.eks. fjerning spesialtegn, korrigering av stavefeil).,

Før endring:

Customer_ID Customer_Name Customer_Type
1 Cust_1 Corporate

Etter endringen:

Customer_ID Customer_Name Customer_Type
1 Cust_1 Detaljhandel

Type 2 – å Skape en ny supplerende opptak., I denne metodikken alle historie dimensjon endringer er holdt i databasen. Du kan ta attributtendring ved å legge til en ny rad med en ny surrogat-tasten til dimensjonen på bordet. Både tidligere og nye rader som inneholder attributter den naturlige tasten(eller andre holdbar identifier). Også «effektiv dato» og «dagens indikator’ kolonner er brukt i denne metoden. Det kan bare være én rekord med gjeldende indikator satt til ‘Y’. For «effektiv dato’ kolonner, dvs. start_date og end_date, den end_date for gjeldende oppføring vanligvis er satt til verdi 9999-12-31., Å innføre endringer i dimensjonal modell i type 2 kan være veldig dyrt database drift, så det er ikke anbefalt å bruke den i mål, hvor en ny attributt kan bli lagt til i fremtiden.,

Før endring:

Customer_ID Customer_Name Customer_Type Start_Date End_Date Current_Flag
1 Cust_1 Corporate 22-07-2010 31-12-9999 Y

Etter endringen:

Type 3 – Legge til en ny kolonne. I denne typen vanligvis bare den nåværende og forrige verdi av dimensjon er holdt i databasen., Den nye verdien er lagt inn ‘current/nye» kolonnen og den gamle til den » gamle/eldre kolonnen. Generelt kan en si at historien er begrenset til antall kolonne opprettet for lagring av historiske data. Dette er den minst vanlige nødvendig teknikk.,iv id=»2f5bdb6350″>

Customer_ID Customer_Name Current_Type Previous_Type 1 Cust_1 Corporate Corporate

Etter endringen:

Customer_ID Customer_Name Current_Type Previous_Type
1 Cust_1 Detaljhandel Corporate

Skriv inn 4 – Bruk av historiske tabellen., I denne metoden en egen historisk tabellen brukes til å spore alle dimensjon s-attributtet historiske endringer for hver enkelt dimensjon. ‘Main’ dimensjon tabell holder bare den gjeldende data f.eks. kunden og customer_history bord.

Gjeldende tabell:

Customer_ID Customer_Name Customer_Type
1 Cust_1 Corporate

Historisk tabell:

Skriv inn 6 – Kombinere tilnærminger typer 1,2,3 (1+2+3=6)., I denne typen vi har i dimensjon tabell slik flere kolonner som:

  • current_type – for å holde verdien av attributtet. All historie forteller for gitt element av attributtet har den samme verdien.
  • historical_type – for å holde historiske verdien av attributtet. All historie forteller for gitt element av attributtet kan ha forskjellige verdier.
  • start_date – for å holde startdato av «effektiv dato» av attributtet ‘ s historie.
  • end_date – for å holde sluttdato av «effektiv dato» av attributtet ‘ s historie.,
  • current_flag – for å holde informasjon om de nyeste spille inn.

I denne metoden for å ta attributtendring vi legge til en ny oppføring som i type 2. Den current_type informasjon er overskrevet med nye som i type 1. Vi lagrer historie i en historical_column som i type 3.

Articles

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *