5.gyak. Feladatok partíciókra és klaszterekre
   
>> 9.témakör: Partícionált táblák létrehozása és kezelése
>> 10.témakör: Klaszterek létrehozása és kezelése
>> + Az előadás anyagához kapcsolódó papíros feladatok 
        

A gyakorlati foglalkozás és az előadások anyagára épül.
5.EA: Fizikai fájlszervezés, indexelés alapjai. Algebrai optimalizálás.
Többszintű index, beszúrás B+ fába, törlés B+ fából  fizika.ppt (KA) 46-66.o.
Bittérkép index 9ituning.ppt (KA) Bitmap index 83-84.o.
Optimalizálás, relációs algebrai kifejezések fa struktúrája és
az átalakítási szabályok algebrai_opt.ppt (KA) 100-114.o.
-- Figyelem! A fenti bemutatón csak a relációs algebrai műveletekre
    vonatkozó szabályok szerepelnek, a kiterjeszett relációs algebrai
    műveletekre vonatkozó szabályok az előadáson a táblára lettek felírva!
     
-- előadáshoz kapcsolódó további olvasmány:
Molina-Ullman-Widom: Adatbázisrendszerek megvalósítása, Panem, 2001.
4.1.-4.3. fej.Indexek, másodlagos indexek, B+ fák
5.4.fej. Bittérképindexek
7.2.fej. Algebrai szabályok lekérdezéstervek javítására
 
Az előadás anyagához kapcsolódó példák és feladatok: 
  - Molina-Ullman-Widom: Adatbázisrendszerek megvalósítása "zöld könyv"
     4.1.- 4.4.fejezetek: Indexstruktúrák, B-fák, tördelőtáblázatok,
     a papíros feladatsort lásd egy külön oldalon itt: lásd gy04Tk
>> Tk.4.1. Indexek szekvenciális fájlokon
>> Tk.4.2. Másodlagos indexek
>> Tk.4.3. B+ fák
     5.4.fejezet: Bittérképindexek, szakaszhosszkódolt bitvektorok,
     a papíros feladatsort lásd egy külön oldalon itt: lásd gy05Tk
>> Tk.5.4. Bittérképindexek     
     
9.témakör: 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.
Lásd Particionalas.txt  CREATE TABLE... PARTITION
   BY RANGE/HASH/LIST
stb... példákat próbáljuk ki!
Oracle dokumentációkból >> Concepts >> Part III. Features >>
   >> 18. Partitioned Tables, Partitioning Methods, Partitioned Indexes

További feladatok az adatszótárnézetek lekérdezésére
Katalógus táblák leírása és szerkezete, lásd  KatalTablak
DBA_PART_TABLES, DBA_PART_INDEXES,
DBA_TAB_PARTITIONS, DBA_IND_PARTITIONS,
DBA_TAB_SUBPARTITIONS, DBA_IND_SUBPARTITIONS,
DBA_PART_KEY_COLUMNS

   - 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.

   - 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)

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

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

   - 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.
     Nézzük meg az objektumok és a szegmensek között is.
   - Illetve ha alpartíciói is vannak (pl. NIKOVITS.ELADASOK4),
     akkor csak az alpartíciók vannak tárolva.
     Nézzük meg ezt is az objektumok és a szegmensek között is.

   - 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)
 

10.Témakör: Klaszterek létrehozása és kezelése
   
A klaszterek használata. Több tábla fizikailag egy helyen tárolva.
Mi a közös a táblákban? -> klaszter kulcs. Több oszlopos klaszterkulcs,
több tábla a klaszteren. Index klaszter és hash klaszter.
Lásd Klaszterek.txt  CREATE CLUSTER példáit próbáljuk ki!
Oracle dokumentációkból >> Concepts >> Part II. Architecture
           >> 5. Schema Objects >> Overview of Clusters / Hash Clusters

További feladatok az adatszótárnézetek lekérdezésére
Katalógus táblák leírása és szerkezete, lásd  KatalTablak
DBA_CLUSTERS, DBA_CLU_COLUMNS, DBA_TABLES,
DBA_CLUSTER_HASH_EXPRESSIONS


   - Hozzunk létre egy DOLGOZO(dazon, nev, beosztas, fonoke, fizetes, oazon)
     és egy OSZTALY(oazon, nev, telephely) nevű táblát.
    A két táblának az osztály azonosítója (oazon) lesz a közös oszlopa. A két táblát
    egy CLUSTEREN hozzuk létre. (Előbb persze létre kell hozni a clustert is.)

   - Adjunk meg egy olyan clustert az adatbázisban (ha van ilyen), amelyen még
     nincs egy tábla sem.

   - Adjunk meg egy olyant, amelyiken legalább 6 darab tábla van.

   - Adjunk meg egy olyan clustert, amelynek a cluster kulcsa 3 oszlopból áll.
     (Vigyázat!!! Több tábla is lehet rajta)

   - Hány olyan hash cluster van az adatbázisban, amely nem az oracle
     alapértelmezés szerinti hash függvényén alapul?
 
   - 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)
     
 Vissza az AB2 gyakorlat oldalára             Vissza a Kezdőlapra