Tertun kyselykieli (5000 sivuhakua jaarittelu)

Pieni luova tauko oli paikallaan. Ongelmana olivat tietojen tallennus, ja prosessien tekninen toteutus yleisellä tasolla (esimerkiksi tilaus – toimitus – lasku). Toivottavasti ette ole painellut paljon F5:sta…

Kaikki oikeudet pidätetään.

Viimeinen versio ohjelmasta löytyy seuraavasta linkistä: moijari.com:5002

Oletetaan että Tertussa on kaksi asiakasta, joiden muoto on (asiakasnumero, asiakkaan nimi), ne ovat vaikka (1000,”Asiakas 1″) ja (2000, “Asiakas 2″). Nämä voitaisiin kirjoittaa myös pidempään muotoon (asiakasnumero=”1000″, asiakkaan nimi=”Asiakas 1″) ja (asiakasnumero=”2000″, asiakkaan nimi=”Asiakas 2″).

Jos edellistä Terttu tietokantaa (löysästi) vastaan tehdään kysely (asiakasnumero, asiakkaan nimi) Terttu palauttaa molemmat rivit (1000,”Yritys 1″) (2000,”Yritys 2″). Jos tehdään kysely (asiakasnumero==1000, asiakasnumero, asiakkaan nimi), se palauttaa rivin (1000,”Yritys 1”).

Automaattiset yhdistelyt (~join)

Jos edellisten asiakastietojen lisäksi on seuraavat rivit muotoa (asiakasnumero, myynti) (1000,100) ja (2000,200) ja tehdään kysely (asiakasnumero, asiakkaan nimi, myynti) rivien automaattisen yhdistelyn tuloksena palautuvat rivit (1000,”Asiakas 1″,100) ja (1000,”Asiakas 2″,200). Tietysti (asiakasnumero == 2000, asiakasnumero, asiakkaan nimi, myynti) palauttaisi asiakas 2:n myynnin.

Tietueiden “leveys”

Edellisen kappaleen myyntitietojen lisäksi myyntitietoja voi olla muillakin tasoilla. Edelliset myynnit olivat kokonaismyyntejä asiakkaalle (asiakasnumero,myynti), lisäksi myyntitietoja voi olla esimerkiksi tuotteen kokonaismyynti (tuotenumero, myynti), tuotteen vuosittainen myynti (tuotenumero, vuosi, myynti). Nämä perustetaan kyselyiden perusteella. Tässä ilmeisesti sääntö on että leveämmästä voidaan laskea(vertaa tietokanta, relaatiotietokanta, laskennalliset kentät) aina kapeampi, jos kaikki leveämmän rivit ovat käytössä ja leveämpi sisältää kaikki kapeamman kentät. Tapahtumatietojen perusteella voidaan laskea kaikki tasot. Kyselyä varten tarvitaan versio jossa on minimimäärä tietueita ja minimimäärä kenttiä, mutta kaikki kyselyn kentät, tai viittaukset kyselyn kenttiin. Jos esimerkiksi kyselyssä on tuoteryhmä tai asiakasryhmä ja kyselyssä ovat viittaukset asiakkaaseen ja tuotteeseen jotka ovat määritelty (asiakasnumero, asiakkaan nimi, asiakasryhmä) ja (tuotenumero, tuotteen nimi, tuoteryhmä) kysely toimii. (vertaa automaattiset yhdistelyt)

Lukujen käsittely

Lukuja on ainakin avaimina (asiakasnumero), ei summattavana (tuotteen hankintahinta), summattava(myynti)

Prosessit

Prosessien käsittely tehdään siten että saman nimiset kentät siirretään seuraavaan prosessin vaiheeseen saman nimisiin kenttiin (toisiaan muistuttaviin kuten tilausnumero, toimituksen tilausnumero?). Jos kentät ovat erinimisiä, ne pitää siirtää erikseen (toimituksen tilausnumero  = tilausnumero). Prosessissa siirrossa tietueiden suhteet ja niiden kenttien suhteet määrittelevät, kuinka monta tietuetta perustetaan. Jos esimerkiksi yhdessä tilauksessa on useampien yritysten tuotteita (yritys on rivillä), ja toimituksessa voi olla vain yhden yrityksen tuotteita (yritys on otsakkeella) perustetaan useampia toimituksia. Voit korvata sanan yritys esimerkiksi sanalla varasto, myyntiorganisaatio.

Siirto prosessissa voidaan kuvata yhdellä lauseells(~kysely), esimerkiksi (toimituspäivä <= kuluvapäivä, toimituksen tilausnumero=tilausnumero, toimituksen asiakasnumero=asiakasnumero, toimituksen tuotenumero=tuotenumero, määrä=määrä, …) eli poimintaehto ja eri otsake- ja rivikenttien siirrot. Kentät siirretään omille tasoilleen riippuen siitä miten lähde ja kohde tiedot ovat määritelty (lähinnä otsakkeiden ja rivien suhde).

Kentät siirretään lähdetietojen tasoista omille kohdetietojen tasoilleen tasoilleen, ja kohdetietoja luodaan tarvittava määrä.