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