Hakemistorakenteet. R & G Chapter Tietokannan hallinta, kevät 2006, Jan 1

Samankaltaiset tiedostot
Hakemistotyypeistä. Hakemistorakenteet. Hakemiston toteutuksesta. Hakemiston toteutuksesta

D B. Harvat hakemistot. Harvat hakemistot

D B. Harvat hakemistot

Helsingin yliopisto /TKTL Tietokannan hallinta Harri Laine 1 D B. Harvat hakemistot. Harvat hakemistot

Helsingin yliopisto/tktl Tietokantojen perusteet, s 2006 Tietokantaoperaatioiden toteutuksesta 3. Harri Laine 1

oheishakemistoja voi tiedostoon liittyä useita eri perustein muodostettuja

D B. B+ -puun tasapainotus poistossa. B+ -puun tasapainotus poistossa. Poistot. B+ -puun tasapainotus poistossa. B+ -puun tasapainotus poistossa

3. Tietokannan hakemistorakenteet

3. Tietokannan hakemistorakenteet

Tiedostorakenteet. R&G Chapter Tietokannan hallinta, kevät 2006, Jan 1

Helsingin yliopisto/tktl Kyselykielet, s 2006 Tietokantaoperaatioiden toteutuksesta Harri Laine 1. Tiedostorakenteet.

D B. Tietokannan hallinta kertaus

Yksitasoisia talletusrakenteita käytetään lähinnä datatietueiden talletukseen

Helsingin yliopisto/tktl Tietokannan hallinta kevät Harri Laine 1 D B. Yksitasoiset talletusrakenteet

Hajautusrakenteet. R&G Chapter Tietokannan hallinta, kevät 2006, Jan 1

Algoritmit 2. Luento 5 Ti Timo Männikkö

Hajautusrakenteet. Hajautukseen perustuvat tiedostorakenteet. Hajautukseen perustuvat tiedostorakenteet. Hajautukseen perustuvat tiedostorakenteet

Algoritmit 2. Luento 6 Ke Timo Männikkö

B-puu. 3.3 Dynaamiset hakemistorakenteet

Algoritmit 2. Luento 5 Ti Timo Männikkö

TKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto

Käsitellyt hakemistot (hajautus, ISAM): hakemisto-osa on staattinen eli ei muutu muuten kuin uudelleenorganisoinnissa.

Lisätään avainarvo 1, joka mahtuu lehtitasolle:

Lisätään avainarvo 6, joka mahtuu lehtitasolle:

Algoritmit 1. Luento 6 Ke Timo Männikkö

D B. Tiedostojen käsittely

58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen)

Algoritmit 1. Luento 5 Ti Timo Männikkö

B + -puut. Kerttu Pollari-Malmi

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

Tietorakenteet, laskuharjoitus 7, ratkaisuja

private TreeMap<String, Opiskelija> nimella; private TreeMap<String, Opiskelija> numerolla;

Algoritmit 2. Luento 2 To Timo Männikkö

Algoritmit 1. Luento 7 Ti Timo Männikkö

v 1 v 2 v 3 v 4 d lapsisolmua d 1 avainta lapsen v i alipuun avaimet k i 1 ja k i k 0 =, k d = Sisäsolmuissa vähint. yksi avain vähint.

Tehtävän V.1 ratkaisuehdotus Tietorakenteet, syksy 2003

Algoritmit 2. Luento 2 Ke Timo Männikkö

Algoritmit 2. Luento 6 To Timo Männikkö

Algoritmit 2. Luento 9 Ti Timo Männikkö

Algoritmit 2. Luento 4 To Timo Männikkö

Algoritmit 2. Luento 7 Ti Timo Männikkö

Luento 2: Tiedostot ja tiedon varastointi

Liitosesimerkki Tietokannan hallinta, kevät 2006, J.Li 1

Algoritmit 2. Luento 3 Ti Timo Männikkö

Jokaisella tiedostolla on otsake (header), joka sisältää tiedostoon liittyvää hallintatietoa

D B. Levytiedostojen käsittely. Levytiedostojen käsittely

Algoritmit 1. Luento 4 Ke Timo Männikkö

Hakupuut. tässä luvussa tarkastelemme puita tiedon tallennusrakenteina

Tietokanta (database)

Algoritmit 2. Luento 4 Ke Timo Männikkö

Binäärihaun vertailujärjestys

Liitosesimerkki. Esim R1 R2 yhteinen attribuutti C. Vaihtoehdot

lähtokohta: kahden O(h) korkuisen keon yhdistäminen uudella juurella vie O(h) operaatiota vrt. RemoveMinElem() keossa

Algoritmit 1. Luento 12 Ke Timo Männikkö

D B. Levykön rakenne. pyöriviä levyjä ura. lohko. Hakuvarsi. sektori. luku-/kirjoituspää

Algoritmit 2. Luento 3 Ti Timo Männikkö

Algoritmit 1. Luento 12 Ti Timo Männikkö

Luku 8. Aluekyselyt. 8.1 Summataulukko

jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja

Puuhakemistoista flash-levyllä

Paikkatiedon käsittely 5. Paikkatiedon indeksointi

Algoritmit 1. Luento 8 Ke Timo Männikkö

Tietorakenteet ja algoritmit

58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut

FTR:n jälkikatselmus

Levymuisti. R&G Chapter 8 & Tietokannan hallinta, kevät 2006, Jan 1

58131 Tietorakenteet (kevät 2008) 1. kurssikoe, ratkaisuja

A TIETORAKENTEET JA ALGORITMIT

Tiedon talletuspaikkoja. Levymuisti. Vaihtoehtoisia talletusrakenteita. Tietokantojen säilytys. R&G Chapter 8 & 9. Useita vaihtoehtoja:

Ohjelmistoprojektin vaiheet ja OMT++ -suunnittelumenetelmä

Ohjelmoinnin perusteet Y Python

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto

Tietorakenteet ja algoritmit Hakurakenteet Ari Korhonen

Mat Lineaarinen ohjelmointi

811312A Tietorakenteet ja algoritmit II Perustietorakenteet

58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut

811312A Tietorakenteet ja algoritmit, , Harjoitus 5, Ratkaisu

Ohjelmoinnin perusteet Y Python

ALGORITMIT 1 DEMOVASTAUKSET KEVÄT 2012

4. Joukkojen käsittely

58131 Tietorakenteet (kevät 2009) Harjoitus 9, ratkaisuja (Antti Laaksonen)

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)

Tehtävä 2: Loppuosataulukko

2. Tietokannan tallennusrakenteet

Paikkatiedon hallinta ja analyysi 4. Paikkatiedon indeksointi

Algoritmit 1. Luento 9 Ti Timo Männikkö

Tietorakenteet ja algoritmit

Sekvenssi: kokoelma peräkkäisiä alkioita (lineaarinen

OHJE KILPIEN LISÄÄMISESTÄ ATJN KILPIVARASTOON

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

811312A Tietorakenteet ja algoritmit, , Harjoitus 5, Ratkaisu

1. a) Laadi suoraviivaisesti kyselyä vastaava optimoimaton kyselypuu.

Opettajan SoleOps -ohje

7. Tasapainoitetut hakupuut

58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe ratkaisuja (Jyrki Kivinen)

Tietorakenteet, laskuharjoitus 6,

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)

4 LUKUJONOT JA SUMMAT

811312A Tietorakenteet ja algoritmit, , Harjoitus 7, ratkaisu

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

Transkriptio:

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 tai tietuejoukosta tuotettu tunnus yleensä suoraan kentän arvo tietueen osoitteen, joka voi olla joko sivuosoite tai tietueen siirtely sivun sisällä helppoa riviosoite (sivuosoite + rivin (tietueen) järjestysnumero) tietueen siirtely edellyttää tietueeseen viittavien hakemistomerkintöjen muuttamista, tietue löytyy nopeammin 16.02.06 Tietokannan hallinta, kevät 2006, Jan 2

Hakemiston toteutuksesta Teknisesti hakemistokin on tiedosto muodostuu sivuista (hakemistosivu) hakemistomerkinnät ovat tietueita tarvitsee käsittelyä varten puskureita koska useat tietokantahaut saattavat edellyttää hakemiston käyttöä pyrkivät tkhj:ien puskurienhallintarutiinit suosimaan hakemistosivujen säilymistä puskureissa 16.02.06 Tietokannan hallinta, kevät 2006, Jan 3

Hakemiston toteutuksesta Hakemisto voitaisiin toteuttaa aiemmin käsiteltyjen tiedostorakenteiden avulla kasa, järjestetty peräkkäistiedosto, hajautusrakenne Hakemistoja varten on kehitetty myös erityisiä hakemistokäyttöön tarkoitettuja rakenteita (esim. B+ puu, tarkastellaan myöhemmin) 16.02.06 Tietokannan hallinta, kevät 2006, Jan 4

Hakemiston käyttö Haku hakemistoa käyttäen on kaksivaiheista ensin etsitään hakemistomerkintä hakemistosivuilta ja hakemistomerkinnän perusteella haetaan tietueen sisältävä sivu Tietueen hakua varten tarvitaan siis vähintään kaksi levyhakua (elleivät sivut ole puskurissa). Hakemistotietuetta voidaan joutua etsimään usealta hakemistosivulta. Koska hakemistomerkinnät ovat yleensä lyhyempiä kuin varsinaiset tietueet, niitä mahtuu sivulle useampia ja sivuja on vähemmän. Seuraus: hakemiston kautta on nopeampi etsiä tietuetta 16.02.06 Tietokannan hallinta, kevät 2006, Jan 5

Arvovälihaut Hae työntekijät, joiden palkka > 3000 Jos tiedosto lajiteltu voidaan binäärihaulla hakea ensimmäinen ehdon täyttävä monikko. Binäärihaunkin kustannus voi olla korkea. Yksinkertainen idea: luodaan hakemisto. k1 k2 kn Hakemistotiedosto Page 1 Page 2 Page 3 Page N Datatiedosto Voidaan käyttää binäärihakua pieneen hakemistoon! 16.02.06 Tietokannan hallinta, kevät 2006, Jan 6

Harvat hakemistot ISAM ISAM (indexed sequential access method) indeksoitu peräkkäisrakenne harva monitasoinen staattinen hakemisto staattinen: hakemisto pysyy luontinsa jälkeen muuttumattomana kunnes tiedosto organisoidaan uudelleen ja sille luodaan uusi hakemisto tiedosto jakautuu perussivuihin ja ylivuotosivuihin ylivuotosivuille viedään lisäykset, jotka eivät mahdu perussivuille, ylivuotosivut ketjutetaan 16.02.06 Tietokannan hallinta, kevät 2006, Jan 7

Harvat hakemistot ISAM Tiedosto luodaan järjestetyn aineiston pohjalta Tietueita lisätään tiedoston loppuun (järjestyksessä) Sivuille jätetään tilaa lisäyksille, esim. 30 % 50%. Hakemistomerkinnässä avainarvo ja sivuosoite Viedään merkintä hakemistosivulle aina kun aloitetaan uusi datasivu ensimmäisen hakemistosivun kohdalla viedään hakemisto avaimeksi low value = pienin mahdollinen, muille sivun ensimmäisen tietueen avain Hakemistosivut voidaan laittaa täyteen, sillä niitä ei päivitetä. 16.02.06 Tietokannan hallinta, kevät 2006, Jan 8

Harvat hakemistot ISAM Rakenne sopii hyvin tiedostoille, joihin tulee vain vähän lisäyksiä. Jos lisäyksiä tulee runsaasti tarvitaan ajoittaisia uudelleenorganisointeja. Ylivuotoketjut hidastavat läpilukuaikaa samoin kuin järjestetyssä peräkkäisrakenteessa. Koska hakemistosivut eivät muutu, ei niitä myöskään tarvitse lukita rinnakkaisessa käsittelyssä prosessin ei tarvitse jonottaa hakemistosivua 16.02.06 Tietokannan hallinta, kevät 2006, Jan 9

Harvat hakemistot ISAM Poistot kun ylivuotosivu tyhjenee poiston seurauksena sivu irrotetaan ketjusta ja voidaan ottaa uudelleen käyttöön kun datasivu tyhjenee poiston seurauksena se jätetään tyhjäksi. Sivu tarjoaa tällöin lisäyspaikan, jos sen avainalueelle sattuisi tulemaan lisäyksiä. 16.02.06 Tietokannan hallinta, kevät 2006, Jan 10

Harvat hakemistot ISAM Alkuperä: IBM.n ISAM rakenteessa oli alunperin kaksi hakemistotasoa alimpana urahakemisto (uran suurin avain), ja seuraavalla tasolla sylinterihakemisto (sylinterin suurin avain) Muunnelmia ISAM rakennetta voidaan käyttää hakemistorakenteena, siten että datatietueina eivät olekaan oikeat datatietueet vaan tiheän hakemiston hakemistomerkinnät. 16.02.06 Tietokannan hallinta, kevät 2006, Jan 11

Harvat hakemistot ISAM ISAM on keskimäärin hyvin tehokas rakenne hakemistoavaimen avulla tehtävissä hakuoperaatioissa (yhtäsuuruus, alkuosa, arvoväli) Rakenne ei kykene takaamaan kasvavalle tiedostolle kovin pientä ylärajaa levyhakujen määrälle pahimmassa tapauksessa, pahin tapaus levyhakuja luokkaa: lisäysten määrä/sivukoko 16.02.06 Tietokannan hallinta, kevät 2006, Jan 12

hakemistotietue ISAM P 0 K 1 P 1 K 2 P 2 K m P m Hakemistotietue voi silti olla iso, mutta ideaa voidaan toistaa! Hakemistosivut Lehti sivut Ylivuoto sivut Lehtisivut sisältävät tietosivuja. Pääsivut 16.02.06 Tietokannan hallinta, kevät 2006, Jan 13

Esimerkki ISAM puusta Juuri 40 20 33 51 63 10* 15* 20* 27* 33* 37* 40* 46* 51* 55* 63* 97* 16.02.06 Tietokannan hallinta, kevät 2006, Jan 14

Lisätään 23*, 48*, 41*, 42*... Hakemisto sivut Juuri 40 20 33 51 63 Päälehtisivut 10* 15* 20* 27* 33* 37* 40* 46* 51* 55* 63* 97* Ylivuoto sivut 23* 48* 41* 42* 16.02.06 Tietokannan hallinta, kevät 2006, Jan 15

... Poistetaan 42*, 51*, 97* Juuri 40 20 33 51 63 10* 15* 20* 27* 33* 37* 40* 46* 55* 63* 23* 48* 41* Huomaa että 51* on hakemistotasolla mutta ei lehtitasolla! 16.02.06 Tietokannan hallinta, kevät 2006, Jan 16

Dynaamiset hakemistorakenteet B+ puu B+ puut ovat laajalti tietokantojen yhteydessä käytetty tiedostorakenne Rakenne on oikeastaan ISAM rakenteen dynaaminen muunnelma Rakenteen alimmalla tasolla ovat datatietueet järjestettynä rakenteena kuten ISAM:ssa, Datasivut eivät kuitenkaan ole välttämättä fyysisesti peräkkäisiä vaan ne on usein kytketty kaksisuuntaiseksi linkitetyksi listaksi. Erillisiä ylivuotosivuja ei ole, vaan listarakennetta ylläpidetään dynaamisesti. Datasivujen päällä on monitasoinen harva hakemisto, joka ISAM:ista poiketen on dynaaminen 16.02.06 Tietokannan hallinta, kevät 2006, Jan 17

Esimerkki B+ puusta Haku alkaa juuresta ja etenee kohti lehtisivuja Haetaan 5*, 15*, kaikki sivut >= 24*... Juuri 13 17 24 30 2* 3* 5* 7* 14* 16* 19* 20* 22* 24* 27* 29* 33* 34* 38* 39* Haettaessa 15*, tiedetään ettei sitä ole puussa! 16.02.06 Tietokannan hallinta, kevät 2006, Jan 18

B+ puuhun lisäys Lisäykset: Lisättäessä tietuetta B+ puuhun sille haetaan sijoituspaikka edellä kuvatulla hakuoperaatiolla Jos sivulla on tilaa, tietue lisätään järjestyksessä oikealle paikalleen sivulla Jos tietue ei mahdu sivulle se sijoitetaan loogisesti oikealle paikalleen ja jaetaan ylivuotanut sivu: Otetaan käyttöön uusi sivu ja kytketään se linkitettyyn listaan Siirretään puolet alkuperäisen sivun tietueista uudelle sivulle Muodostetaan hakemistomerkintä (K new,p new ) uuden sivun ensimmäisen tietueen avaimesta ja sivun osoiteesta ja lisätään tämä siihen hakemistotietueeseen, jonka alaisuuteen jaettu sivu kuului 16.02.06 Tietokannan hallinta, kevät 2006, Jan 19

Lisätään 8* esimerkin B+ puuhun Lisäys aiheuttaa lehtitason täyttymisen ja tarvitaan halkaisu 5 Arvo joka lisätään ylemmälle tasolle (Huomaa että 5 kopioidaan ja Esiintyy edelleen lehtitasolla) 2* 3* 5* 7* 8* Lisäys aiheuttaa myös hakemistotason täyttymisen ja tarvitaan halkaisu 17 Huomaa että arvo siirretään ylemmälle hakemistotasolle 5 13 24 30 16.02.06 Tietokannan hallinta, kevät 2006, Jan 20

Esimerkin puu arvon 8 lisäyksen jälkeen Juuri 17 5 13 24 30 2* 3* 5* 7* 8* 14* 16* 19* 20* 22* 24* 27* 29* 33* 34* 38* 39* Huomaa että juuri on halkaistu ja puun korkeus kasvoi. Esimerkissä halkaisu voidaan välttää siirtelemällä arvoja, mutta sitä ei yleensä tehdä. 16.02.06 Tietokannan hallinta, kevät 2006, Jan 21

Tasapainotus lisäyksessä lisättävä ei mahdu sivulle 30 60 60 30 40 50 35 16.02.06 Tietokannan hallinta, kevät 2006, Jan 22

Tasapainotus lisäyksessä otetaan käyttöön uusi datasivu 30 60 60 30 40 50 35 16.02.06 Tietokannan hallinta, kevät 2006, Jan 23

Tasapainotus lisäyksessä kytketään uusi datasivu sivuketjuun 30 60 60 30 40 50 35 16.02.06 Tietokannan hallinta, kevät 2006, Jan 24

Tasapainotus lisäyksessä Siirretään puolet ylivuotavan sivun sisällöstä uudelle sivulle 30 60 60 30 35 40 50 16.02.06 Tietokannan hallinta, kevät 2006, Jan 25

Tasapainotus lisäyksessä tehdään uudelle sivulle hakemistotietue ja lisätään se hakemistosivulle, jonka alaisuuteen tietue lisättiin 30 60 40 60 30 35 40 50 16.02.06 Tietokannan hallinta, kevät 2006, Jan 26

Tasapainotus lisäyksessä Hakemistotietue mahtui sivulle lisäys on valmis 30 40 60 60 30 35 40 50 16.02.06 Tietokannan hallinta, kevät 2006, Jan 27

Tasapainotus lisäyksessä Rakenne on nyt hieman kasvanut, kyseessä kertaluvun 2 B+ puu 30 40 60 100 100 60 30 35 36 40 50 lisätään 38 16.02.06 Tietokannan hallinta, kevät 2006, Jan 28

Tasapainotus lisäyksessä nouseva hakemistotietue ei mahdu hakemistosivulle 30 40 60 100 100 36 60 30 35 40 50 36 38 16.02.06 Tietokannan hallinta, kevät 2006, Jan 29

Tasapainotus lisäyksessä keskimmäinen avain nousee ylöspäin 30 36 40 60 100 uusi sivu, jonne puolet 100 60 30 35 40 50 36 38 16.02.06 Tietokannan hallinta, kevät 2006, Jan 30

Tasapainotus lisäyksessä keskimmäinen nousee seuraavalle tasolle 40 osoitin uuteen sivuun 30 36 60 100 100 60 30 35 40 50 36 38 16.02.06 Tietokannan hallinta, kevät 2006, Jan 31

Tasapainotus lisäyksessä Jos jaettiin juuri, niin lisätään uuteen juureen vanhan osoite 40 30 36 60 100 100 60 30 35 40 50 36 38 16.02.06 Tietokannan hallinta, kevät 2006, Jan 32

B+ puun tasapainotus poistossa Poistot Alkuperäisen B+ puun idean mukaisesti tasapainotusta tehdään myös poistossa Jos datasivun täyttösuhde laskee alle puoleen ja sivun ja sen velisivun (sibling, saman isäsivun alla oleva vierussivu) yhteenlaskettu tietomäärä ylittää ylittää sivukoon, järjestetään sivuparin tietueet uudelleen siirtämällä täydemmältä sivulta tietue vajaalle sivulle. 16.02.06 Tietokannan hallinta, kevät 2006, Jan 33

B+ puun tasapainotus poistossa 30 50 30 40 50 60 70 80 poistetaan kohdesivu velisivu 16.02.06 Tietokannan hallinta, kevät 2006, Jan 34

B+ puun tasapainotus poistossa tätä ei tarvitse vaihtaa vaikka tietue katosikin 30 50 40 50 60 70 80 Täyttösuhde liian pieni kohdesivu velisivu siirretään vajaalle 16.02.06 Tietokannan hallinta, kevät 2006, Jan 35

B+ puun tasapainotus poistossa 30 50 korvataan erotin sivun pienimmällä tunnuksella 40 50 60 70 80 Siirretty datatietue 16.02.06 Tietokannan hallinta, kevät 2006, Jan 36

B+ puun tasapainotus poistossa 30 60 40 50 60 70 80 rakenne tasauksen jälkeen 16.02.06 Tietokannan hallinta, kevät 2006, Jan 37

B+ puun tasapainotus poistossa Jos poiston kohteena olevan sivun ja sen velisivun yhteenlaskettu tietomäärä jää alle sivun kapasiteetin yhdistetään sivut ja poistetaan niiden välinen erotin hakemistosta. 30 60 y 40 50 60 70 80 poistetaan 16.02.06 Tietokannan hallinta, kevät 2006, Jan 38

B+ puun tasapainotus poistossa 30 60 y 40 60 70 80 siirretään kaikki velisivun tietueet kohdesivulle, vapautetaan tyhjentynyt sivu, poistetaan erotin hakemistosivulta 16.02.06 Tietokannan hallinta, kevät 2006, Jan 39

B+ puun tasapainotus poistossa 30 y 40 60 70 80 16.02.06 Tietokannan hallinta, kevät 2006, Jan 40

Hakemistosivujen tasapainotus Hakemistomerkinnän poiston takia hakemistosolmu voi jäädä vajaatäyttöiseksi Sivun täyttösuhdetta korjataan samalla periaatteella kuin datasivujenkin eli siirtämällä velisolmusta täydennystietue, siirto tehdään isäsolmun kautta vyöryttämällä Vyörytys: Olkoon kyseessä oikeanpuoleinen veli eli velisolmussa on isompia avaimia. Vyörytys tapahtuu tällöin seuraavasti Lisätään isäsolmusta kopioitu kohdesolmun ja velisolmun välinen avain kohdesolmun avainlistan loppuun Lisätään velisolmun osoitin p 0 kohdesolmun osoitinlistan loppuun Korvataan isäsolmussa ollut kohdesolmun ja velisolmun välinen avain velisolmun avainlistan pienimmällä avaimella Poistetaan velisolmun avain ja osoitinlistojen alkupäästä ensimmäinen avain ja osoitin Sivuja yhdistettäessä vyörytetään kaikki velisolmun tietueet kohdesolmuun ja poistetaan isäsolmusta avain sekä osoitin velisolmuun Puun korkeus alenee, jos poistettavana on juurisolmun ainoa erotin. 16.02.06 Tietokannan hallinta, kevät 2006, Jan 41

Vyörytys kohde 96 45 120 300 sen veli kohde 120 45 96 300 sen veli 16.02.06 Tietokannan hallinta, kevät 2006, Jan 42

B+ puun tasapainotus poistossa Kaikki toteutukset eivät käytä tasapainotusta poistojen yhteydessä, vaan antavat täyttöasteen laskea. B+ puun hakemistosivujen keskimääräiseksi täyttöasteeksi muodostuu lisäys ja poistotasapainotusta käytettäessä noin 67% 16.02.06 Tietokannan hallinta, kevät 2006, Jan 43

B+ puun ominaisuuksia Olkoon B+ puun korkeus h haettaessa indeksointiavaimen perusteella joudutaan tutkimaan h sivua ( h levyhakua) lisättäessä joudutaan lukemaan h sivua ja kirjoittamaan vähintään 1 ja enintään h+2 sivua poistettaessa joudutaan lukemaan vähintään h ja enintään 2h 1 ja kirjoittamaan vähintään 1 ja enintään 2h 1 sivua Indeksointiavaimen arvon muuttaminen täytyy B+ puun yhteydessä hoitaa poisto ja lisäys operaatioina. 16.02.06 Tietokannan hallinta, kevät 2006, Jan 44

B+ puu ennen poistoja Juuri 17 5 13 24 30 2* 3* 5* 7* 8* 14* 16* 19* 20* 22* 24* 27* 29* 33* 34* 38* 39* 16.02.06 Tietokannan hallinta, kevät 2006, Jan 45

Poistetaan 19* ja 20*... Juuri 17 5 13 27 30 2* 3* 5* 7* 8* 14* 16* 22* 24* 27* 29* 33* 34* 38* 39* 19* poisto on helppoa. 20* poisto tehdään uudelleen järjestelemällä lehtisivut. Huomaa kuinka keskimmäinen arvo kopioidaan. 16.02.06 Tietokannan hallinta, kevät 2006, Jan 46

... Poistetaan 24* Vaatii yhdistämistä. Huomaa hakemistoarvon siirto ja siirto alaspäin. Juuri 5 13 17 30 22* 27* 29* 33* 34* 38* 39* 30 2* 3* 5* 7* 8* 14* 16* 22* 27* 29* 33* 34* 38* 39* 16.02.06 Tietokannan hallinta, kevät 2006, Jan 47