Yksitasoisia talletusrakenteita käytetään lähinnä datatietueiden talletukseen
|
|
- Sanna Leppänen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Yksitasoiset talletusrakenteet Yksitasoisia talletusrakenteita käytetään lähinnä datatietueiden talletukseen järjestämätön peräkkäisrakenne (kasa, heap) järjestetty peräkkäisrakenne (sequential file) hajautusrakenne 1
2 Järjestämätön peräkkäisrakenne (kasa) Järjestämättömässä peräkkäisrakenteessa (heap) tietueet sijoitetaan peräkkäin tiiviisti tiedoston sivuille lisäysjärjestyksessä - uusi tietue lisätään aina tiedoston loppuun. Rakenne on useissa tkhj:ssä taulujen toteutuksen perusrakenne (datatietueiden talletusrakenne) Rakenne soveltuu hyvin peräkkäiskäsittelyyn, jossa tietueiden järjestyksellä ei ole merkitystä 2
3 Järjestämätön peräkkäisrakenne (kasa) Taulun perustaminen create table lauseella luo tyhjän kasan yleensä tämä tarkoittaa yhtenäisen sivualueen varaamista tiedostolle, alueen koko voi olla järjestelmän päättämä tai siihen voi vaikuttaa esim. järjestelmäparametreilla tai create table lauseella Oraclen käyttää tästä alkuvarauksesta nimitystä initial extent ja sen koon voi määritellä taulukohtaisesti jos tiedosto kasvaa niin suureksi, ettei se enää mahdu alkuperäiselle sivualueelle otetaan käyttöön jatkoalueita. Tyypillisesti alueet kytketään ketjurakenteeksi (chain) 3
4 Järjestämätön peräkkäisrakenne (kasa) Lisäys kasarakenteessa on nopeaa. Haetaan tiedoston viimeinen sivu ja lisätään tietue sinne. Ellei tietue mahdu sivulle otetaan käyttöön seuraava sivu. Korkeintaan 2 levyhakua (oletetaan kuvaajan olevan muistissa) Mutta, jos tiedostolle on määritelty avain, vaatii avaimen yksikäsitteisyyden tarkastus pahimmassa tapauksessa (silloin kun avain on yksikäsitteinen) koko tiedoston lukemisen 4
5 Järjestämätön peräkkäisrakenne (kasa) Jos tiedostossa on N sivua, vaatii tietueen haku avaimen perusteella keskimäärin N/2 levyhakua. Yleensä kasarakennetta ei käytetäkään yksinään, vaan sen päälle rakennetaan tiheitä indeksejä tehostamaan hakuja esimerkiksi Oraclessa avaimen määrittely luo automaattisesti avainperustaisen indeksin. Tietuejoukon haku edellyttää koko tiedoston läpikäyntiä 5
6 Järjestämätön peräkkäisrakenne (kasa) Tietueen poisto edellyttää tietueen hakua tietueen poistamista haetulta sivulta yleensä merkitsemällä tietue poistetuksi tietueelta vapautunut tila voidaan jättää käyttämättä tai vapauttaa muiden sivujen käyttöön joko yhtenäistämällä sivu tai liittämällä tietueelle varattu alue vapaiden alueiden ketjuun. muuttuneen sivun vientiä takaisin levylle Poistojen seurauksena sivuille tulee tyhjää tilaa ja tiedoston täyttösuhde pienenee. 6
7 Järjestämätön peräkkäisrakenne (kasa) Jos poisto tyhjentää koko sivun, voidaan sivu liittää vapaiden sivujen ketjuun uudelleenkäytettäväksi. Vaihtuvapituisten tietueiden muutokset voivat kasvattaa tietueen pituutta. Tietueiden pituuden kasvuun voidaan varautua jättämällä sivuille kasvuvaraa eli sivuja ei täytetä heti aluksi täyteen vaan vaikkapa vain 70 prosenttisesti. Voi käydä myös niin, että kasvanut tietue ei enää mahdu sivulle. Tällöin käytetään tyypillisesti ylivuotosivuja tietueiden ylivuotaneiden osien tallennukseen. Tietueita ei siirretä kokonaan toiselle sivulle, koska silloin jouduttaisiin ylläpitämään indeksejä. Ylivuotosivut ovat huonoja peräkkäiskäsittelyn kannalta. 7
8 Järjestämätön peräkkäisrakenne (kasa) Poistot ja muutokset degeneroivat rakennetta rakenteesta tulee harva ja epäyhtenäinen rakenne voidaan korjata ajoittaisin uudelleenorganisoinnein uudelleenorganisoinnissa luodaan uusi kasarakenne ja korvataan sillä vanha kaikki vanhan rakenteen varaan rakennetut indeksit on uudelleenorganisoinnissa rakennettava uudelleen. 8
9 Järjestämätön peräkkäisrakenne (kasa) Kyselyn Tarkastellaan taulua employee. Oletetaan että taulussa on 8000 riviä (ei ihan pikkufirma). Tehdään kysely select * from employee where ssn= Joudutaan läpikäymään koko tiedosto ellei tiedetä, että ssn on avain ja keskimäärin puolet, jos se on määritelty avaimeksi ja löytyy (ensimmäinen osuma on ainoa) siis keskimäärin 4000 riviä 9
10 Järjestämätön peräkkäisrakenne (kasa) Olkoon levyn pyörimisnopeus on 100 kierrosta sekunnissa, lohkokoko 4K tavua, uralla 50 lohkoa, levypintoja 12 sekä täyttösuhde 80%.Kohdistusaika keskimäärin 5ms. Yhden Employee-tietueen keskipituus voisi olla 300 tavua. Lohkossa olisi tällöin keskimäärin 10 tietuetta, uralla 500 ja sylinterillä 6000, eli tarvitaan 16 uraa (alle 2 sylinteriä) ja yhteensä 16 kierrosta koko tiedoston siirtämiseen. Oletetaan että käytössä on ns. kaksoispuskurointi, eli puolet puskureista on käsittelyssä samalla kun toiseen puoleen luetaan. Tällöin luku voi jatkua keskeytyksettä jos ohjelma ehtii käsitellä puskurit nopeammin kuin luku etenee. Aikaa kuluisi tällöin kohdistusaika+pyörähdysviive+16*siirtoaika (+yksi lyhyt sylinterisiirtymä)= 5ms+5ms+16*10 ms(+10ms)=180 ms ja avainpohjaisessa haussa keskimäärin puolet tästä eli n 90 ms (olettaen, että tietue löytyy) 10
11 Järjestämätön peräkkäisrakenne (kasa) Rakenne voitaisiin toteuttaa myös sivujen ketjuna, mutta tällöin menetettäisiin peräkkäishausta saavutettava etu tietueiden haussa Esimerkin tapauksessa koko tiedoston hakuun kuluisi 800 *(10ms+0.2ms) = 8160 ms ja vaikka kohdistusaika jatetään huomiotta niin 800*(5ms+0.2ms)=4160ms (>4s) ja avainhakuun puolet tästä. 11
12 Järjestetty peräkkäisrakenne Sequential file Tietueet sijaitsevat tiedostossa jonkin kentän (esimerkiksi työntekijänumeron) mukaan järjestettyinä. Tietueiden järjestys on jokin tyypillisesti käsittelyssä usein tarvittava järjestys Rakenne tukee tietueiden käsittelyä peräkkäin halutussa järjestyksessä 12
13 Järjestetty peräkkäisrakenne Lisäykset pitää järjestetyssä peräkkäisrakenteessa sijoittaa oikealle kohdalleen järjestyksessä Pahimmassa tapauksessa pitäisi siirtää koko tiedoston loppuosa uusiin paikkoihin Yleensä jätetään lisäyksille tilaa sivuille täyttösuhde jää alhaiseksi Jos sivulle tulee lisäys, joka ei mahdu sinne, otetaan käyttöön ylivuotosivu, joka linkitetään sivuun. Lisäysten kasautuessa ylivuotoketjusta voi tulla pitkä Rakenne degeneroituu nopeammin kuin kasa Tarvitaan useammin uudelleenorganisointeja 13
14 Järjestetty peräkkäisrakenne Poistot ja muutokset tehdään kuten kasarakenteeseen. Tietueen haku tiedostosta järjestysavaimen perusteella vaatii tiedostoa läpilukemalla saman verran levyhakuja kuin kasarakenteessa, jos tietue löytyy eli N/2. Löytymättömyys voidaan todeta keskimäärin samalla levyhakujen määrällä. Tässä suhteessa rakenne on parempi kuin kasa. Järjestetty peräkkäisrakenne tukee myös järjestysavaimeen perustuvia arvovälihakuja sekä erisuuruusvertailuja!=,<,<= 14
15 Järjestetty peräkkäisrakenne Järjestetty peräkkäisrakenne mahdollistaa myös binäärihaun käytön. Periaate: Etsi tietuetta tiedoston keskimmäiseltä (k=roof(n/2)) sivulta Jos ei löytynyt ja avain<sivun pienin avain, jatka samalla periaatteella sivuilta 1.. k-1. Jos ei löytynyt ja avain>sivun suurin avain, jatka samalla periaatteella sivuilta k+1.. N. Haku päättyy kun tietue löytyy tai tietuetta ei löydy sivulta mutta avain sijoittuu sivun pienimmän ja suurimman avaimen väliin (ei ole tiedostossa) tai etsintää pitäisi jatkaa tyhjästä sivujoukosta 15
16 Järjestetty peräkkäisrakenne Binäärihaussa tarvitaan enintään roof(log 2 N) levyhakua. (roof(x) = pienin kokonaisluku, joka on suurempi kuin x) Aiemman esimerkin 8000 employee-tietueen tiedostossa oli 800 lohkoa, eli tietueen haku järjestysavaimen perusteella vaatisi enintään roof(log 2 800) = 10 levyhakua, joka satunnaishakuajalla laskettuna samalla n 10 ms satunnaishakuajan levyllä olisi hieman vähemmän kuin keskimääräinen saantiaika kasarakenteesta 10*(10ms+10/50*10ms)=102ms vs. 160 ms Tosin tiedosto voidaan sijoittaa kahdelle vierekkäiselle sylinterille, joten hakuvarren siirtoja ei juurikaan tule ja jos lasketaan vain pyörähdysviive 5 ms ) niin saataisiin 10*5ms+2ms= 52 ms Isommilla tiedostoilla binäärihaku parantaa asemaansa suhteessa koko tiedoston peräkkäiseen läpikäyntiin 16
17 Järjestetty peräkkäisrakenne Järjestetty peräkkäisrakenne ei ole tyypillinen tietokantojen yhteydessä käytetty tiedostorakenne Vanhanaikaisissa eräsovelluksissa se oli laajasti käytetty soveltuu erityisen hyvin tilanteisiin, jossa pitää tahdistaa usean laajan aineiston käsittely 17
18 Hajautukseen perustuvat tiedostorakenteet Hajautukseen perustuvissa tiedostorakenteissa on tavoitteena yksittäisen tietueen nopea haku. Tähän pyritään siten, että tietueen sijoituspaikan eli solun (cell, bucket) osoite lasketaan jonkin tietueessa olevan tiedon eli hajautusavaimen (hash key) perusteella. Parhaassa tapauksessa solu olisi tietty tiedoston lohko. Yleensä solu kuitenkin muodostuu useasta lohkosta enintään yhdestä kotilohkosta ja joukosta ylivuotolohkoja (tai jatkolohkoja) ylivuotolohkot voivat olla solukohtaisia tai jaettuja 18
19 Hajautukseen perustuvat tiedostorakenteet Solun osoitteena on joko kotilohkon osoite (tällöin ei käytetä soluhakemistoa) tai soluhakemiston indeksi soluhakemisto on taulukko, jonka alkioina on kotilohkojen osoitteita Mahdolliset soluosoitteet muodostavat osoiteavaruuden (address space) soluhakemistoa käytettäessä saadaan pienellä lisätilalla kasvatettua osoiteavaruutta moninkertaiseksi 19
20 Hajautukseen perustuvat tiedostorakenteet A) Solun osoite on soluhakemiston indeksi (11) (19) soluhakemiston sivu lohko x solu 19 solu 11 Lohkot käyttävissä koti- tai ylivuotolohkoiksi Tyhjille soluille varataan tilaa vain soluhakemiston alkion verran Soluhakemisto on haettava erikseen Yleisimmin käytetty ratkaisu 20
21 Hajautukseen perustuvat tiedostorakenteet B) Solun osoitteena on kotilohkon osoite (11) Talletukseen varattu perustila - kotilohkot Tyhjätkin solut varaavat tilaa yhden lohkon verran Ylivuotolohkoille oma alueensa 21
22 Hajautukseen perustuvat tiedostorakenteet Osoitteen laskentaan käytetään hajautusfunktiota (hajautinta) (hash function, randomizing function) Olkoon h(x) hajautus funktio ja R K tietue, jonka hajautusavain on K Tällöin R K :n sijoitussolun osoite = h(k). Solujen sisällä tietueet sijoitetaan kasarakenteen tapaan eli lisäykset loppuun 22
23 Hajautukseen perustuvat tiedostorakenteet Optimitapauksessa tietue löytyy yhdellä levyhaulla eli solun kotilohkosta*. Tämä edellyttää, että hajautusfunktio jakaa tietueet tasaisesti osoiteavaruuden osoitteisiin osoiteavaruus on määritelty riittävän isoksi niin, että kaikki tietueet voidaan sijoittaa solujen kotilohkoihin * soluhakemistoa käytettäessä joudutaan satunnaisesti hakemaan myös soluhakemiston sivuja 23
24 Hajautukseen perustuvat tiedostorakenteet Haku avaimella K: lasketaan hajautusfunktiolla solun osoite s=h(k) jos käytössä on soluhakemisto haetaan kotilohkon osoite sieltä p=h[s] (jos hakemistoalkio on tyhjä, haku päättyy) muuten käytetään kotilohkon osoitteena solun osoitetta p=s. haetaan sivu lohkosta p ellei tietuetta löydy käydään läpi solun muut lohkot Jos hajautusavain ei ole tietueen avain on haussa käytävä läpi kaikki solun sivut. 24
25 Hajautukseen perustuvat tiedostorakenteet Oletetaan, että tiedosto mahtuisi kasarakenteena N sivulle ja hajautusavaimella olisi k erilaista arvoa. Olkoon osoiteavaruus 0,..B-1 Tällöin tulisi valita B<=k (muuten varataan tilaa soluille, jotka välttämättä jäävät tyhjiksi), Vain, jos B>=N, voidaan päästä yhteen levyhakuun tietuetta haettaessa B:n kokoon vaikuttavat mm. hajautusfunktio hajautusavaimen rakenne käytetäänkö soluhakemistoa, jolloin osoiteavaruuden koon kasvattaminen on kevyempää 25
26 Hajautukseen perustuvat tiedostorakenteet Hajautusfunktio on tyypillisesti muotoa h(k) = int(k) mod B missä int(k) muuntaa hajautusavaimen kokonaisluvuksi Hyvältä hajautusfunktiolta edellytetään, että se jakaa hajautusavaimen arvot tasaisesti osoiteavaruuteen laskennan nopeus ei ole yhtä oleellista kuin keskusmuistihajautuksessa Hajautukseen perustuvat rakenteet nopeuttavat hakua vain kyselyissä, joissa tietueita haetaan hajautusavaimeen perustuvan yhtäsuuruusehdon avulla. 26
Helsingin yliopisto/tktl Tietokannan hallinta kevät Harri Laine 1 D B. Yksitasoiset talletusrakenteet
Yksitasoiset talletusrakenteet Yksitasoisia talletusrakenteita käytetään lähinnä datatietueiden talletukseen järjestämätön peräkkäisrakenne (kasa, heap) järjestetty peräkkäisrakenne (sequential file) hajautusrakenne
Helsingin yliopisto/tktl Kyselykielet, s 2006 Tietokantaoperaatioiden toteutuksesta Harri Laine 1. Tiedostorakenteet.
Tiedostorakenteet Tiedostorakenne määrittelee miten tietueet tallennetaan tiedostoon miten tietoja haetaan Tiedostorakenne on yksitasoinen (flat), jos se muodostuu pelkästään datatietueista. Tiedostorakenne
Tiedostorakenteet. R&G Chapter Tietokannan hallinta, kevät 2006, Jan 1
Tiedostorakenteet R&G Chapter 9 16.02.06 Tietokannan hallinta, kevät 2006, Jan 1 Tiedostorakenteet Tiedostojen tehokkuutta yhtä kyselyä kohti arvioidaan usein tarvittavien levyhakujen määrällä. kuten levykäsittelyn
Hajautusrakenteet. R&G Chapter Tietokannan hallinta, kevät 2006, Jan 1
Hajautusrakenteet R&G Chapter 11 16.02.06 Tietokannan hallinta, kevät 2006, Jan 1 Hajautukseen perustuvat tiedostorakenteet Hajautukseen perustuvissa tiedostorakenteissa on tavoitteena yksittäisen tietueen
Hajautusrakenteet. Hajautukseen perustuvat tiedostorakenteet. Hajautukseen perustuvat tiedostorakenteet. Hajautukseen perustuvat tiedostorakenteet
Hajautusrakenteet R&G Chapter Hajautukseen perustuvissa tiedostorakenteissa on tavoitteena yksittäisen tietueen nopea haku. Tähän pyritään siten, että tietueen sijoituspaikan eli solun (cell, bucket) osoite
TKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto
Indeksin luonti ja hävitys TKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto Komentoa ei ole standardoitu ja niinpä sen muoto vaihtelee järjestelmäkohtaisesti Indeksi voidaan
oheishakemistoja voi tiedostoon liittyä useita eri perustein muodostettuja
Tietokantojen hakemistorakenteet Hakemistorakenteiden (indeksien) tarkoituksena on nopeuttaa tietojen hakua tietokannasta. Hakemisto voi olla ylimääräinen oheishakemisto (secondary index), esimerkiksi
D B. Harvat hakemistot. Harvat hakemistot
Harvassa hakemistossa on ei ole hakemistomerkintöjä jokaista tietuetta kohden vaan yksi merkintä jotain isompaa kokonaisuutta esimerkiksi sivua tai sivujoukkoa (esim. saman uran sivut) kohti Harvan hakemiston
D B. B+ -puun tasapainotus poistossa. B+ -puun tasapainotus poistossa. Poistot. B+ -puun tasapainotus poistossa. B+ -puun tasapainotus poistossa
Poistot Alkuperäisen B+ -puun idean mukaisesti tasapainotusta tehdään myös poistossa 50 Jos datasivun täyttösuhde laskee alle puoleen ja sivun ja sen velisivun (sibling, saman isäsivun alla oleva vierussivu)
Hakemistorakenteet. R & G Chapter Tietokannan hallinta, kevät 2006, Jan 1
Hakemistorakenteet R & G Chapter 10 16.02.06 Tietokannan hallinta, kevät 2006, Jan 1 Hakemistotyypeistä Hakemistomerkintä sisältää hakemistoavaimen (indexing key) muodostusperustan määrittelemänä tietueesta
Hakemistotyypeistä. Hakemistorakenteet. Hakemiston toteutuksesta. Hakemiston toteutuksesta
Hakemistotyypeistä Hakemistorakenteet R & G Chapter 10 Hakemistomerkintä sisältää hakemistoavaimen (indexing key) muodostusperustan määrittelemänä tietueesta tai tietuejoukosta tuotettu tunnus yleensä
D B. Tietokannan hallinta kertaus
TKHJ:n pääkomponentit metadata TKHJ:ssä Tiedostojen käsittely puskurien rooli tiedostokäsittelyssä levymuistin rakenne ja käsittely mistä tekijöistä hakuaika muodostuu jonotus jos useita samanaikaisia
Helsingin yliopisto /TKTL Tietokannan hallinta Harri Laine 1 D B. Harvat hakemistot. Harvat hakemistot
Harvassa hakemistossa on ei ole hakemistomerkintöjä jokaista tietuetta kohden vaan yksi merkintä jotain isompaa kokonaisuutta esimerkiksi sivua tai sivujoukkoa (esim. saman uran sivut) kohti Harvan hakemiston
Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa
Tietojen tallennusrakenteet Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa tiedot tiedostoon kuuluvista lohkoista esim. taulukkona, joka voi muodostua ketjutetuista
D B. Harvat hakemistot
Harvat hakemistot Harvassa hakemistossa on ei ole hakemistomerkintöjä jokaista tietuetta kohden vaan yksi merkintä jotain isompaa kokonaisuutta esimerkiksi sivua tai sivujoukkoa (esim. saman uran sivut)
Helsingin yliopisto/tktl Tietokantojen perusteet, s 2006 Tietokantaoperaatioiden toteutuksesta 3. Harri Laine 1
Tietokantojen hakemistorakenteet Hakemistorakenteiden (indeksien) tarkoituksena on nopeuttaa tietojen hakua tietokannasta. Hakemisto voi olla ylimääräinen oheishakemisto (secondary index), esimerkiksi
Algoritmit 2. Luento 4 To Timo Männikkö
Algoritmit 2 Luento 4 To 21.3.2019 Timo Männikkö Luento 4 Hajautus Yhteentörmäysten käsittely Avoin osoitteenmuodostus Hajautusfunktiot Puurakenteet Solmujen läpikäynti Algoritmit 2 Kevät 2019 Luento 4
Algoritmit 1. Luento 5 Ti Timo Männikkö
Algoritmit 1 Luento 5 Ti 24.1.2017 Timo Männikkö Luento 5 Järjestetty lista Järjestetyn listan operaatiot Listan toteutus taulukolla Binäärihaku Binäärihaun vaativuus Algoritmit 1 Kevät 2017 Luento 5 Ti
Algoritmit 2. Luento 3 Ti Timo Männikkö
Algoritmit 2 Luento 3 Ti 20.3.2018 Timo Männikkö Luento 3 Järjestäminen eli lajittelu Kekorakenne Kekolajittelu Hajautus Yhteentörmäysten käsittely Ketjutus Algoritmit 2 Kevät 2018 Luento 3 Ti 20.3.2018
Algoritmit 2. Luento 4 Ke Timo Männikkö
Algoritmit 2 Luento 4 Ke 22.3.2017 Timo Männikkö Luento 4 Hajautus Yhteentörmäysten käsittely Avoin osoitteenmuodostus Hajautusfunktiot Puurakenteet Solmujen läpikäynti Algoritmit 2 Kevät 2017 Luento 4
Algoritmit 2. Luento 3 Ti Timo Männikkö
Algoritmit 2 Luento 3 Ti 21.3.2017 Timo Männikkö Luento 3 Järjestäminen eli lajittelu Kekorakenne Kekolajittelu Hajautus Yhteentörmäysten käsittely Ketjutus Algoritmit 2 Kevät 2017 Luento 3 Ti 21.3.2017
Luento 2: Tiedostot ja tiedon varastointi
HELIA 1 (19) Luento 2: Tiedostot ja tiedon varastointi Muistit... 2 Päämuisti (Primary storage)... 2 Apumuisti (Secondary storage)... 2 Tiedon tallennuksen yksiköitä... 3 Looginen taso... 3 Fyysinen taso...
D B. Levykön rakenne. pyöriviä levyjä ura. lohko. Hakuvarsi. sektori. luku-/kirjoituspää
Levyn rakenne Levykössä (disk drive) on useita samankeskisiä levyjä (disk) Levyissä on magneettinen pinta (disk surface) kummallakin puolella levyä Levyllä on osoitettavissa olevia uria (track), muutamasta
2. Tietokannan tallennusrakenteet
2. Tietokannan tallennusrakenteet - tallennusrakenne = säilytysrakenne 2.1 Levymuisti ja sen käyttö 2.2 Puskurointi 2.3 Tietokannan tiedostorakenne 2.4 Järjestämätön peräkkäistiedosto (kasa) 2.5 Järjestetty
2. Tietokannan tallennusrakenteet
Tietokannan hallinta 1 2. Tietokannan tallennusrakenteet 2. Tietokannan tallennusrakenteet 2.1 Levymuisti ja sen käyttö Muistilaitteiden hierarkia: ainakin keskusmuisti levymuisti (+ muita tukimuisteja,
Tietorakenteet, laskuharjoitus 7, ratkaisuja
Tietorakenteet, laskuharjoitus, ratkaisuja. Seuraava kuvasarja näyttää B + -puun muutokset lisäysten jälkeen. Avaimet ja 5 mahtuvat lehtisolmuihin, joten niiden lisäys ei muuta puun rakennetta. Avain 9
3. Tietokannan hakemistorakenteet
3. Tietokannan hakemistorakenteet Tiedoston tietueiden haku voi perustua johonkin monesta saantipolusta (access path): - perustiedoston tiedostorakenne - hakemistot, joita voidaan tehdä käsittelytarpeiden
3. Tietokannan hakemistorakenteet
3. Tietokannan hakemistorakenteet Tiedoston tietueiden haku voi perustua johonkin monesta saantipolusta (access path): - perustiedoston tiedostorakenne - hakemistot, joita voidaan tehdä käsittelytarpeiden
D B. Tiedostojen käsittely
Tietokantojen tietoja säilytetään yleensä apumuistissa, lähinnä levymuisteissa Apumuistiin tallentamisen merkittäviä etuja keskusmuistiin nähden ovat tiedon säilyvyys (virtakatkon yli) säilytyskapasiteetin
B-puu. 3.3 Dynaamiset hakemistorakenteet
Tietokannan hallinta 2 3. Tietokannan hakemistorakenteet 3.3 Dynaamiset hakemistorakenteet Käsitellyt hakemistot (hajautus, ISAM): hakemisto-osa on staattinen eli ei muutu muuten kuin uudelleenorganisoinnissa.
Käsitellyt hakemistot (hajautus, ISAM): hakemisto-osa on staattinen eli ei muutu muuten kuin uudelleenorganisoinnissa.
Tietokannan hallinta 35 3. Tietokannan 3.3 Dynaamiset Käsitellyt hakemistot (hajautus, ISAM): hakemisto-osa on staattinen eli ei muutu muuten kuin uudelleenorganisoinnissa. Ajan mittaan epätasapainoa:
Algoritmit 2. Luento 6 Ke Timo Männikkö
Algoritmit 2 Luento 6 Ke 29.3.2017 Timo Männikkö Luento 6 B-puun operaatiot B-puun muunnelmia Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2017 Luento 6 Ke 29.3.2017 2/31 B-puu
Algoritmit 2. Luento 5 Ti Timo Männikkö
Algoritmit 2 Luento 5 Ti 26.3.2019 Timo Männikkö Luento 5 Puurakenteet B-puu B-puun korkeus B-puun operaatiot B-puun muunnelmia Algoritmit 2 Kevät 2019 Luento 5 Ti 26.3.2019 2/34 B-puu B-puut ovat tasapainoisia
lähtokohta: kahden O(h) korkuisen keon yhdistäminen uudella juurella vie O(h) operaatiota vrt. RemoveMinElem() keossa
Kekolajittelu Prioriteettijonolla toteutettu keko InsertItem ja RemoveMinElem: O(log(n)) Lajittelu prioriteettijonolla: PriorityQueueSort(lajiteltava sekvenssi S) alusta prioriteettijono P while S.IsEmpty()
58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen)
58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen) 1. Avaimet 1, 2, 3 ja 4 mahtuvat samaan lehtisolmuun. Tässä tapauksessa puussa on vain yksi solmu, joka on samaan aikaan juurisolmu
D B. Levytiedostojen käsittely. Levytiedostojen käsittely
Tietokantojen tietoja säilytetään yleensä apumuistissa, lähinnä levymuisteissa Apumuistiin tallentamisen merkittäviä etuja keskusmuistiin nähden ovat tiedon säilyvyys (virtakatkon yli) säilytyskapasiteetin
Liitosesimerkki Tietokannan hallinta, kevät 2006, J.Li 1
Liitosesimerkki 16.02.06 Tietokannan hallinta, kevät 2006, J.Li 1 Esim R1 R2 yhteinen attribuutti C T(R1) = 10,000 riviä T(R2) = 5,000 riviä S(R1) = S(R2) = 1/10 lohkoa Puskuritilaa = 101 lohkoa 16.02.06
Liitosesimerkki. Esim R1 R2 yhteinen attribuutti C. Vaihtoehdot
Esim yhteinen attribuutti C Liitosesimerkki T() = 10,000 riviä T() = 5,000 riviä S() = S() = 1/10 lohkoa Puskuritilaa = 101 lohkoa 1 2 Vaihtoehdot Sisäkkäiset silmukat Liitosjärjestys:, Liitosalgoritmit:
Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)
SQL sisältää operaatiot tietokannan sisällön muodostamiseen ja ylläpitoon: insert - uusien rivien vienti tauluun delete - rivien poisto update - rivien muutos 1 Insert lauseella on kaksi muotoa: insert
1. a) Laadi suoraviivaisesti kyselyä vastaava optimoimaton kyselypuu.
Helsingin yliopisto, Tietojenkäsittelytieteen laitos Kyselykielet, s 2006, Harjoitus 5 (7.12.2006) Tietokannassa on tietoa tavaroista ja niiden toimittajista: Supplier(sid,sname,city,address,phone,etc);
Algoritmit 2. Luento 2 To Timo Männikkö
Algoritmit 2 Luento 2 To 14.3.2019 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2019 Luento
Levymuisti. R&G Chapter 8 & Tietokannan hallinta, kevät 2006, Jan 1
Levymuisti R&G Chapter 8 & 9 16.02.06 Tietokannan hallinta, kevät 2006, Jan 1 Tiedon talletuspaikkoja Levy: Pystytään noutamaan satunnainen sivu kiinteällä kustannuksella Useiden sivujen noutaminen halvempaa
HELIA 1 (16) Outi Virkki Tietokantasuunnittelu
HELIA 1 (16) Luento 3.2 Suorituskyvyn optimointi jatkuu...... 2 Tietojen tallennusratkaisut... 2 Tiedon tallennuksen yksiköitä... 3 Loogiset... 3 Fyysiset... 3 Tallennusmäärittelyt Oraclessa... 5 Loogiset
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 11.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 11.2.2009 1 / 33 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin
Algoritmit 1. Luento 6 Ke Timo Männikkö
Algoritmit 1 Luento 6 Ke 25.1.2017 Timo Männikkö Luento 6 Järjestetty lista Listan toteutus dynaamisesti Linkitetyn listan operaatiot Vaihtoehtoisia listarakenteita Puurakenteet Binääripuu Järjestetty
Tiedon talletuspaikkoja. Levymuisti. Vaihtoehtoisia talletusrakenteita. Tietokantojen säilytys. R&G Chapter 8 & 9. Useita vaihtoehtoja:
Tiedon talletuspaikkoja Levymuisti R&G Chapter 8 & 9 Levy: Pystytään noutamaan satunnainen sivu kiinteällä kustannuksella Useiden sivujen noutaminen halvempaa kuin satunnaisen sivun Nauha: Sivuja käsiteltävä
811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu
811312A Tietorakenteet ja algoritmit 2017-2018, Harjoitus 2 ratkaisu Harjoituksen aiheena on algoritmien oikeellisuus. Tehtävä 2.1 Kahvipurkkiongelma. Kahvipurkissa P on valkoisia ja mustia kahvipapuja,
Helsingin yliopisto/tktl Kyselykielet, s 2006 Tietokantaoperaatioiden toteutuksesta Harri Laine 1. Kyselyjen käsittely
Kyselyjen käsittely Kyselyn käsittelyn vaiheet: TKHJ ottaa vastaan kyselyn asiakasohjelmalta Kysely selataan ja jäsennetään tarkistetaan kyselyn rakenteellinen oikeellisuus Jäsennetty kysely muunnetaan
TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)
TKT0001 Tietorakenteet ja algoritmit Erilliskoe 5.1.01, malliratkaisut (Jyrki Kivinen) 1. [1 pistettä] (a) Esitä algoritmi, joka poistaa kahteen suuntaan linkitetystä järjestämättömästä tunnussolmullisesta
Algoritmit 2. Luento 5 Ti Timo Männikkö
Algoritmit 2 Luento 5 Ti 28.3.2017 Timo Männikkö Luento 5 Puurakenteet B-puu B-puun korkeus B-puun operaatiot Algoritmit 2 Kevät 2017 Luento 5 Ti 28.3.2017 2/29 B-puu Algoritmit 2 Kevät 2017 Luento 5 Ti
Algoritmit 2. Luento 6 To Timo Männikkö
Algoritmit 2 Luento 6 To 28.3.2019 Timo Männikkö Luento 6 B-puun operaatiot Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2019 Luento 6 To 28.3.2019 2/30 B-puu 40 60 80 130 90 100
Hajautus. operaatiot insert ja search pyritään tekemään erittäin nopeiksi
Hajautus eräs (osittainen) toteutus joukko-tietotyypille operaatiot insert ja search pyritään tekemään erittäin nopeiksi tärkeä tekniikka käytännön ohjelmoinnissa valmiita toteutuksia on, mutta väärät
Helsingin yliopisto/tktl Tietokannan hallinta, s Harri Laine 1 D B. Kyselyjen käsittely ja optimointi
Kyselyn käsittelyn vaiheet: TKHJ ottaa vastaan kyselyn asiakasohjelmalta Kysely selataan ja jäsennetään tarkistetaan kyselyn rakenteellinen oikeellisuus Jäsennetty kysely muunnetaan relaatiolausekkeiksi
Kyselyiden käsittely. R & G Chapter Tietokannan hallinta, kevät 2006, Jan 1
Kyselyiden käsittely R & G Chapter 12 15 16.02.06 Tietokannan hallinta, kevät 2006, Jan 1 Kyselyjen käsittely ja optimointi Kyselyn käsittelyn vaiheet: TKHJ ottaa vastaan kyselyn asiakasohjelmalta Kysely
D B. Kyselyjen käsittely ja optimointi. Kyselyn käsittelyn vaiheet:
Kyselyjen käsittely ja optimointi Kyselyn käsittelyn vaiheet: TKHJ ottaa vastaan kyselyn asiakasohjelmalta Kysely selataan ja jäsennetään tarkistetaan kyselyn rakenteellinen oikeellisuus Jäsennetty kysely
Helsingin yliopisto/tktl Tietokantojen perusteet, s 2006 Tietokantaoperaatioiden toteutuksesta Harri Laine 1
Relaatiomalliin perustuvissa tietokannoissa on standardiksi käyttöliittymäksi vakiintunut SQL-kieli SQL-kielen perustana on rivikalkyyliin mukainen kyselymalli, jota on täydennetty laajennetun relaatioalgebran
Luku 8. Aluekyselyt. 8.1 Summataulukko
Luku 8 Aluekyselyt Aluekysely on tiettyä taulukon väliä koskeva kysely. Tyypillisiä aluekyselyitä ovat, mikä on taulukon välin lukujen summa tai pienin luku välillä. Esimerkiksi seuraavassa taulukossa
Algoritmit 2. Luento 14 Ke Timo Männikkö
Algoritmit 2 Luento 14 Ke 3.5.2017 Timo Männikkö Luento 14 Ositus ja rekursio Rekursion toteutus Kertaus ja tenttivinkit Algoritmit 2 Kevät 2017 Luento 14 Ke 3.5.2017 2/30 Ositus Tehtävän esiintymä ositetaan
SYÖTTÖPOHJA LUKUJEN SYÖTTÖÖN ERI TARKOITUKSIIN
SYÖTTÖPOHJA LUKUJEN SYÖTTÖÖN ERI TARKOITUKSIIN Usein tarvitaan käyttäjän käsin syöttämiä lukuja eri tarkoituksiin. Tällaisia ovat mm. budjetti-, ennuste-, tavoite- ym. luvut. Lukuja syötetään eri kohteille,
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 25.2.2009 T-106.1208 Ohjelmoinnin perusteet Y 25.2.2009 1 / 34 Syötteessä useita lukuja samalla rivillä Seuraavassa esimerkissä käyttäjä antaa useita lukuja samalla
Fyysinen suunnittelu
Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Fyysinen suunnittelu kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003, 2005) luvusta 9 Jouni
Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas
Tiedonhallinnan perusteet Viikko 1 Jukka Lähetkangas Kurssilla käytävät asiat Tietokantojen toimintafilosofian ja -tekniikan perusteet Tiedonsäilönnän vaihtoehdot Tietokantojen suunnitteleminen internetiä
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 10.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 10.2.2010 1 / 43 Kertausta: listat Tyhjä uusi lista luodaan kirjoittamalla esimerkiksi lampotilat = [] (jolloin
HELIA 1 (15) Outi Virkki Tiedonhallinta
HELIA 1 (15) Luento Suorituskyvyn optimointi... 2 Tiedonhallintajärjestelmän rakenne... 3 Suunnittele... 4 SQL-komentojen viritys... 5 Tekninen ympäristö... 6 Fyysisen tason ratkaisut... 7 Indeksit...
Algoritmit 2. Luento 2 Ke Timo Männikkö
Algoritmit 2 Luento 2 Ke 15.3.2017 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2017 Luento
58131 Tietorakenteet (kevät 2009) Harjoitus 9, ratkaisuja (Antti Laaksonen)
58131 Tietorakenteet (kevät 2009) Harjoitus 9, ratkaisuja (Antti Laaksonen) 1. Lisäysjärjestämisessä järjestetään ensin taulukon kaksi ensimmäistä lukua, sitten kolme ensimmäistä lukua, sitten neljä ensimmäistä
Algoritmit 1. Luento 10 Ke Timo Männikkö
Algoritmit 1 Luento 10 Ke 14.2.2018 Timo Männikkö Luento 10 Algoritminen ongelmanratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Lisäyslajittelu Valintalajittelu Permutaatiot
(a) L on listan tunnussolmu, joten se ei voi olla null. Algoritmi lisäämiselle loppuun:
Tietorakenteet ja algoritmit, kevät 201 Kurssikoe 1, ratkaisuja 1. Tehtävästä sai yhden pisteen per kohta. (a) Invariantteja voidaan käyttää algoritmin oikeellisuustodistuksissa Jokin väittämä osoitetaan
FYYSINEN SUUNNITTELU
IIO30100 TIETOKANTOJEN SUUNNITTELU JA IIO30200 TIETOKANNAN HALLINTA FYYSINEN SUUNNITTELU KIRJAN HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI, DOCENDO (2003, 2005), LUKU 9 JOUNI HUOTARI,
Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)
Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes) Kääreluokista Javan alkeistietotyypit ja vastaavat kääreluokat Autoboxing Integer-luokka Double-luokka Kääreluokista Alkeistietotyyppiset muuttujat (esimerkiksi
D B. Kyselyjen käsittely ja optimointi. Kyselyjen käsittely ja optimointi
Kyselyn käsittelyn vaiheet: TKHJ ottaa vastaan kyselyn asiakasohjelmalta Kysely selataan ja jäsennetään tarkistetaan kyselyn rakenteellen oikeellisuus Jäsennetty kysely muunnetaan relaatiolausekkeiksi
58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut
Tietorakenteet ja algoritmit (syksy 0) Toinen välikoe, malliratkaisut. (a) Alussa puu näyttää tältä: Lisätään 4: 4 Tasapaino rikkoutuu solmussa. Tehdään kaksoiskierto ensin oikealle solmusta ja sitten
Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);
Tietokannat SQL-peruskomentojen pikaopas CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); INSERT INTO table VALUES(val1,val2,... ); Lisää tauluun
Ohjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 17.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 17.2.2010 1 / 41 Sanakirja Monissa sovelluksissa on tallennettava rakenteeseen avain arvo-pareja. Myöhemmin rakenteesta
TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences
TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 11 TU00AA48-2002 TU10S1E Hannu Markkanen 22.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1 Indeksit Indeksit Taulun
Algoritmit 2. Demot Timo Männikkö
Algoritmit 2 Demot 2 3.-4.4.2019 Timo Männikkö Tehtävä 1 Avoin osoitteenmuodostus: Hajautustaulukko t (koko m) Erikoisarvot VAPAA ja POISTETTU Hajautusfunktio h(k,i) Operaatiot: lisaa etsi poista Algoritmit
Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);
Tietokannat SQL-peruskomentojen pikaopas CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi); INSERT INTO table VALUES(val1,val2,... ); Lisää tauluun
5. Hajautus. Tarkastellaan edelleen sivulla 161 esitellyn joukkotietotyypin toteuttamista
5. Hajautus Tarkastellaan edelleen sivulla 161 esitellyn joukkotietotyypin toteuttamista Useissa sovelluksissa riittää että operaatiot insert, delete ja search toimivat nopeasti esim. sivun 30 puhelinluetteloesimerkissä
Algoritmit 1. Luento 7 Ti Timo Männikkö
Algoritmit 1 Luento 7 Ti 31.1.2017 Timo Männikkö Luento 7 Järjestetty binääripuu Binääripuiden termejä Binääripuiden operaatiot Solmun haku, lisäys, poisto Algoritmit 1 Kevät 2017 Luento 7 Ti 31.1.2017
RJESTELMÄ Stallings, Luku KJ-I I S2005 / Tiina Niklander, kalvot Auvo HäkkinenH
Käyttöjärjestelmät t I Luento 9 (&10): TIEDOSTOJÄRJESTELM RJESTELMÄ Stallings, Luku 12.1-12.7 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 9-1 Sisält ltöä Peruskäsitteistöä, tehtäviä ja tavoitteita
private TreeMap<String, Opiskelija> nimella; private TreeMap<String, Opiskelija> numerolla;
Tietorakenteet, laskuharjoitus 7, ratkaisuja 1. Opiskelijarekisteri-luokka saadaan toteutetuksi käyttämällä kahta tasapainotettua binäärihakupuuta. Toisen binäärihakupuun avaimina pidetään opiskelijoiden
ALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012
ALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012 1.1. (a) Jaettava m, jakaja n. Vähennetään luku n luvusta m niin kauan kuin m pysyy ei-negatiivisena. Jos jäljelle jää nolla, jaettava oli tasan jaollinen. int m,
Helsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi
Miksi optimoidaan Relaatiotietokannan kyselyt esitetään käytännössä SQLkielellä. Kieli määrittää halutun tuloksen, ei sitä miten tulos muodostetaan (deklaratiivinen kyselykieli) Tietokannan käsittelyoperaatiot
Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto
Tietokanta Tiedosto Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään
811312A Tietorakenteet ja algoritmit, , Harjoitus 5, Ratkaisu
1312A Tietorakenteet ja algoritmit, 2016-2017, Harjoitus 5, Ratkaisu Harjoituksen aihe ovat hash-taulukot ja binääriset etsintäpuut Tehtävä 5.1 Tallenna avaimet 10,22,31,4,15,28,17 ja 59 hash-taulukkoon,
Algoritmit 1. Luento 10 Ke 11.2.2015. Timo Männikkö
Algoritmit 1 Luento 10 Ke 11.2.2015 Timo Männikkö Luento 10 Algoritminen ongelman ratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Väliinsijoituslajittelu Valintalajittelu
Tietorakenteet ja algoritmit - syksy 2015 1
Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä
815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset
815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,
811312A Tietorakenteet ja algoritmit, , Harjoitus 5, Ratkaisu
1312A Tietorakenteet ja algoritmit, 2018-2019, Harjoitus 5, Ratkaisu Harjoituksen aihe ovat hash-taulukot ja binääriset etsintäpuut Tehtävä 5.1 Tallenna avaimet 10,22,31,4,15,28,17 ja 59 hash-taulukkoon,
jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja
Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja mikä tahansa tietokokoelma? --> erityispiirteitä Tietokanta vs. tiedosto 1
Reaalilukuvälit, leikkaus ja unioni (1/2)
Luvut Luonnolliset luvut N = {0, 1, 2, 3,... } Kokonaisluvut Z = {..., 2, 1, 0, 1, 2,... } Rationaaliluvut (jaksolliset desimaaliluvut) Q = {m/n m, n Z, n 0} Irrationaaliluvut eli jaksottomat desimaaliluvut
Algoritmit 1. Demot Timo Männikkö
Algoritmit 1 Demot 1 25.-26.1.2017 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka laskee kahden kokonaisluvun välisen jakojäännöksen käyttämättä lainkaan jakolaskuja Jaettava m, jakaja n Vähennetään luku
Tietokanta (database)
Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja 1 Tiedosto Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään
useampi ns. avain (tai vertailuavain) esim. opiskelijaa kuvaavassa alkiossa vaikkapa opintopistemäärä tai opiskelijanumero
Alkioiden avaimet Usein tietoalkioille on mielekästä määrittää yksi tai useampi ns. avain (tai vertailuavain) esim. opiskelijaa kuvaavassa alkiossa vaikkapa opintopistemäärä tai opiskelijanumero 80 op
Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003
Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003 Matti Nykänen 5. joulukuuta 2003 1 Satelliitit Muunnetaan luennoilla luonnosteltua toteutusta seuraavaksi: Korvataan puusolmun p kentät p. key ja
Tieto ohjelmassa ja tietokoneella
HELIA Tiko -05 1 (23) Tieto ohjelmassa ja tietokoneella Tiedon 3-tasomalli...2 Tieto käsitetasolla...3 Tieto loogisella tasolla...4 Tieto fyysisellä tasolla...5 Muistit...6 Päämuisti...6 Apumuisti...6
4 Tehokkuus ja algoritmien suunnittelu
TIE-20100 Tietorakenteet ja algoritmit 52 4 Tehokkuus ja algoritmien suunnittelu Tässä luvussa pohditaan tehokkuuden käsitettä ja esitellään kurssilla käytetty kertaluokkanotaatio, jolla kuvataan algoritmin
Pikalajittelu: valitaan ns. pivot-alkio esim. pivot = oikeanpuoleisin
Pikalajittelu: valitaan ns. pivot-alkio esim. pivot = oikeanpuoleisin jaetaan muut alkiot kahteen ryhmään: L: alkiot, jotka eivät suurempia kuin pivot G : alkiot, jotka suurempia kuin pivot 6 1 4 3 7 2
Tietorakenteet, laskuharjoitus 8, malliratkaisut
Tietorakenteet, laskuharjoitus 8, malliratkaisut 1. Seuraavassa on yksi tapa toteuttaa metodit hashcode ja equals: public int hashcode() { return this.x * 31 + this.y; public boolean equals(object o) {
Algoritmit 2. Luento 7 Ti Timo Männikkö
Algoritmit 2 Luento 7 Ti 4.4.2017 Timo Männikkö Luento 7 Joukot Joukko-operaatioita Joukkojen esitystapoja Alkiovieraat osajoukot Toteutus puurakenteena Algoritmit 2 Kevät 2017 Luento 7 Ti 4.4.2017 2/26