Partícionálás ------------- (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 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) Klaszter (CLUSTER) ------------------ (DBA_CLUSTERS, DBA_CLU_COLUMNS, DBA_TABLES, DBA_CLUSTER_HASH_EXPRESSIONS) Hozzunk létre egy DOLGOZO(dazon, nev, beosztas, fonoke, fizetes, oazon ... stb.) és egy OSZTALY(oazon, nev, telephely ... stb.) nevű táblát. (lásd NIKOVITS.DOLGOZO és NIKOVITS.OSZTALY) 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 index alapú CLUSTEREN hozzuk létre. (Előbb persze létre kell hozni a clustert is.) Majd tegyünk bele 3 osztályt, és osztályonként két dolgozót. 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) HASH CLUSTER 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) TIPP: A sorok elhelyezését befolyásolni tudjuk a HASH IS megadásával. Az alábbi feladatok csupán ismétlések az előző félév anyagából. Adjuk meg a kiterjesztett relációs algebrai kifejezését az alábbi lekérdezéseknek, majd rajzoljuk fel a kifejezésfát is. - Adjuk meg osztályonként az osztály nevét és az ott dolgozók számát a dolgozók száma szerint növekvő sorrendben. - Adjuk meg azoknak az osztályoknak a nevét, ahol az átlagfizetés nagyobb, mint 2000. - Adjuk meg azoknak a foglalkozásoknak a nevét, amelyek a 10-es és 20-as osztályon is előfordulnak. Ismétlődések ne legyenek a végeredményben.