I. Témakör
Lekérdezések kifejezése relációs algebrában,
SQL SELECT-tel és relációs kalkulusokban

_______________________________________________________
1. gyak. (IX.11)
 - Alapok

* Adatbázis (AB), Adatbázis-kezelő (ABK) rendszer felépítése
* Adatbázis-kezelő nyelvek részei: QL, DDL, DML, DCL
* SQL nyelv története, szabványok, utasítások áttekintése
* Relációs modell (Codd, 1970)
* PÉLDÁK relációsémákra, relációkra, hiányos adatokra (NULL)
* Oracle kliens-szerver architektúra, kliens programok használata
* sqlplus parancsok

Példák relációsémákra, relációkra, hiányos adatokra (NULL)
SQL története, szabványok, utasítások áttekintése: lásd wikipedia

Feladatok az Oracle rendszer alaptábláival: dept, emp, salgrade táblák
- Írjuk át a jelszavunkat mind az oradb mind az ablinux csatlakozásnál
   lásd Adatbázisok elérése  és sqlplus parancsok sqlPlus.pdf   sqlplus.txt
- Hozzuk létre a dept, emp, salgrade táblákat a scott.dept (sila.dept), stb.
   táblákból: CREATE TABLE dept AS SELECT * FROM sila.dept; stb.
- Vizsgáljuk meg a táblák szerkezetét, az adatokat (és hiányos adatokat)
_______________________________________________________
2. gyak. (IX.18)
 - Rel.algebrai alapműveletek (SQL-ben is)

Feladatok az Oracle rendszer alaptábláival: dept, emp, salgrade táblák
Relációs algebrai műveletek SQL SELECT-tel is szemléltetve
* Sorok kiválasztása, rendezése
* Vetítés (oszlopok kiválasztása)
* Descartes szorzat
* Unió, különbség

_______________________________________________________
3. gyak. (IX.25)
 - Rel.algebra további műveletei (táblás gyak.)
                              (pl.Hányados az alapműveletekkel kifejezve)

Fejezd ki relációs algebrában!  (csak algebrában, SELECT-tel később)

Feladatok a szeret(Név, Gyümölcs) táblában
- Melyek azok a gyümölcsök, amelyeket Micimackó szeret?
- Melyek azok a gyümölcsök, amelyeket Micimackó nem szeret?
  (de valaki más igen)
- Kik szeretik az almát?
- Kik nem szeretik az almát? (de valami mást igen)
- Kik szeretik vagy az almát vagy a körtét?
- Kik szeretik az almát is és a körtét is?
- Kik azok, akik szeretik az almát, de nem szeretik a körtét?
- Kik szeretnek legalább kétféle gyümölcsöt?
- Kik szeretnek legalább háromféle gyümölcsöt?
- Kik szeretnek legfeljebb kétféle gyümölcsöt?
- Kik szeretnek minden gyümölcsöt?
- Kik azok, akik legalább azokat a gyümölcsöket szeretik,
   mint Micimackó?
- Kik azok, akik legfeljebb azokat a gyümölcsöket szeretik,
   mint Micimackó?
- Kik azok, akik pontosan ugyanazokat a gyümölcsöket szeretik,
   mint Micimackó?
- Kik azok a (személy, személy) párok, akiknek eltérő az ízlése
   legalább egy gyümölcsnél? (szeretnek különböző gyümölcsöt)
- Kik azok a (személy, személy) párok, akik ugyanazokat a
   gyümölcsöket szeretik?

Feladatok a mézevők(Név, Mennyiség) táblában 
- Kik fogyasztják a legtöbb mézet?
- Kik fogyasztják a legkevesebb mézet?

Konstans relációk felhasználása a lekérdezésekhez
- Adott két azonos sémájú reláció, R és S. Adjunk meg egy olyan
  relációs algebrai kifejezést, amelynek eredménye T(Válasz) sémájú,
  és értéke ’igen’ illetve ’nem’, attól függően, hogy R-nek és S-nek
  van-e azonos sora. Felhasználhatjuk a konstans I(Válasz) = ’igen’
  és N(Válasz) =’nem’ relációkat.
_______________________________________________________
4. gyak. (X.02)
 - A lekérdezések algebrai optimalizálása

*  Feladatok az egyszerűsített tantárgyfelvétel példában  
   (nemcsak relációs algebrában kell kifejezni, hanem olyan
    SELECT-tel is, ahol még nem használunk sem alkérdést
    sem csoportosítást, sem függvényeket, azok később lesznek)
* Több táblás lekérdezések, táblák összekapcsolása
* Algebrai optimalizációra feladatok (táblás gyakorlat) 

Feladatok az egyszerűsített egyetemi tantárgyfelvétel példában
- lásd Az órai adatbázissémák 1. Példáját (E/K modell, rel.sémák)
- Hozzuk létre a tanar, hallg, targy, felv táblákat:
   CREATE TABLE,INSERT utasítások: 01_sql.txt (jelszóval)
- Vizsgáljuk meg a táblák szerkezetét, integritási megszorításokat!
- (ismétlő feladat a 2.gyak-ról) Rel. algebrai lapműveletek
   kifejezése SQL SELECT-tel lásd 02_sql.txt (jelszóval)

Fejezd ki relációs algebrában és SQL SELECT-tel!
(olyan SELECT-tel is, ahol még nem használunk sem alkérdést
 sem csoportosítást, sem függvényeket, azok később lesznek)

Több táblás lekérdezések, táblák összekapcsolása (join)
- Kik (HAZON, NEV) azok a 'PTM'-szakos hallgatók, akiknek
   az ösztöndíjuk nagyobb, mint 10000 és  2005. évben  3-nál
   jobb jegyet szereztek 'Adatbázisok1' elnevezésű tantárgyból?
 
Algebrai optimalizációra feladat 
- Mikor cserélhető fel a kiválasztás a vetítéssel? Igazold!
- A kiválasztás /vetítés/ felcserélhetősége a szorzással /egyesítéssel/
- Mutass példát arra, hogy a vetítés és a kivonás nem cserélhető fel!
- A fenti több táblás lekérdezés optimalizálása  
   (példa algebrai optimalizációra) segédanyag: lásd rAlgOpt.rtf

_______________________________________________________
5. gyak. (X.09)
 - Relációs kalkulusok (DRC, TRC)

* A 3. gyak. feladatait a szeret(Név, Gyümölcs) táblában
   de most relációs kalkulusokban kifejezve
* Tartományfüggetlenség és biztonságosság vizsgálata

_______________________________________________________
6. gyak. (X.16)
 - I.ZH (papíron, csak a II.ZH lesz géptermi)

Előzetes információ az I. (okt.16-i) ZH-ról
 * Lekérdezések kifejezése relációs algebrában
* Algebrai optimalizálásra feladat
* Lekérdezések kifejezése SQL SELECT-tel
   (még nincs alkérdés, sem csoportosítás, sem függvények)
* Lekérdezések kifejezése relációs DRC kalkulussal
* Tartományfüggetlenség, biztonságosság vizsgálata

A fenti ötféle feladat típus  várható, a feladatok 3-3 pontosak,
Az optimalizálás kivételével feladattípusonként van egy könnyű
(1 pontos) és egy nehezebb (2 pontos) feladat (az optimalizálás
csak egy feladatból áll, amely 3pontos). Össz.15 pont érhető el.
Előzetes ponthatárok:
Pont 0-5   6     7   8     9   10    11 12-15
Jegy   1   2   2/3   3   3/4    4   4/5     5
_______________________________________________________

Budapest, 2007. szeptember 10.
Utolsó módosítás: 2007. okt.15.

dr. Hajas Csilla

Iroda: ELTE, Információs Rendszerek Tanszék, 2.503-as szoba,
Telefon: 2090-555/8475 mellék,         E-mail: sila@inf.elte.hu

Lap tetejére            Gyak.oldalára            Kezdőlapra