Slijed Generator Transformacija u informatici

⚡ Pametni sažetak

Slijed Generator Transformacija u Informatici je pasivni, povezani objekt koji proizvodi numeričke nizove za surogatne i primarne ključne stupce, predajući svakom retku vrijednost putem dva fiksna izlazna porta nazvana NEXTVAL i CURRVAL.

  • 🔢 Dva fiksna priključka: NEXTVAL prenosi generirane brojeve, a CURRVAL vraća NEXTVAL plus vrijednost Increment By.
  • Četiri osnovna svojstva: Početna vrijednost, Povećanje za, Završna vrijednost i Ciklus određuju oblik svakog proizvedenog niza.
  • 🧪 Obrađeni primjer: Osma kartaping Koraci dizajnera učitavaju generirane brojeve u stupac SNO cilja EMP_SEQUENCE.
  • ♻️ Mogućnost višekratne upotrebe: Višekratno korišteni niz Generator dijeli nekoliko mapapingi prema zadanim postavkama pohranjuje 1,000 vrijednosti u predmemoriju.
  • 🔒 Portovi su fiksni: Portovi se ne mogu dodavati, uređivati ​​ili brisati, pa se njihovo ponašanje kontrolira s kartice Svojstva.
  • 🗝️ Surogatni ključevi: Tablice dimenzija skladišta koriste generirane ključeve umjesto prirodnih ključeva iz izvornog sustava.

Slijed Generator Transformacija u informatici

Što je Sekvenca Generator Transformacija?

Slijed Generator transformacija je pasivna, pa ne utječe na broj ulaznih redaka. Slijed Generator koristi se za generiranje primarnih ključeva i koristi se za generiranje numeričkih nizova poput 1, 2, 3, 4, 5 itd.

Na primjer, ako želite dodijeliti vrijednosti sekvence izvornim zapisima, možete koristiti Sequence GeneratorGenerirane vrijednosti niza mogu biti poput 5, 10, 15, 20, 25 itd. ili 10, 20, 30, 40, 50 itd., ovisno o konfiguriranim svojstvima transformacije.

Za razliku od većine transformacija, ova uopće nema ulaznih portova. Ne čita dolazne retke, jednostavno predaje sljedeći broj portu na koji je povezan, zbog čega ju je sigurno postaviti pored bilo kojeg cjevovoda u kartaping.

Portovi u nizu Generator transformacija

Slijed Generator ima dva izlazna porta

  • ZAKRIVLJENOST
  • NEXTVAL

Vrijednost porta CURRVAL uvijek je NEXTVAL plus vrijednost Increment By, pa se čita samo kao NEXTVAL+1, dok je Increment By ostavljen na zadanoj vrijednosti 1.

Za generiranje slijednih brojeva uvijek koristimo stupac NEXTVAL. Tablica u nastavku sažima kako se ponašaju dva porta.

luka Što vraća Kada ga spojiti
NEXTVAL Sljedeći broj u nizu za svaki redak koji prolazi kroz cjevovod. Gotovo uvijek. Ovo je port koji dovodi ključni stupac u cilju.
ZAKRIVLJENOST NEXTVAL plus vrijednost Povećanja za. Samo uz NEXTVAL. Povezan samostalno, prosljeđuje istu konstantnu vrijednost za svaki redak.

Niti jedan port ne može se preimenovati ili ukloniti, niti se može dodati treći port, tako da se svaka promjena generiranih brojeva vrši na kartici Svojstva, a ne na portovima.

Svojstva niza Generator transformacija

  • Početna vrijednost – to je prva vrijednost koja će se generirati transformacijom, zadana vrijednost je 0.
  • Povećaj za – ovo je broj za koji želite povećati vrijednosti. Zadana vrijednost je 1.
  • Krajnja vrijednost – To je najveća vrijednost koju bi transformacija trebala generirati.
  • Ciklus – ako je ova opcija postavljena, nakon dostizanja kraja vrijednosti, transformacija se ponovno pokreće od početne vrijednosti.

Tri dodatne postavke pojavljuju se na istoj kartici i važne su čim se transformacija podijeli ili se sesija ponovno pokrene.

Svojstvo Što kontrolira Zadano
Trenutna vrijednost Vrijednost od koje počinje sljedeća sesija. Integracijska usluga ažurira je u repozitoriju kako se generiraju retci. 1
Broj predmemoriranih vrijednosti Koliko je vrijednosti rezervirano u memoriji istovremeno tako da istodobne sesije nikada ne predaju isti broj dva puta. 0 za jednokratnu upotrebu, 1000 za višekratnu upotrebu
Reset Pokreće svaku sesiju od izvorne trenutne vrijednosti umjesto da se nastavi. Nije dostupno na sekvenci koja se može ponovno koristiti. Generators. onesposobljen
TracRazina Količina detalja zapisanih u zapisnik sesije: Sažeto, Normalno, Verbozna inicijalizacija ili Verbozni podaci. Normalan

Kako koristiti sekvencu Generator Transformacija u informatici

U ovom primjeru generirat ćemo slijedne brojeve i pohraniti ih u cilj. Prođite kroz osam koraka u nastavku na mapi.ping Dizajner.

Korak 1) Stvorite ciljnu tablicu pomoću sljedeće skripte.

Preuzmite gornju datoteku emp_sequence.sql

Korak 2) Uvezite tablicu u Informatici kao ciljnu tablicu.

Korak 3) Stvorite novu kartuping i uvozite EMP izvornu i EMP_SEQUENCE ciljnu tablicu. Obje definicije sada se nalaze na platnu, kao što je prikazano dolje.

Kartaping Dizajner s EMP izvorom i uvezenom EMP_SEQUENCE ciljnom definicijom

Korak 4) Stvorite novu transformaciju na kartiping

  1. Odaberite transformaciju niza kao vrstu
  2. Unesite naziv transformacije “seq_emp”
  3. Odaberite opciju Stvori

Stvori prozor za transformaciju sa sekvencom Generator odabrano i uneseno ime seq_emp

Korak 5) Slijed Generator transformacija će biti kreirana, odaberite opciju gotovo. Objekt seq_emp sada se pojavljuje na platnu sa svoja dva porta.

Slijed Generator transformacija seq_emp stvorena na kartiping platno

Korak 6) Poveži stupac NEXTVAL niza Generator u SNO stupac u cilju.

NEXTVAL port seq_emp povezan sa SNO stupcem EMP_SEQUENCE cilja

Korak 7) Povežite ostale stupce iz kvalifikator izvora transformacija u ciljnu tablicu.

Preostali stupci kvalifikatora izvora povezani s ciljnom tablicom EMP_SEQUENCE

Korak 8) Double kliknite na sekvencu Generator za otvaranje prozora svojstava, a zatim

  1. Odaberite karticu svojstava
  2. Unesite svojstva s početnom vrijednošću =1, a ostala svojstva ostavite kao zadana
  3. Odaberite gumb OK

Kartica Svojstva sekvence Generator transformacija s početnom vrijednošću postavljenom na 1

Sada spremite kartuping i izvršite ga nakon što ga kreirate Sjednica i tijek rada.

Stupac sno u cilju sadržavao bi slijedne brojeve generirane od strane Sequence-a. Generator transformacija.

U našem primjeru, nizovi će biti ovako: 1 – Scott, 2 – King, 3 – Adam, 4 – Miller itd.

Višekratno upotrebljivi i jednokratno upotrebljivi niz Generators

Transformacija izgrađena iznad živi unutar jedne mapepingStvaranjem u Transformation Developeru on postaje ponovno upotrebljiv, a oboje se ponašaju drugačije kada je uključeno više od jedne sesije.

Točka usporedbe Za jednokratnu upotrebu Za višekratnu upotrebu
Gdje se stvara Unutar jedne karteping, na Kartiping dizajner U Transformation Developeru, zatim dodano na bilo koji broj mapapings
Broj predmemoriranih vrijednosti Zadano je 0, tako da vrijednosti nisu unaprijed rezervirane Zadano je 1000, tako da svaka sesija rezervira vlastiti blok brojeva
Poništi svojstvo Dostupno i ponovno pokreće slijed od izvorne trenutne vrijednosti Nije dostupno jer bi ponovno pokretanje dodijelilo brojeve koji su već iskorišteni u drugoj sesiji.
Tipična upotreba Jedan ciljni ključni stupac na jednoj mapiping Zajednički surogat ključ na nekoliko mapapingučitava istu dimenziju

Predmemoriranje je ono što razdvaja istodobne sesije. Svaka sesija uzima blok brojeva unaprijed, što znači da brojevi ostaju jedinstveni, ali ne ostaju susjedni: sve vrijednosti koje ostanu neiskorištene kada se sesija završi odbacuju se, a sljedeći blok počinje nakon njih.

Pravila i ograničenja sekvence Generator transformacija

Neki od njih se pojavljuju tek nakon karteping je pokrenut, pa je jeftinije znati ih prije nego što se portovi povežu.

  • Portovi su fiksni. NEXTVAL i CURRVAL se ne mogu uređivati ​​ili brisati, a transformaciji se ne može dodati nijedan daljnji port.
  • CURRVAL sama po sebi vraća konstantu. Poveži CURRVAL samo kada je NEXTVAL također povezan nizvodno, inače svaki red prima istu vrijednost.
  • Dvije mete se pune jedna za drugom. Kada NEXTVAL unosi podatke u dvije ciljne tablice, prva ciljna tablica se učitava svojim brojevima prije početka druge ciljne tablice, tako da se dva skupa ne isprepliću.
  • Praznine su normalne. Predmemorirane vrijednosti koje sesija ne koristi nikada se ne vraćaju, pa neuspješna ili kratka sesija ostavlja praznine u nizu. Dizajnirajte ključni stupac tako da tolerira praznine.
  • Ciklus može stvoriti duplikate. Nakon što se dostigne krajnja vrijednost s omogućenim ciklusom, numeriranje se ponovno pokreće od početne vrijednosti, što će se kolidirati s postojećim ključevima osim ako cilj to ne dopušta.

Budući da nikada ne čita redak, transformacija gotovo ništa ne dodaje vremenu izvođenja sesije, zbog čega se rijetko pojavljuje kao usko grlo tijekom podešavanje izvedbeGdje ključ mora ovisiti o samim podacima, a ne o brojaču, Agregator or Pretvorba stolara je objekt koji obavlja taj rad, a ne ovaj.

Pitanja i odgovori

Surogatni ključ je besmislen broj koji identificira red skladišta umjesto identifikatora izvornog sustava. Ostaje stabilan kada izvor promijeni svoje kodove, a generirani niz je najjednostavniji način za njegovo stvaranje.

Jer numeriranje tada živi na kartiping a ne u jednoj bazi podataka. Ravne datoteke i drugi nerelacijski ciljevi dobivaju ključeve na isti način, a isti objekt za višekratnu upotrebu može brojati nekoliko ciljeva bez objekta baze podataka po tablici.

Krajnja vrijednost prihvaća do 9,223,372,036,854,775,807, najveći predznačeni 64-bitni cijeli broj. Dosezanje te vrijednosti zaustavlja sesiju s pogreškom prelijevanja osim ako nije omogućen ciklus, u kojem slučaju numeriranje ponovno počinje od početne vrijednosti.

Da. NEXTVAL se povezuje s bilo kojom nizvodnom transformacijom, najčešće s izrazom koji gradi složeni ključ ili pretraživanjem koje provjerava postoji li ključ već. Generirani broj zatim putuje dalje s retkom.

Da, ali prvo provjerite cilj. Uređivanje početne vrijednosti ili trenutne vrijednosti na stupcu aktivnog ključa može dati brojeve koje cilj već sadrži, stoga podignite vrijednost iznad najvišeg ključa umjesto da je snizite.

Jedva. Ne čita retke i ne gradi datoteke predmemorije, pa je njegov trošak ažuriranje brojača po retku. Velika učitavanja su ograničena čitačem i programom za pisanje mnogo prije nego što numeriranje postane problem.

AI profileri skeniraju izvorne stupce kako bi predložili koja je kombinacija zaista jedinstvena, označavaju kandidatske ključeve s null vrijednostima ili duplikatima i otkrivaju pomicanje između učitavanja. Podudaranje temeljeno na strojnom učenju također povezuje zapise koji opisuju isti entitet pod različitim identifikatorima.

Kopilot piše ekvivalent SQL definiciju slijeda ili identiteta i upite za usklađivanje koji dokazuju da nijedan ključ nije dupliciran. Ne može vidjeti vrijednosti vašeg repozitorija, stoga provjerite trenutnu vrijednost u samoj transformaciji prije učitavanja.

Sažmite ovu objavu uz: