Előadáshoz
kapcsolódó
elméleti feladatok a
"zöldkönyvből"
Indexstruktúrák II.
Feladatok - Molina-Ullman-Widom:
Adatbázisrendszerek
megvalósítása
a "zöld könyv" 5.4
Bittérképindexek valamint
2.3.
Az összefésülő rendezés
(Merge-Sort) és
6.
Lekérdezések végrehajtása
fejezetei
alapján
A fogalmak: Oracle
dokumentációkból - a
"Concepts" itt:
Part II. Oracle Database
Architecture - 5. Schema Objects
és itt Overview
of Indexes részben Segédanyagok: Concepts/PartII/5.
+ Bitmap
+ VegrKolts.pdf
Molina-Ullman
5.4. fejezete:
Bittérképindexek
- Tegyük fel, hogy a dolgozó
tábla 14 sorból áll
DKOD
DNEV FIZETES FOGLALKOZAS
BELEPES OAZON --------------------------------------------------- 1
SMITH 800
CLERK
1980 20 2
ALLEN 1600
SALESMAN
1981
30 3
WARD 1250
SALESMAN
1981
30 4
JONES 2975
MANAGER
1981
20 5
MARTIN 1250
SALESMAN
1981
30 6
BLAKE 2850
MANAGER
1981
30 7
CLARK 2450
MANAGER
1981
10 8
SCOTT 3000
ANALYST
1982
20 9
KING 5000
PRESIDENT
1981
10 10
TURNER 1500
SALESMAN
1981
30 11
ADAMS 1100
CLERK
1983
20 12
JAMES 950
CLERK
1981
30 13
FORD 3000
ANALYST
1981
20 14
MILLER 1300
CLERK
1982
10
-
Tegyük fel,
hogy fenti
táblához a FOGLALKOZAS, a BELEPES
és az
OAZON
oszlopokra létezik bitmap
index (3 index). Készítsük el az
alábbi lekérdezésekhez
szükséges
bitvektorokat, majd végezzük el rajtuk a
szükséges műveleteket, és
adjuk meg azt
az előállt bitvektort, ami alapján a
végeredmény sorok
megkaphatók.
Ellenőrzésképpen
adjuk meg a
lekérdezést SQL-ben is!
a. ) Adjuk meg azoknak a dolgozóknak a
nevét, akik 1981-ben léptek be
és a foglalkozásuk
hivatalnok (CLERK), vagy a
20-as osztályon dolgoznak és a
foglalkozásuk MANAGER.
b.) Adjuk meg azoknak a dolgozóknak a
nevét, akik nem 1981-ben léptek be és
a 10-es
vagy a
30-as osztályon dolgoznak.
- Tömörítse az előző
feladatban kapott
bitvektorokat a szakaszhossz kódolással.
- Fejtsük vissza a következő,
szakaszhossz
kódolással
tömörített bitvektort:
11101101001011
Molina-Ullman
2.3. fejezete: Adatok
rendezése másodlagos
tárolókon
- Tegyük fel, hogy a dolgozó
tábla 14 sorból áll és
sorai egyenként 1 blokkot
foglalnak el, és a
memóriánk 4 blokknyi.
Rendezzük a tábla
sorait fizetés
szerint egy rendezés alapú
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?
- Tegyük most fel, hogy a
memóriánk 6
blokknyi és van még egy
vásárlás tábla,
aminek a
szerkezete a következő: VASARLAS(dkod, cikk, mennyiseg, ar).
Ennek a
táblának a sorai is 1 blokkot foglalnak
és a tábla kb. 120 sorból
áll.
Mennyi a műveletigénye
- egy hash
alapú,
- egy rendezés
alapú
és
- egy
beágyazott ciklusos algoritmusnak,
ami arra 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.