{"id":119,"date":"2014-06-23T13:57:47","date_gmt":"2014-06-23T11:57:47","guid":{"rendered":"https:\/\/moijari.com\/?p=119"},"modified":"2019-11-22T17:02:12","modified_gmt":"2019-11-22T15:02:12","slug":"tertun-kyselykieli-5000-sivuhakua-jaarittelu","status":"publish","type":"post","link":"https:\/\/moijari.com\/?p=119","title":{"rendered":"Tertun kyselykieli (5000 sivuhakua jaarittelu)"},"content":{"rendered":"<p>Pieni luova tauko oli paikallaan. Ongelmana olivat tietojen tallennus, ja prosessien tekninen toteutus yleisell\u00e4 tasolla (esimerkiksi tilaus &#8211; toimitus &#8211; lasku). Toivottavasti ette ole painellut paljon F5:sta&#8230;<\/p>\n<p>Kaikki oikeudet pid\u00e4tet\u00e4\u00e4n.<\/p>\n<p>Viimeinen versio ohjelmasta l\u00f6ytyy seuraavasta linkist\u00e4: <a href=\"https:\/\/moijari.com:5002\">moijari.com:5002<\/a><\/p>\n<p>Oletetaan ett\u00e4 Tertussa on kaksi asiakasta, joiden muoto on (asiakasnumero, asiakkaan nimi), ne ovat vaikka (1000,&#8221;Asiakas 1&#8243;) ja (2000, &#8220;Asiakas 2&#8243;). N\u00e4m\u00e4 voitaisiin kirjoittaa my\u00f6s pidemp\u00e4\u00e4n muotoon (asiakasnumero=&#8221;1000&#8243;, asiakkaan nimi=&#8221;Asiakas 1&#8243;) ja (asiakasnumero=&#8221;2000&#8243;, asiakkaan nimi=&#8221;Asiakas 2&#8243;).<\/p>\n<p>Jos edellist\u00e4 Terttu tietokantaa (l\u00f6ys\u00e4sti) vastaan tehd\u00e4\u00e4n kysely (asiakasnumero, asiakkaan nimi) Terttu palauttaa molemmat rivit (1000,&#8221;Yritys 1&#8243;) (2000,&#8221;Yritys 2&#8243;). Jos tehd\u00e4\u00e4n kysely (asiakasnumero==1000, asiakasnumero, asiakkaan nimi), se palauttaa rivin (1000,&#8221;Yritys 1&#8221;).<\/p>\n<h2>Automaattiset yhdistelyt (~join)<\/h2>\n<p>Jos edellisten asiakastietojen lis\u00e4ksi on seuraavat rivit muotoa (asiakasnumero, myynti) (1000,100) ja (2000,200) ja tehd\u00e4\u00e4n kysely (asiakasnumero, asiakkaan nimi, myynti) rivien automaattisen yhdistelyn tuloksena palautuvat rivit (1000,&#8221;Asiakas 1&#8243;,100) ja (1000,&#8221;Asiakas 2&#8243;,200). Tietysti (asiakasnumero == 2000, asiakasnumero, asiakkaan nimi, myynti) palauttaisi asiakas 2:n myynnin.<\/p>\n<h2>Tietueiden &#8220;leveys&#8221;<\/h2>\n<p>Edellisen kappaleen myyntitietojen lis\u00e4ksi myyntitietoja voi olla muillakin tasoilla. Edelliset myynnit olivat kokonaismyyntej\u00e4 asiakkaalle (asiakasnumero,myynti), lis\u00e4ksi myyntitietoja voi olla esimerkiksi tuotteen kokonaismyynti (tuotenumero, myynti), tuotteen vuosittainen myynti (tuotenumero, vuosi, myynti). N\u00e4m\u00e4 perustetaan kyselyiden perusteella. T\u00e4ss\u00e4 ilmeisesti s\u00e4\u00e4nt\u00f6 on ett\u00e4 leve\u00e4mm\u00e4st\u00e4 voidaan laskea(vertaa tietokanta, relaatiotietokanta, laskennalliset kent\u00e4t) aina kapeampi, jos kaikki leve\u00e4mm\u00e4n rivit ovat k\u00e4yt\u00f6ss\u00e4 ja leve\u00e4mpi sis\u00e4lt\u00e4\u00e4 kaikki kapeamman kent\u00e4t. Tapahtumatietojen perusteella voidaan laskea kaikki tasot. Kysely\u00e4 varten tarvitaan versio jossa on minimim\u00e4\u00e4r\u00e4 tietueita ja minimim\u00e4\u00e4r\u00e4 kentti\u00e4, mutta kaikki kyselyn kent\u00e4t, tai viittaukset kyselyn kenttiin. Jos esimerkiksi kyselyss\u00e4 on tuoteryhm\u00e4 tai asiakasryhm\u00e4 ja kyselyss\u00e4 ovat viittaukset asiakkaaseen ja tuotteeseen jotka ovat m\u00e4\u00e4ritelty (asiakasnumero, asiakkaan nimi, asiakasryhm\u00e4) ja (tuotenumero, tuotteen nimi, tuoteryhm\u00e4) kysely toimii. (vertaa automaattiset yhdistelyt)<\/p>\n<h2>Lukujen k\u00e4sittely<\/h2>\n<p>Lukuja on ainakin avaimina (asiakasnumero), ei summattavana (tuotteen hankintahinta), summattava(myynti)<\/p>\n<h2>Prosessit<\/h2>\n<p>Prosessien k\u00e4sittely tehd\u00e4\u00e4n siten ett\u00e4 saman nimiset kent\u00e4t siirret\u00e4\u00e4n seuraavaan prosessin vaiheeseen saman nimisiin kenttiin (toisiaan muistuttaviin kuten tilausnumero, toimituksen tilausnumero?). Jos kent\u00e4t ovat erinimisi\u00e4, ne pit\u00e4\u00e4 siirt\u00e4\u00e4 erikseen (toimituksen tilausnumero\u00a0 = tilausnumero). Prosessissa siirrossa tietueiden suhteet ja niiden kenttien suhteet m\u00e4\u00e4rittelev\u00e4t, kuinka monta tietuetta perustetaan. Jos esimerkiksi yhdess\u00e4 tilauksessa on useampien yritysten tuotteita (yritys on rivill\u00e4), ja toimituksessa voi olla vain yhden yrityksen tuotteita (yritys on otsakkeella) perustetaan useampia toimituksia. Voit korvata sanan yritys esimerkiksi sanalla varasto, myyntiorganisaatio.<\/p>\n<p>Siirto prosessissa voidaan kuvata yhdell\u00e4 lauseells(~kysely), esimerkiksi (toimitusp\u00e4iv\u00e4 &lt;= kuluvap\u00e4iv\u00e4, toimituksen tilausnumero=tilausnumero, toimituksen asiakasnumero=asiakasnumero, toimituksen tuotenumero=tuotenumero, m\u00e4\u00e4r\u00e4=m\u00e4\u00e4r\u00e4, &#8230;) eli poimintaehto ja eri otsake- ja rivikenttien siirrot. Kent\u00e4t siirret\u00e4\u00e4n omille tasoilleen riippuen siit\u00e4 miten l\u00e4hde ja kohde tiedot ovat m\u00e4\u00e4ritelty (l\u00e4hinn\u00e4 otsakkeiden ja rivien suhde).<\/p>\n<p>Kent\u00e4t siirret\u00e4\u00e4n l\u00e4hdetietojen tasoista omille kohdetietojen tasoilleen tasoilleen, ja kohdetietoja luodaan tarvittava m\u00e4\u00e4r\u00e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pieni luova tauko oli paikallaan. Ongelmana olivat tietojen tallennus, ja prosessien tekninen toteutus yleisell\u00e4 tasolla (esimerkiksi tilaus &#8211; toimitus &#8211; lasku). Toivottavasti ette ole painellut paljon F5:sta&#8230; Kaikki oikeudet pid\u00e4tet\u00e4\u00e4n. Viimeinen versio ohjelmasta l\u00f6ytyy seuraavasta linkist\u00e4: moijari.com:5002 Oletetaan ett\u00e4 Tertussa on kaksi asiakasta, joiden muoto on (asiakasnumero, asiakkaan nimi), ne ovat vaikka (1000,&#8221;Asiakas 1&#8243;) ja&hellip; <a class=\"more-link\" href=\"https:\/\/moijari.com\/?p=119\">Continue reading <span class=\"screen-reader-text\">Tertun kyselykieli (5000 sivuhakua jaarittelu)<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[],"_links":{"self":[{"href":"https:\/\/moijari.com\/index.php?rest_route=\/wp\/v2\/posts\/119"}],"collection":[{"href":"https:\/\/moijari.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/moijari.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/moijari.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/moijari.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=119"}],"version-history":[{"count":27,"href":"https:\/\/moijari.com\/index.php?rest_route=\/wp\/v2\/posts\/119\/revisions"}],"predecessor-version":[{"id":134,"href":"https:\/\/moijari.com\/index.php?rest_route=\/wp\/v2\/posts\/119\/revisions\/134"}],"wp:attachment":[{"href":"https:\/\/moijari.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/moijari.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/moijari.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}