Hakumuunnos Informaticassa (esimerkki)
โก รlykรคs yhteenveto
Informatican hakumuunnos lukee relaatiotaulukon, yksitasoisen tiedoston, nรคkymรคn tai synonyymin ja palauttaa vastaavat arvot kullekin saapuvalle riville toimien liitoksena, jossa toinen puoli on hakulรคhde.

Mikรค on hakumuunnos?
Hakumuunnos on muunnos, jota kรคytetรครคn lรคhteen, lรคhteen tarkenteen tai kohteen hakemiseen asiaankuuluvien tietojen saamiseksi. Pohjimmiltaan se on erรครคnlainen liitosoperaatio, jossa toinen liitettรคvistรค taulukoista on lรคhdedata ja toinen liitettรคvรค taulukko on hakutaulukko. Itse hakulรคhde voi olla relaatiotaulukko, nรคkymรค, synonyymi tai yksittรคinen tiedosto.
Muunnos on passiivinen, mutta se palauttaa yhden rivin jokaista saapuvaa riviรค kohden. PowerCenter 9.x:stรค eteenpรคin se voidaan myรถs luoda palauttamaan kaikki ehtoa vastaavat rivit, ja tรคssรค tilassa se on aktiivinen muunnos. Valinta tehdรครคn muunnoksen luomisen yhteydessรค, eikรค sitรค voida vaihtaa jรคlkeenpรคin.
Kartalle voi sijoittaa kahdella tavalla.ping, ja erotus mรครคrittรครค, miten palautettu arvo saavuttaa putken muun osan.
| Aspect | Yhdistetty haku | Yhdistรคmรคtรถn haku |
| Asema | Sijaitsee putken sisรคllรค ja vastaanottaa arvoja edellisestรค muunnoksesta | Sijaitsee putken ulkopuolella ja sitรค kutsutaan lausekkeesta |
| Miten sitรค kutsutaan | Rivit virtaavat sen tuloportteihin | Kutsutaan :LKP-viittaustarkenteella |
| Palautetut arvot | Useita lรคhtรถportteja voidaan linkittรครค alavirtaan | Yksi paluuarvo palaa kutsuvaan lausekkeeseen |
| Tyypillinen kรคyttรถ | Jokainen rivi tarvitsee haetut sarakkeet | Hakua tarvitaan vain joillekin riveille tai samaa hakua kutsutaan useista eri paikoista |
Edellisissรค aiheissa kรคytimme ns. Puusepรคn muunnos yhdistรครคksesi โempโ- ja โdeptโ-taulukot osastojen nimien tuomiseksi. Tรคssรค osiossa toteutamme saman hakumuunnosta kรคyttรคen.
Kuinka luoda hakumuunnos
Seuraavat vaiheet luovat hakumuunnoksen Informaticassa.
Vaihe 1) Luo uusi karttaping jossa lรคhteenรค on EMP ja kohteena EMP_DEPTNAME. Karttaping Suunnittelupohja sisรคltรครค sitten lรคhteen, sen lรคhteen tarkenteen ja kohteen mรครคritelmรคn.
Vaihe 2) Luo uusi muunnos Muunnos-valikon avulla ja tee sitten Luo muunnos -ikkunassa seuraava:
- Valitse muunnokseksi Haku-muunnos
- Anna muunnoksen nimi "lkp_dept"
- Valitse luomisvaihtoehto
Vaihe 3) Tรคmรค avaa hakutaulukkoikkunan. Tรคssรค ikkunassa:
- Valitse lรคhdepainike
- Valitse DEPT-taulukko
- Valitse OK-painike
Vaihe 4) Hakumuunnos luodaan DEPT-taulukon sarakkeilla. Valitse nyt Valmis-painike. Lkp_dept-objekti sisรคltรครค nyt DEPTNO:n, DNAME:n ja LOC:n hakuportteina.
Vaihe 5) Vedรค ja pudota DEPTNO-sarake lรคhdemรครคritteestรค hakumuunnokseen. Tรคmรค luo uuden DEPTNO1-sarakkeen hakumuunnokseen. Linkitรค sitten hakumuunnoksen DNAME-sarake kohdetaulukkoon.
Haku-muunnos hakee ja palauttaa osaston nimen OSASTON NUMERO1-arvon perusteella. OSASTON NUMERO1 on tyรถntekijรคn osaston numeroa sisรคltรคvรค syรถttรถportti, kun taas OSASTON NUMERO pysyy OSASTON hakutaulukosta luettuna porttina.
Vaihe 6) Double napsauta haku-muunnosta. Sitten muokkausmuunnosta-ikkunassa:
- Valitse ehto-vรคlilehti
- Aseta ehtosarakkeeksi DEPTNO = DEPTNO1
- Valitse OK-painike
Vaihe 7) Linkitรค loput sarakkeet lรคhdemรครคritteestรค kohdetaulukkoon.
Tallenna nyt karttaping ja suorita se istunnon ja tyรถnkulun luomisen jรคlkeen. Tรคmรค karttaping hakee osastojen nimet hakumuunnoksen avulla.
Haku-muunnos on asetettu hakemaan DEPT-taulukosta ja liitosehto on asetettu osastonumeron perusteella. Jos useampi kuin yksi DEPT-rivi voi tรคyttรครค ehdon, Ominaisuudet-vรคlilehden Hakukรคytรคntรถ useille osumille -ominaisuus mรครคrittรครค palautettavan arvon.
Uudelleen kรคytettรคvรค muunnos
Normaalimuunnos on karttaan kuuluva objektiping ja sitรค voidaan kรคyttรครค kyseisen kartan sisรคllรคping vain. Tekemรคllรค muunnoksesta uudelleenkรคytettรคvรคn, sitรค voidaan kuitenkin kรคyttรครค uudelleen useiden karttojen sisรคllรคpings.
Esimerkiksi Lookup-muunnosta, joka hakee tyรถntekijรคn tiedot tyรถntekijรคnumeron perusteella, voidaan kรคyttรครค useissa kartoissa.pings aina kun tyรถntekijรคtietoja tarvitaan.
Kรคyttรคmรคllรค uudelleenkรคytettรคvรครค muunnosta, saman toiminnallisuuden luominen uudelleen vรคhentรครค ylityรถtรค. Jokainen karttaping sisรคltรครค yhden tallennetun objektin instanssin, joten uudelleenkรคytettรคvรครคn muunnokseen tehty muutos koskee niitรค kaikkia.
Kuinka luoda uudelleenkรคytettรคvรค muunnos
Seuraavat vaiheet luovat uudelleenkรคytettรคvรคn muunnoksen.
Vaihe 1) Avaa karttaping joka on muutoksen lรคpikรคyminen, tรคssรค me teemme Sijoitusmuutos uudelleenkรคytettรคviรค.
Vaihe 2) Double Napsauta muunnosta avataksesi muunnosten muokkausikkunan. Sitten:
- Valitse ikkunassa Transformation-vรคlilehti
- Valitse valintaruutu, jos haluat tehdรค muunnoksen uudelleenkรคytettรคvรคksi
- Valitse vahvistusikkunassa Kyllรค
- Valitse muunnosominaisuuksien ikkunassa OK.
Tรคmรค tekee muunnoksesta uudelleenkรคytettรคvรคn. Kolmannen kohdan vahvistusikkuna kannattaa lukea ennen sen hyvรคksymistรค: muunnoksen siirtรคminen uudelleenkรคytettรคvรคksi on yksisuuntainen muutos Suunnittelijassa, eikรค objektia voida alentaa jรคlkikรคteen. Jos yksi karttaping tarvitsee oman kopionsa, vedรค uudelleenkรคytettรคvรค objekti kankaalle pitรคen samalla Ctrl-nรคppรคintรค painettuna luodaksesi sen sijaan ei-uudelleenkรคytettรคvรคn instanssin.









