Agregaatori teisendamine informatikas näitega
Mis on agregaatori teisendamine?
Agregaatoriteisendus on aktiivne teisendus, mida kasutatakse koondarvutuste tegemiseks, nagu summa, keskmine jne.
Näiteks kui soovite osakonnapõhiselt arvutada kõigi töötajate palkade summa, saame kasutada koondaja teisendust.
Koondtoimingud tehakse ridade rühmas, seega on kõigi nende kirjete salvestamiseks ja arvutuste tegemiseks vaja ajutist kohahoidjat.
Selleks kasutatakse agregaatori vahemälu. See on ajutine põhimälu, mis on eraldatud agregaatori teisendusele selliste toimingute tegemiseks.
Selles näites arvutame palkade summa osakonna järgi. Selleks vajame selle summa salvestamiseks uut veergu. Nii et kõigepealt valmistame ette uue veeru.
Step 1) Looge uus andmebaasi sihttabel, öelge näiteks "sum_sal_deptwise", kasutades allolevat skripti. Näete, et all luuakse uus andmebaasi sihttabel Target kausta järgmises etapis.
Laadige alla ülaltoodud fail Create_table_sal_deptwise.txt
Step 2) Looge uus vastendus "m_ sum_sal_deptwise".
Uue kaardistuse loomiseks vajame lähtetabelit (EMP) ja sihttabelit (sum_sal_deptwise) mõlemat kaardikujunduses, selleks peame
- Importige vastenduses sihttabel „sum_sal_deptwise”.
- Importige lähtetabel "emp".
Step 3) Kaardistamisel
- Alates Allika kvalifikaator, kustutage veerud empno, ename, job, mgr, hiredate & comm, jättes alles ainult veerud deptno ja sal.
- Looge tööriistakasti menüü abil uus koondaja teisendus, nagu on näidatud ekraanipildil. Kui klõpsate koondaja ikoonil, luuakse uus koondaja teisendus.
Step 4) Pukseerige SAL ja DEPTNO veerud lähtekvalifikaatorist (SQ_EMP) agregaatori teisendusse
Step 5) Double klõpsake selle atribuutide avamiseks agregaatori teisendusel ja seejärel
- Lisage teisendusse uus port
- Nimetage pordi nimi ümber SUM_SAL
- Muutke selle uue pordi andmetüüp kahekordseks
- Muutke see port väljundpordiks, valides väljundpordi märkeruudu.
- Klõpsake väljendivalikul
Step 6) Väljendi aknas
- Lisa avaldis-summa(SAL), tuleb see avaldis kirjutada.
- Valige nupp OK, see toob tagasi redigeerimise teisendusakna.
Step 7) Muutmise aknas valige suvand "GroupBy", märkides märkeruudu veeru deptno ja klõpsake nuppu OK (valides osakonna alusel rühma järgi, anname Informaticale korralduse rühmitada palgad osakonna järgi)
Step 8) Linkige agregaatori teisenduse veerud deptno ja sum_sal sihttabeliga
Nüüd salvestage kaardistus ja käivitage see pärast selle vastenduse jaoks uue seansi loomist. Sihttabel sisaldaks osakonna kaupa palkade summat. Sel viisil saame koondtulemuste arvutamiseks kasutada agregaatoriteisendust.