1. a 2. cvičenie

S využitím B+tree a úvodných zdrojákov vytvorte klastrovaný a neklastrovaný index, ktorý poskytuje rozsahový dopyt.

  • Generator.java vygeneruje súbor obsahujúci náhodné dáta rozdelené do 4kB stránok. Každá stránka obsahuje záznamy pevnej dĺžky so štruktúrou, ktorá je v dokumentácii.
  • Do B+tree doprogramujte rozsahový dopyt pre uzavretý interval.
  • Použite triedy PersonStringKey a PersonEntry pre parametrizáciu B+tree a vytvorte triedu ClusteredBPTree založenú na B+tree poskytujúci rozsahový dopyt (ako testovacie dáta použite vygenerovaný subor).
  • Vytvorte analogicky triedu SurnameAndOffsetEntry pre parametrizaciu B+tree a vytvorte triedu UnclusteredBPTree založenú na B+tree poskytujúci rozsahový dopyt (ako testovacie dáta použite vygenerovaný subor).
  • Porovnajte efektivitu klastrovaneho a neklastrovaneho indexu – čas a počet prístupov na disk pri rozsahovom dopyte.

Domáca úloha

  • Vytvorte triedy SalaryKey a SalaryOffsetEntry pre parametrizáciu B+tree a vytvorte triedu UnclusteredBPTreeSalary umožňujúcu rozsahový dopyt vracajúci záznamy typu PersonEntry podobne ako to bolo v prípade poslednej úlohy na neklastrovaný strom. Tento dopyt otestujte. Poznámka: pri toľkých záznamoch sa rovnaké platy budú určite opakovať, ale tento B+strom zvládne aj nie unique vyhľadávacie kľúče.

3.cvičenie

  • Stiahnite si súbor pd_kapsa.zip a rozbaľte ho.
    • Importujte si skript pd_kapsa.sql do MySQL, ktorý Vám vyrobí databázu pd_kapsa.
    • Štruktúru databázy si môžete pozrieť v MySQL Workbench projekte diagram-kapsa.mwb.
    • Prečítajte si zadanie v súbore zadanie_cvicenie_3.pdf a pokúste sa vyriešiť vo vašej skupine.
  • Zadanie pre pozorovateľa: pozorovatel.pdf