IP-08abctAB2G   Adatbázisok-2 gyakorlat
ELTE, 2014/2015.tanév I.félév      Hajas Csilla gyak.vez.
Hétfő 12:15-13:45 PC3, 14:00-15:30 PC3, Szerda 10:15-11:45 PC9
backAB2gyak (főmenü)     AB2ea     5.gyak       I. ZH     OracleDoc
   
6.gyak. Gépes feladatok partíciókra és klaszterekre  és
            Táblás feladatok lekérdezések végrehajtására:
            Adatbázis-műveletek algoritmusai és I/O költségei
   
G (gépes témakör)
> G8. Partícionált táblák létrehozása és kezelése
> G9. Klaszterek létrehozása és kezelése
 
E (elméleti témakör)
> E6. Lekérdezések végrehajtása és I/O költségek (Tk. 6.3-6.6. fejezete)
   --- Megj.: Az I.ZH-ban a lekérdezések végrehajtásának csak az alapvető
   --- algoritmusai lesznek (lásd Tk.6.1-6.6 fejezetek) és I/O költségek lesznek,
   --- az indexen alapuló algoritmusokat (Tk.6.7.), egyéb költségeket (Tk.7.fej.)  
   --- az I.ZH után fogjuk venni. (Előadások 1-7.tételek anyaga lesz az I.ZH-n)
   

G8. Partícionált táblák létrehozása és kezelése
   
Táblák partícionálása. Range, hash és lista alapú partícionálás.
Összetett partícionálás, alpartíciók. Információk felderítése a katalógusban.
Segédanyagok:  Lásd Particionalas.txt segédanyag create példái
>> Oracle11g Doc: Concepts  >> 4 Overview of Partitions
>> Oracle10g Concepts/Part III. Features >> 18 Partitioned Tables and Indexes

További feladatok az adatszótárnézetek lekérdezésére
DBA_PART_TABLES, DBA_PART_INDEXES,
DBA_TAB_PARTITIONS, DBA_IND_PARTITIONS,
DBA_TAB_SUBPARTITIONS, DBA_IND_SUBPARTITIONS,
DBA_PART_KEY_COLUMNS

8.01. Adjuk meg az SH felhasználó tulajdonában levő partícionált táblák nevét  
        és a particionálás típusát.

8.02. Soroljuk fel az SH.COSTS tábla partícióit valamint, hogy hány blokkot
         foglalnak az egyes partíciók.
         (Vigyázat! Különböző értéket kaphatunk a különböző adatszótárakban.
          Ennek magyarázatát lásd később az ANALYZE parancsnál)

8.03. Adjuk meg, hogy az SH.COSTS tábla mely oszlop(ok) szerint van particionálva.

8.04. Adjuk meg, hogy a NIKOVITS.ELADASOK3 illetve az SH.COSTS táblák
         második partíciójában milyen értékek szerepelhetnek.

8.05. Adjuk meg egy partícionált tábla logikai és fizikai részeit! 
         (pl. NIKOVITS.ELADASOK). Maga a tábla most is logikai objektum,
         a partíciói vannak fizikailag tárolva, illetve ha alpartíciói is vannak
         (pl. NIKOVITS.ELADASOK4), akkor csak az alpartíciók vannak tárolva.
         Nézzük meg az objektumok és a szegmensek között is.

8.06. Melyik a legnagyobb méretű partícionált tábla az adatbázisban a partíciók
         összméretét tekintve? (az alpartícióval rendelkező táblákat is vegyük figyelembe)
   
Fel a lap tetejére (mai gyak témakörei)      Vissza az AB2gyak kezdőlapjára  
  

G9. Klaszterek létrehozása és kezelése
   
A klaszterek használata. Több tábla fizikailag egy helyen tárolva. Index klaszter.
Segédanyagok: Lásd Klaszterek.txt  CREATE CLUSTER példáit próbáljuk ki! 
>> Oracle11g Doc: Concepts  >>2 Overview of Table Clusters 
>> Oracle10g Concepts/Part II. Architecture/5. Schema Objects >> Overview of Clusters
   
További feladatok az adatszótárnézetek lekérdezésére
DBA_CLUSTERS, DBA_CLU_COLUMNS, DBA_TABLES,
DBA_CLUSTER_HASH_EXPRESSIONS

 
9.01. Adjunk meg egy olyan clustert az adatbázisban (ha van ilyen), amelyen
         még nincs egy tábla sem.
 
9.02. Adjunk meg egy olyant, amelyiken legalább 6 darab tábla van.
 
9.03. Adjunk meg egy olyan clustert, amelynek a cluster kulcsa 3 oszlopból áll.
         (Vigyázat!!! Több tábla is lehet rajta)
 
9.04. Hány olyan hash cluster van az adatbázisban, amely nem az oracle
        alapértelmezés szerinti hash függvényén alapul?
 
9.05. Hozzunk létre egy hash clustert és rajta két táblát, majd szúrjunk be 
         a táblákba sorokat úgy, hogy a két táblának 2-2 sora ugyanabba a
         blokkba kerüljön. Ellenőrizzük is egy lekérdezéssel, hogy a 4 sor
         valóban ugyanabban a blokkban van-e. (A ROWID lekérdezésével)
         (A sorok elhelyezését befolyásolni tudjuk a HASH IS megadásával.)
 
Köv.héten: I.ZH, erről: I.ZH infó (Tárkezelés, fizikai fájlszervezés, indexstruktúrák)
   

E6. Lekérdezések végrehajtása és I/O költségek
   
Segédanyagok: Nikovits Tibor összefoglalója: VegrKolts.pdf 
- Kiss Attila Adatbázisok-2 előadása, lásd 5.előadás optimization-hu.ppt
- (illetve a korábbi félévek cAMÜ EA-ból: LekVegreh1.pdf, LekVegreh2.pdf )
Tankönyv: Molina-Ullman-Widom: Adatbázisrendszerek megvalósítása, 2001.
- 2.3. A másodlagos tárolók hatékony használata, a számítás I/O modellje
- 6.3. Adatbázis-műveletek egymenetes algoritmusai
- 6.4. Beágyazott ciklusú összekapcsolások
- 6.5. Rendezésen alapuló kétmenetes algoritmusok
- 6.6 Tördelésen alapuló kétmenetes algoritmusok
Feladatok: Adjuk meg, hogy az egyes algoritmusok hogyan működnek és
                   adjuk meg a műveletek költségbecslését (I/O blokkok számát).
   
Tk.2.3.fejezete: Adatok rendezése másodlagos tárolókon

  - Tegyük fel, hogy a dolgozó tábla 140 sorból áll és 10 sora fér el 1 blokkban,
     és a memóriánk 4 blokknyi. Rendezzük a tábla sorait fizetés szerint a
     kétfázisú többutas összefésülő rendezéssel (sort-merge algoritmussal).
     Adjuk meg az első menet után a rendezett részlistákat (elég a dnev, fizetes).
     Hány menetes algoritmusra lesz szükségünk? optimization-pp17-22.pdf
   
Tk.6.fejezet: Lekérdezések végrehajtása, műveletek I/O költsége   
  - Tegyük fel, hogy a dolgozó tábla 140 sorból áll és 10 sora fér el 1 blokkban,
     és a memóriánk most 6 blokknyi és van még egy vásárlás tábla,  amelynek
     a szerkezete a következő: VASARLAS(dkod, cikk, mennyiseg, ar).
     Ennek a táblának is 10 sora fér el 1 blokkban, és a tábla kb.1200 sorból áll.
     Mennyi a műveletigénye
      - egy beágyazott ciklusú algoritmusnak  nested_loop_algoritmus.pdf
      - egy rendezés alapú algoritmusnak   sort_merge_algoritmus.pdf
      - egy hash alapú  algoritmusnak   hash_join_algoritmus.pdf
     amely egyenlőséges összekapcsolást (equijoin) végez a két táblán, arra a
     lekérdezésre válaszol, hogy az egyes dolgozók összesen mennyit költöttek?
     Feltehetjük, hogy az összegeket gyűjtő számlálók még beférnek a memóriába
     a blokkok mellett. Írjuk le röviden, hogy az egyes algoritmusok hogyan fognak
     működni. Adjuk meg a kosarakat a hasítás alapú algoritmus első menete után.
     
Köv.héten: I.ZH, erről: I.ZH infó (Tárkezelés, fizikai fájlszervezés, indexstruktúrák)
     
Fel a lap tetejére (mai gyak témakörei)      Vissza az AB2gyak kezdőlapjára