Kötelezően beadandó feladatok ----------------------------- Az alábbi feladatoknál a lekérdezést (hintekkel együtt), annak végeredményét, és a végrehajtási terveket egy szöveges állományba tegyétek bele, és küldjétek el a gyakorlatvezetőtöknek. A beadási határidőt a gyakorlatvezetők fogják megadni. A különböző végrehajtási tervek előállításához hinteket használjatok ha szükséges. Összesen 10 pont szerezhető. Lekérdezések a NIKOVITS.CIKK, SZALLITO, PROJEKT, SZALLIT táblák alapján ----------------------------------------------------------------------- 1. (1 pont) Adjuk meg a Pecs-i telephelyű szállítók által szállított piros cikkek összmennyiségét. a) Adjuk meg úgy a lekérdezést, hogy a szallit táblát először a cikk táblával join-olja az oracle. b) Adjuk meg úgy a lekérdezést, hogy a szallit táblát először a szallito táblával join-olja az oracle. 2. (1 pont) Adjuk meg azon szállítások összmennyiségét, ahol ckod=1 vagy szkod=2. a) Adjuk meg úgy a lekérdezést, hogy ne használjon indexet. b) A végrehajtási tervben két indexet használjon, és képezze a kapott sorok unióját (CONCATENATION). Lekérdezések az Oracle demo táblák alapján (lásd sample_tables.txt) ------------------------------------------------------------------- 3. (2 pont) Adjuk meg egy féléves időszakra vonatkozóan az eladások (SH.SALES) összmennyiségét úgy, hogy az Oracle ne használjon indexet, és pontosan 2 partíciót olvasson a táblából (lásd partition_start és partition_stop oszlopokat a PLAN_TABLE-ben). Adjuk meg egy (másik) féléves időszakra vonatkozóan az eladások összmennyiségét úgy, hogy az Oracle ne használjon indexet, és pontosan 3 partíciót olvasson a táblából. 4. (2 pont) Adjunk meg egy olyan lekérdezést az sh tábláira (hintekkel együtt ha szükséges), aminek az alábbi lesz a végrehajtási terve: TERV (OPERATION + OPTIONS + OBJECT_NAME) ------------------------------------------------------------- SELECT STATEMENT + + HASH + GROUP BY + HASH JOIN + + INLIST ITERATOR + + TABLE ACCESS + BY INDEX ROWID + CUSTOMERS BITMAP CONVERSION + TO ROWIDS + BITMAP INDEX + SINGLE VALUE + CUSTOMERS_YOB_BIX PARTITION RANGE + ALL + TABLE ACCESS + FULL + SALES 5. (2 pont) Adjunk meg egy olyan lekérdezést az sh tábláira (hintekkel együtt ha szükséges), aminek az alábbi lesz a végrehajtási terve: TERV (OPERATION + OPTIONS + OBJECT_NAME) ------------------------------------------------------------ SELECT STATEMENT + + SORT + AGGREGATE + HASH JOIN + + TABLE ACCESS + FULL + PRODUCTS HASH JOIN + + TABLE ACCESS + BY INDEX ROWID + CUSTOMERS BITMAP CONVERSION + TO ROWIDS + BITMAP INDEX + SINGLE VALUE + CUSTOMERS_YOB_BIX PARTITION RANGE + ALL + TABLE ACCESS + FULL + SALES 6. (2 pont) Adjunk meg egy olyan lekérdezést az sh tábláira (hintekkel együtt ha szükséges), aminek az alábbi lesz a végrehajtási terve: TERV (OPERATION + OPTIONS + OBJECT_NAME) ------------------------------------------------------------- SELECT STATEMENT + + SORT + ORDER BY + HASH + GROUP BY + HASH JOIN + ANTI + PARTITION RANGE + SINGLE + TABLE ACCESS + BY LOCAL INDEX ROWID + SALES BITMAP CONVERSION + TO ROWIDS + BITMAP INDEX + SINGLE VALUE + SALES_TIME_BIX TABLE ACCESS + FULL + CHANNELS