ELTE, 2005/2006 tanév 1. /őszi/ félév
IKP-ABGY ADATBÁZIS-KEZELÉS GYAKORLATOK

Hajas Csilla gyakorlatvezető csoportjai részére:

IKP-ABG/gy1
IKP-ABG/gy7
IKP-ABG/gy8
IKP-ABG/gy6

Szerda[12:00- 13:30]
Péntek[11:45- 13:15]
Péntek[15:15- 16:45]
Péntek[17:00- 18:30]

00-807 Adatbázis-labor
00-807 Adatbázis-labor
00-807 Adatbázis-labor
00-807 Adatbázis-labor


Menü (ezen az oldalon nem található „távoktatási” segédanyag, csak információ)

1. Ajánlott irodalom és hasznos linkek

1.1. Ajánlott irodalom
1.2. Adatbázisok oktatásáról honlapok
1.3. Adatbázisok, SQL témákhoz további hasznos linkek

2. Általános információ a gyakorlatokról

2.1. A gyakorlat célja
2.2. Az sqlplus használata
2.3. A gyakorlati jegy megszerzésének feltételei
2.4. Zárthelyi dolgozatok, Pótdolgozatok és Gyak.UV ideje és helye

3. Tervezett tematika (feladattípusok a gyakorlatokra heti leosztásban)

3.1. LEKÉRDEZÉSEK

(relációs algebra és kalkulusok. Az SQL lekérdező nyelve)

 

(1-7. hét: 2005. szeptember 12-től október 26-ig)

3.2. TERVEZÉS (adatmodellezés, relációs tervezés algoritmusai. Az SQL DDL, DML)

 

(7-13 hét: 2005. október 28-tól december 7-ig)

3.3. MEGVALÓSÍTÁS

(fizikai fájlszervezés. Az SQL DCL)

 

(13-14 hét: 2005. december 9-től december 16-ig)

4. ZH előtti információ (csak a feladattípusok és pontozás)

4.1. Az I.Zárthelyi dolgozat előtti információ (ZH.időp.: gy6,7,8: okt.21; gy1: okt.26)
4.2. A II.Zárthelyi dolgozat előtti információ (ZH.időp.: gy6,7,8: dec.2; gy1: dec.7)
4.3. PótZH és GyakUV írásbeli ZH előtti információ (PótZH: dec.16, dec.20. UV: jan.3)
4.4. Zárthelyi dolgozatok pontozása

5. Zárthelyi dolgozatok eredményei, gyak.jegyek (név helyett 3 karakteres kóddal)

5.1. Az I.Zárthelyi dolgozat eredménye (részpontokkal) (gy6,7,8: okt.28; gy1: nov.9)
5.2. A II.Zárthelyi dolgozat eredménye (részpontokkal) (gy6,7,8: dec.9; gy1: dec.14)
5.3. PótZH és GyakUV írásbeli ZH eredménye (részpontokkal) (dec.22)
5.4. Gyakorlati jegyek (ponthatárok, ZHpont, órai+pont, gyak.jegy) (dec.22)

6. Vizsgával kapcsolatos kérdések

6.1. Gyak.jegyek indexbe való beíratásának időpontjai
6.2. Vizsgára való jelentkezés (az ETR-en keresztül)
6.3. Adatbázis-kezelés (3.évf. PTM) Vizsgatematika
6.4. GY.I.K. (gyakran ismétlődő kérdések) a vizsgával kapcsolatban


Kérdések, megjegyzések e-mailben: sila@inf.elte.hu

dr. Hajas Csilla      URL: http://people.inf.elte.hu/sila/

 

 


1. Ajánlott irodalom és hasznos linkek

1.1. Ajánlott irodalom

Az előadásokhoz ajánlott irodalom (ami az előadáson elhangzott, az szükséges és elegendő)

[IA1]

[UWA]
[UWM]
[UPDB]

Iványi Antal (szerk.): Informatikai algoritmusok I., ELTE Eötvös Kiadó, 2004.
12. fejezet Relációs adatmodell tervezés (Demetrovics János és Sali Attila)
Ullman-Widom: Adatbázisrendszerek. Alapvetés, Panem, 1998.
Molina-Ullman-Widom: Adatbázisrendszerek megvalósítása, Panem, 2001.
Ullman: Principles of Database Systems, Vol. I., II., Comp.Sc.Press, 1988.


Adatbázisokkal kapcsolatos további irodalom

[AHV]
[BDA]
[BDE]
[D]
[G]
[H]
[IA2]

[R]
[S]

Abiteboul-Hull-Vianu: Foundations os Databases, Addison-Wesley, 1988.
Békéssy-Demetrovics: Adatbázis-szerkezetek, Akadémia, 2005.
Békéssy-Demetrovics: Előadások adatbázis szerkezetekből, ELTE, 1999.
Demetrovics-Denev-Pavlov: A szám.tud. matematikai alapjai, (7. fejezet), 1999.
Gajdos Sándor: Adatbázisok, Műegyetemi, 2004.
Halassy Béla: Adatmodellezés, Adatbázis-tervezés könyvei, Számok, 1980-as évek.
Iványi Antal (szerk.): Informatikai algoritmusok II., ELTE Eötvös Kiadó, 2005.
30. fejezet Lekérdezés átírás relációs adatbázisokban (Demetrovics J. és Sali A.)
Rolland: Adatbázis-rendszerek, Panem, 2002.
Sályi-Szelezsán: Adatbázisok, Számalk, 1991.


Oracle, SQL kézikönyvek magyarul (és angolul lsd. 1.3. Oracle Online Documentation)

[AC]
[KL]
[KK]
[KN]
[SK]
[SP]

Abbey-Corey-Abramson: ORACLE8i Kézikönyv kezdőknek, Panem, 2001.
Koch-Loney: ORACLE8i Teljes referencia, Panem, 2001.
Kende-Kotsis-Nagy: Adatbáziskezelés az Oracle rendszerben, Panem, 2002.
Kende-Nagy: Oracle példatár(Oracle 9i és 10g verziókhoz), Panem, 2005.
Stolnitcki Gyula: SQL kézikönyv, ComputerBooks, 1994.
Stolnitcki Gyula: SQL programozóknak, ComputerBooks, 2003.

1.2. Adatbázisok oktatásáról honlapok

·        Jeffrey D. Ullman honlapján található oktatási anyag

·        Iványi Antal Elektronikus Könyvtára: Informatikai algoritmusok I.
Demetrovics János és Sali Attila 12. Relációs adatmodell tervezés

·        Adatbázisrendszerek Oktatási anyagok Tempus-97 (fóliák.doc)
Hajas Csilla: Relációs algebra, A relációs kalkulusok, SQL 1-2. rész,
Nikovits Tibor: Az adatok fizikai szervezése, Lekérdezések optimalizálása

·        Nikovits Tibor (ELTE, 2005/2006) Segédanyagok (RelAlgOpt.rtf)

·        Kósa Balázs (ELTE, 2005/2006) gyak.ppt

·        Sidló Csaba (ELTE, 2005/2006) Anyagok a gyakorlatokhoz

1.3. Adatbázisok, SQL témákhoz további hasznos linkek

·        Oracle honlapja:   Oracle Corporation       Oracle Magyarország

·        Angol nyelvű Oracle Online Documentation (SQL Reference)

 itt az ELTE-n:
Oracle honlapon:

Oracle 9i
Oracle 9i

Oracle 10g
Oracle 10g

·        Angol nyelvű SQL feladatok, megoldások: http://sqlzoo.net/

·        Angol nyelvű SQL Tutorial: http://www.sql-tutorial.net/

·        Angol nyelvű Wikipédia: http://en.wikipedia.org
Search: Tuple calculus, Domain calculus, Relational algebra, SQL

·        Magyar nyelvű Wikipédia: http://hu.wikipedia.org/wiki/Kezdőlap

·        Magyar nyelvű [doksi.hu]-a tudás birodalma: http://www.doksi.hu/
itt: Doksik/Informatika/Adatbázisok alatt: ea_gyak_vizsga_anyagok.rar

2. Általános információ a gyakorlatokról

2.1. A gyakorlat célja

A gyakorlatok az Adatbázis-laborban vannak, ahol az első 45 percben az
aktuális előadás témakörét, kérdéseit dolgozzuk fel „táblás” feladatokkal:

·        relációs adatmodell, relációs algebra

·        algebrai optimalizálás

·        relációs kalkulusok, tartománykalkulus, sorkalkulus

·        biztonságos kalkulusok és relációs algebra ekvivalenciája

·        adatmodellezés, egyed/kapcsolat modell, átírása relációs modellbe

·        relációs adatbázisséma-tervezés algoritmusai, normálformák

·        fizikai fájlszervezés, indexstruktúrák

Mivel a szerdai csoport gyakorlata az előadás előtt van, így a szerdai/gy1
csoport tematikája egy hét „csúszásban” van a pénteki csoportokhoz képest.

Az adatbázis-labor gyakorlatok másik 45 perce „gépes” Oracle Database 10g
környezetben az SQL megismerése és gyakorlása a cél:

·        az SQL lekérdező nyelve, csoportosítás, összekapcsolások,

·        beágyazott lekérdezések

·        az SQL adatdefiníciós nyelve, táblák, nézettáblák, indextáblák

·        az SQL adatkezelő nyelve, az adatok karbantartása

·        az SQL vezérlő nyelve, tranzakció-kezelés, jogosultságok kezelése


2.2. Az sqlplus használata

A gyakorlatokon két működő oracle adatbázist tudunk elérni, amelyeken
a gyakorlatok feladatait el tudjuk végezni. Az egyik a dbpc75 nevű gépen,
oradb nevű 10.2-es verziójú, a másik az ablinux nevű gépen, v10 nevű
10.1-es verziójú. Minden hallgatónak, aki felvette a gyakorlatot mindkét
adatbázisban van azonosítója, amit a legelső (ill.második) gyakorlaton
igényelt (aki nem kért, az ETR EHA-ból lett generálva) oracle azonosító.

A laborban Windows környezetből az oracle10g könyvtárban levő SQL Plus
ikonnal lépünk be (oradb” ill. v10”). A félév elején az SQL lekérdezésekben
select TABLE_NAME from ALL_TABLES where OWNER='SILA';
paranccsal elérhető táblákat használjuk, select * from SILA.TABLANEV;
SILA.TABLANEV felhasználói táblákat mindkét rendszerben használhatjuk.
A jelszót időnként lecserélheti (csak azt kérem, jegyezze meg az új jelszavát!)
alter user AZONOSITO identified by UJ_JELSZO;

Az SQL otthoni gyakorlásához a pandora gépen is fut sqlplus kliens program,
így a pandoráról is el lehet érni mindkét adatbázist. A pontos szintaxist a
pandorára történő bejelentkezéskor kiírja a rendszer: sqlplus username@oradb
illetve sqlplus username@ablinux. Ha távolról szeretnék elérni az adatbázisokat,
az ehhez szükséges információk benne vannak a pandorán az
$ORACLE_HOME/network/admin/tnsnames.ora nevű állományban.
Az adatbázisok elérhetők még az ablinux gépről sqlplus ill. sqlplus user@oradb.
Az ablinuxra mindenki a pandorás azonosítóval és jelszóval tud bejelentkezni.

2.3. A gyakorlati jegy megszerzésének feltételei

A gyakorlatokon jelenléti ív készül. Gyakorlati jegyet csak az szerezhet, aki
legalább 6 alkalommal részt vett gyakorlaton és a két dolgozatot is megírta.
A gyakorlati jegyet a félév során megírandó két Zárthelyi dolgozaton elért
pontok alapján számolom. Az egyik dolgozat (indokolt esetben, pl. betegség)
esetén pótolható a szorgalmi időszak utolsó napján vagy a vizsgaidőszak első
hetében írt pótZH-val. A pótZH egyben „javító dolgozat” is, az egyik ZH-t
újból megírhatják azok is, akik javítani szeretnének a gyakorlati jegyükön.

Gyakorlati aktivitással, a gyakorlatokon a „táblás” feladatok megoldásával,
villámkérdésekre adott gyors válaszokkal, illetve megadott gyakorlatokon
az SQL-ben végzett „gépes” feladatok e-mailben való beküldéséből a helyes
megoldásokat értékelve „órai plusz-pontokat” lehet szerezni. Az órai+pontok
beleszámítanak az éves elért összes pontszámon keresztül a gyakorlati jegybe.
Ponthatár közelében kétes gyakorlati jegy eldöntésénél az SQL ZHfeladatok
megoldására kapott pontok nagyobb súlyúak
, emiatt például előfordulhat,
hogy azonos pontszámra különböző gyakorlati jegyet kap két hallgató :)

Akiknek mindkét ZH elégtelen, a szorgalmi időszak utolsó napján vagy
a vizsgaidőszak első hetében „gyakorlati UV” keretében mindkét dolgozat
témaköréből vett feladatokból írásbeli ZH-n szerezhetnek gyakorlati jegyet.
Azok, akik 7 alkalomnál többször hiányoztak igazolatlanul vagy egyik ZH-t
sem írták meg, nem kaphatnak ebben a félévben gyakorlati jegyet.

A dolgozatokat papíron írjuk, nem az Adatbázis-laborban, hanem egy másik
(nem-gépes) tanteremben (lsd. köv. 2.4. Zárthelyi dolgozatok ideje és helye).

Segédeszközök a dolgozatírás közben: Az előadás tematikájához kapcsolódó
feladatokhoz (mint relációs algebra, optimalizálás, kalkulusok, adatmodellezés)
nem használható segédeszköz. A II.ZH-n a relációs adatbázisséma-tervezéséhez
(adott dekompozíció veszteségmentességének (v.m.), függőségőrésének (f.ő.)
eldöntése, adott séma v.m. BCNF-ba, ill. v.m., f.ő. 3NF-ba való dekompozíciója)
feladatokhoz az algoritmusok absztrakt leírása (kidolgozott példák nélkül)
használható vezérfonálként. Az SQL-hez csak SQL kézikönyv használható.
A pótZH-n és a Gyak.UV-n dolgozatírás közben (mint a szóbeli vizsgán sem)
nem használható segédeszköz.

2.4. Zárthelyi dolgozatok, Pótdolgozatok és Gyak.UV ideje és helye

IKP-ABG/gy6,7,8 és gy1 csoportok I.ZH ideje és helye:

gy7: okt.21.
gy8: okt.21.
gy6: okt.21.
gy1: okt. 26.

Péntek[12:00- 13:30]
Péntek [15:15- 16:45]
Péntek [17:00- 18:30]
Szerda[12:00- 13:30]

Északi Tömb 1.71 Pócza Jenő terem
Északi Tömb 1.71 Pócza Jenő terem
Északi Tömb 1.71 Pócza Jenő terem
Északi Tömb -1.64 terem


IKP-ABG/gy6,7,8 és gy1 csoportok II.ZH ideje és helye:

gy7: dec.2.
gy8: dec.2.
gy6: dec.2.
gy1: dec.7.

Péntek[12:00- 13:30]
Péntek [15:15- 16:45]
Péntek [17:00- 18:30]
Szerda[12:00- 13:30]

Déli Tömb 0-805 Fejér Lipót terem
Déli Tömb 0-805 Fejér Lipót terem
Déli Tömb 0-805 Fejér Lipót terem
Északi Tömb –1.64 terem


IKP-ABG/gy1,6,7,8 csoportok PótZH és GyakUV ideje és helye:

a szorgalmi időszak utolsó napján:
2005. dec. 16. Péntek [16:00- 18:00]
és a vizsgaidőszak első hetében:
2005. dec. 20. Kedd [12:00- 14:00]
CSAK GYAK.UV:
2006. jan. 3. Kedd [13:00- 15:00]


Déli Tömb 0-804 Lóczy Lajos terem

Déli Tömb 0-804 Lóczy Lajos terem

Déli Tömb 0-825 Farkas Gyula terem


3. Tervezett tematika (feladattípusok a gyakorlatokra heti leosztásban)

A feladatokat és megoldásait a gyakorlatokon tárgyaljuk, itt csak azt soroltam fel,
hogy az adott héten milyen feladattípusokkal foglalkozunk (mire lehet készülni).
A szerdai gy1 csoport dátumait dőlt betű, pénteki gy6-7-8 csoportokét vastag betű
jelöli, az [IA1/ 12.fej.] hivatkozás a „1.1. Ajánlott irodalom”/ megfelelő fejezetei.
A gyakorlatok „táblás” része az előadást követi, az előadáshoz igazodva változhat,
a gyakorlatok „gépes” részében Oracle 10g környezetben gyakoroljuk az SQL-t.

3.1. LEKÉRDEZÉSEK

Relációs algebra és kalkulusok, algebrai optimalizálás. Az SQL lekérdező nyelve: SELECT
(1-7. hét: 2005. szeptember 12-től október 26-ig)

Dátum

Táblás feladatok:

Gépes feladatok Oracle-ben:

1.hét
IX.16.
1-2.hét
IX.14.
ill. 21.

Konkrét példák relációs adatmodellre.
[UWA/ 3.1, 4.1.] Példák lekérdezések kifejezésére relációs algebrai alapműveletekkel, pl. „kik tették-vették?”, „kik nem tették-vették?” jellegű kérdések, max./min. értékek kifejezése relációs algebrában az alapműveletekkel (szelekció/kiválasztás, projekció/vetítés, Descartes/direkt-szorzat, unió/egyesítés, különbség).

Oracle azonosítók igényléséhez az adatok egyeztetése.
A félév elején az SQL lekérdezésekben
select TABLE_NAME from ALL_TABLES where OWNER='SILA';
paranccsal elérhető táblákat használjuk,
select * from SILA.TABLANEV;
A lekérdezésekhez használt táblák szerkezete, tartalma és azt létrehozó SQL parancsok a gyakorlatokon elérhetőek.

2. hét
IX.23.
2-3.hét
IX.21.
ill. 28.

Relációs algebra (folyt.) [UWA/ 4.1.]
Példák származtatott műveletekre:
metszet, természetes összekapcsolás, theta-, ill. félig-összekapcsolások.
Hiányos adatok tárolása, a NULL.
Példák külső összekapcsolásokra.
Példák a hányadosra [UWA/ 4.1.9.feladat], Példák „minden”, „legalább”, „legfeljebb” jellegű lekérdezések kifejezésére relációs algebrában.

Példák SQL lekérdezésekre: „SELECT ... FROM ... WHERE ...” (röviden „SFW”) egyszerű aritmetikai összehasonlítás keresési feltételekkel. Összetett keresési feltételek (NOT, AND, OR).
SELECT DISTINCT (valódi projekció).
A SFW kiértékelése, rel.alg. értelmezése.
Példák a teljes SELECT használatára
SFW {UNION | INTERSECT | MINUS} SFW. Relációs algebrai értelmezése.
ORDER BY kiválasztott sorok rendezése.

3. hét
IX.30.
4.hét
X.5.

Heurisztikákon alapuló algebrai optimalizálásra példák: [UWM/ 7.2.-7.3.] relációs algebrai kifejezések reprezentálása kifejezésfával relációs algebrai azonosságokon illetve heurisztikus szabályokon alapuló átalakításával hatékonyabb relációs algebrai lekérdezéseket reprezentáló végrehajtási terv kialakítása.

Példák a WHERE kifejezésre:
BETWEEN ... AND ..., LIKE ’minta’,
IN értéklista, IS [NOT] NULL.
Példák az SQL sor-függvények használatára: karakteres (SUBSTR, LOWER, UPPER), numerikus (ABS, MOD, ROUND, TRUNC), dátum (ADD_MONTHS, MONTHS_BETWEEN), konverziós (TO_CHAR, TO_DATE, TO_NUMBER), egyéb (null kezelése: NVL).


 

4.hét
X.7.
5.hét
X.12.

Lekérdezések kifejezése relációs kalkulusokkal. Korábbi relációs algebrai lekérdezések kifejezése DRC-ben. Formulák reprezentálása fákkal, maximális konjunkcióláncok megállapítása, biztonságosság eldöntése.

Példák a csoportosításra
SFW [GROUP BY ... [HAVING ...]]
és példák az SQL csoport-függvények (AVG, COUNT, SUM, MAX, MIN, STDDEV, VARIANCE) használatára.
Példák alkérdésekre a FROM záradékban.
Példák alkérdésekre a WHERE záradékban:
[NOT] IN (SFW),
THETA [ANY | ALL] (SFW),
[NOT] EXISTS (SFW)
.

5.hét
X.14.
6.hét
X.19.

Lekérdezések kifejezése TRC-ben.
Relációs algebrai lekérdezések átírása DRC-be illetve TRC-be.
Biztonságos DRC, TRC lekérdezések átírása relációs algebrába.

Példák relációk összekapcsolására (join) SQL-ben többféleképpen való kifejezése (összetett keresési feltétel; egymásba ágyazott alkérdések; NATURAL JOIN; JOIN USING ... ; JOIN ON ...).
Példák külső összekapcsolásokra
([LEFT | RIGHT | FULL] OUTER JOIN; ill. WHERE feltételben (+)).
Példák korrelált lekérdezésekre, halmazműveletekre. A hányados kifejezése SQL-ben (SELECT-ben NOT EXISTS (SFW) alkérdésben (SFW) MINUS (SFW) vagy másik NOT EXISTS (SFW)). Egymásba ágyazott korrelált lekérdezések kiértékelési stratégiái.

6.hét
X.21.
7.hét
X.26.

I. Zárthelyi dolgozat
időpontja és helye: lsd. 2.4.
feladattípusok és pontozás: lsd. 4.1.

 


3.2. TERVEZÉS

Adatmodellezés, relációs adatbázis-sématervezés algoritmusai. Az SQL DDL, DML
(7-13 hét: 2005. október 28-tól december 7-ig, kivéve a 8.hét őszi szünet)

Dátum

Táblás feladatok:

Gépes feladatok Oracle-ben:

7.hét
X.28.
9.hét
XI.9.

Dolgozatpéldák megbeszélése.
Feladatok adatmodellezésre, az egyed-kapcsolat (EK)-modell [UWA/ 2.2.], és megszorítások modellezése [UWA/ 2.5.], leképezése relációs adatmodellbe, relációs sémák célszerű összevonásai [UWA/ 3.3., 3.4.2.]

Az I.ZH SELECT feladatainak megbeszélése és kipróbálása a gépnél: táblák összekapcsolása, csoportosítás, csoportfüggvények használata, egymásba ágyazott korrelált lekérdezések.

9.hét
XI.11.
10.hét
XI.16.

További feladatok adatmodellezésre, saját adatmodell kialakítása, EK-modell kulcsok és hivatkozásiépség megszorítások megadásával [R/ 2.3.], és átírása relációs sémákra [R/ 4.1.], SQL-ben saját táblák, integritási feltételek létrehozása és a táblák feltöltése adatokkal (lásd: gépes feladatok).
Relációs adatelemzés, összefüggések az adatok között, függőségek, normalizálás
[R/ 4.2.] (alapszinten) [UWA/ 3.5.-3.8.]

SQL DDL. Adatdefiníciós nyelv.
CREATE, DROP, ALTER [TABLE|VIEW|INDEX]
Adattípusok és megszorítások.
Feladatok saját táblák kialakítására:  CREATE TABLE táblák létrehozása CONSTRAINT megszorítások megadásával. INSERT INTO... VALUES... adatok felvitele a táblákba (a fenti megszorításoknak eleget tevő értékek megadásával).
További feladatok ALTER TABLE táblák szerkezetének, megszorításainak módosítása, DROP TABLE táblaszerkezet törlése.

10.hét
XI.18.
11.hét
XI.23.

Feladatok az ismert algoritmusok alkalmazására relációs adatbázisséma-tervezés témakörében [IA1/ 12.fej.]
Adott R relációs séma és F funkcionális függőségi halmazra határozzuk meg R kulcsait (az X attribútum-halmaz lezártját kiszámoló algoritmus alkalmazásával).
Adjuk meg az F egy minimális fedését.
Adott R, F-re adott d dekompozíció veszteségmentességét döntsük el.
Adott R, F-re adott d dekompozíció függőségőrzését ellenőrizzük.

SQL DML. Adatkezelő nyelv.
INSERT, DELETE, UPDATE.
Feladatok INSERT adatfelvitel (másik táblából illetve értékek megadásával), UPDATE adatok módosítása, és DELETE a tábla teljes tartalmának törlése, illetve egy vagy több sor törlése (de kerüljük el a hivatkozási megszorítási hibát!)
DDL. Az Oracle adatbázis táblái: adatszótár, felhasználói táblák, nézettáblák. Feladatok CREATE VIEW egyszerű és összetett nézettáblák létrehozása, ALTER VIEW létező nézetek felülírása, DROP VIEW nézettáblák törlése.


 

11.hét
XI.25.
12.hét
XI.30.

Feladatok normalizálásra [IA1/ 12.fej.]
Adjuk meg (adott R, F esetén) R-nek Boyce-Codd normálformába való veszteségmentes dekompozícióját a naív illetve javított algoritmussal.
Adott R, F-re adjuk meg R-nek 3NF-ba való veszteségmentes és függőségőrző dekompozícióját (ehhez alkalmazzuk F egy minimális fedését illetve a kulcsokat kiszámoló algoritmust).

DML. További feladatok az adatok karbantartása (adatok felvitele, módosítása, törlése) nézeten keresztül.
DDL. További példák CREATE INDEX indextábla létrehozása, ALTER INDEX módosítása, DROP INDEX törlése.
Mikor célszerű és mikor nem az indexek használata?
 

12.hét
XII.2.
13.hét
XII.7.

II. Zárthelyi dolgozat
időpontja és helye: lsd. 2.4.
feladattípusok és pontozás: lsd. 4.2.

 

3.3. MEGVALÓSÍTÁS

Fizikai fájlszervezés. Az SQL DCL.
(13-14 hét: 2005. december 9-től december 16-ig)

Dátum

Táblás feladatok:

Gépes feladatok Oracle-ben:

13.hét
XII.9.
14.hét
XII.14.

Dolgozatpéldák és gyakorlati jegyek megbeszélése.
Feladatok fizikai fájlszervezésre, blokkszervezésre, indexstruktúrákra.
[UWM/ 4.Indexstruktúrák]

Az II.ZH SQL DDL CREATE TABLE, CREATE VIEW, SQL DML INSERT, DELETE, UPDATE feladatok kipróbálása a gépnél, az új példákkal kiegészítve:
SQL DCL. Adatvezérlő nyelv
Tranzakció-kezelés alapjai az SQL-ben
(COMMIT, ROLLBACK, SAVEPOINT).
Jogosultságok kezelése az SQL-ben
(GRANT, REVOKE).

14.hét
XII.16.
XII.20.

Konzultációs alkalom, kérdés/válasz.
Gyakorlati jegyek lezárása.
PótZH illetve GyakUV írásbeli ZH
időpontja és helye: lsd. 2.4. ,
egyéb infó, feladattípusok: lsd. 4.3.

 


4. ZH előtti információ (csak a feladattípusok és pontozás)

4.1. Az I.Zárthelyi dolgozat előtti információ, feladattípusok

IKP-ABG/gy1 szerdai csoport ideje: október 26. és helye: Északi Tömb -1.64 terem
gy6,7,8 pénteki csoportok ideje: október 21. és helye: Északi Tömb 1.71 Pócza Jenő terem


Segédeszközök a dolgozatírás közben: Az előadás tematikájához kapcsolódó
feladatokhoz (mint relációs algebra, algebrai optimalizálás, relációs kalkulusok)
nem használható segédeszköz. Az SQL-hez csak SQL kézikönyv használható.

Feladattípusok: (össz. 36 pont)
1. RALG (6 pont) Lekérdezések kifejezése relációs algebrában.
2. DRC (6 pont) Lekérdezések kifejezése biztonságos (DRC) kalkulusban.
3. EKV (6 pont) Állapítsuk meg, hogy a felsorolt DRC, TRC formulák biztonságosak-e
indokoljuk (max.konj.lánc, stb), az egyik biztonságos kifejezés átírása relációs algebrába.
4. OPT (6 pont) Heurisztikákon alapuló relációs algebrai optimalizálásra feladat.
5. SQL SELECT (12 pont) a) b) c) d) Feladatok lekérdezések kifejezésére SELECT-tel:
összekapcsolások, csoportosítás, csoport függvények, beágyazott lekérdezések.

4.2. A II.Zárthelyi dolgozat előtti információ, feladattípusok

IKP-ABG/gy1 szerdai csoport ideje: december 7. és helye: Északi Tömb -1.64 terem
gy6,7,8 pénteki csoportok ideje: december 2. és helye: Déli Tömb 0-805 Fejér Lipót terem

Segédeszközök a dolgozatírás közben: A relációs adatbázisséma-tervezéséhez
(adott dekompozíció veszteségmentességének (v.m.), függőségőrésének (f.ő.)
eldöntése, adott séma v.m. BCNF-ba, ill. v.m., f.ő. 3NF-ba való dekompozíciója)
feladatokhoz az algoritmusok absztrakt leírása (kidolgozott példák nélkül)
használható vezérfonálként. Az SQL-hez csak SQL kézikönyv használható.

Kérem, hogy a péntek késő esti csoportból, aki másik ZH-val való ütközés miatt
másik csoporttal szeretné megírni az Adatbázisok ZH-t, előre (legkésőbb nov.30-ig)
jelezze vagy a gyakorlatokon vagy emailben: sila@ullman.inf.elte.hu, hogy mikor ír.
(Az alapértelmezés az, hogy abban a csoportban ír ZH-t, amelyik csoportba jár
 a gyakorlatokra, ezt természetesen nem kell jelezni, csak az ettől való eltérést!)


Feladattípusok:
(össz. 36 pont)
1. Egyed-kapcsolat modell (EK)
(6 pont) EK modell kialakítása.
2. SQL DDL (6 pont) A fenti EK modell átírása relációs-sémákká
és CREATE TABLE létrehozása az SQL-ben (adattípusokkal, megszorításokkal).
3. Relációs tervezés (6 pont) veszteségmentesség, függőségőrzés ellenőrzése algoritmussal.
4. Normalizálás (6 pont) BCNF-ra illetve 3NF relációs sémákra bontás az algoritmusokkal.
5. SQL nézetek, DML (12 pont)
a) nézettáblák CREATE VIEW létrehozása,
b) adatok módosítása, UPDATE a fenti nézettáblából származó adatok alapján,
c) adatok törlése DELETE „gyermeksorokkal” is rendelkező sorok törlése.


4.3. PótZH és GyakUV írásbeli ZH előtti információ

IKP-ABG/gy1,6,7,8 csoportok PótZH illetve GyakUV ideje:

a szorgalmi időszak utolsó napján:
2005. dec. 16. Péntek [16:00- 18:00]
és a vizsgaidőszak első hetében:
2005. dec. 20. Kedd [12:00- 14:00]
CSAK GYAK.UV:
2006. jan. 3. Kedd [13:00- 15:00]


Déli Tömb 0-804 Lóczy Lajos terem

Déli Tömb 0-804 Lóczy Lajos terem

Déli Tömb 0-825 Farkas Gyula terem


A két decemberi időpontban pótZH-ra és GyakUV-ra is lehet jönni.
A TVSZ szerint a gyakorlati jegyek megadásának határideje a vizsgaidőszak
első hetének vége, ezért a december 20-i PótZH után lezárom a gyak.jegyeket.
Gyakorlati utóvizsgát a TVSZ szerint január 6-ig lehet megtartani,
az ETR-ben meghirdetett 2006. január 3 Gyak.UV-ra a gyakorlati
jegyüket javitó hallgatóknak az ETR-ben be kell jelentkezniük!
Segédeszközök a dolgozatírás közben: Sem a pótZH-n és sem a Gyak.UV-n a
dolgozatírás közben (mint a szóbeli vizsgán sem) nem használható segédeszköz.

A félév során a gyakorlati jegyhez két Zárthelyi dolgozatot kell megírnia:
I.ZH –lsd. 3.1. LEKÉRDEZÉSEK témaköréből és
II.ZH –lsd. 3.2. TERVEZÉS témaköréből.
Ha az egyik dolgozata sikertelen (elégtelen vagy csak javítani szeretne),
az egyik ZH-t újból megírhatja pótZH keretében.
Ha mindkét ZH elégtelen a két dolgozat témaköréből vett feladatokból
írásbeli ZH-n gyakorlati UV keretében szerezhet gyakorlati jegyet.

Feladatsorok:
A és B feladatsor (2005.dec.16. péntek 16:00),
C és D feladatsor (2005.dec.20. kedd 12:00)
ahol az A és C feladatsor az I.ZH-nak, B és D feladatsor a II.ZH-nak felel meg.
Akik a PótZH-t írják csak az egyik feladatsort kell beadniuk (a rendelkezésre álló
idő 75 perc), és ennek a ZH-nak a pontjait cserélik le a pótZH-n elért pontokkal.
Akik a GyakUV írásbeli ZH-t írják mindkét feladatsort be kell adniuk (nekik a
rendelkezésre álló idő 120 perc), ők „üres lappal” (és GyakUV csekkel) indulnak
ezen a napon az írásbeli ZH-n elért összpont alapján kapnak gyakorlati jegyet.

Feladattípusok:
A és C feladatsor (lsd 4.1. I.ZH feladattípusai, de az SQL kérdések nagyobb súllyal)
C és D feladatsor (lsd 4.2. II.ZH feladattípusai, de az SQL kérdések nagyobb súllyal)

4.4. Zárthelyi dolgozatok pontozása

I.ZH és II.ZH pontozása:

elégtelen
elégséges
közepes

jeles

0-8 pont
9-14
pont
15-20
pont
21-26
pont
27-36
pont


5. Zárthelyi dolgozatok eredményei (név helyett 3 karakteres kóddal)

5.1. Az I.Zárthelyi dolgozat eredménye (részpontokkal)

Feladatsorok:
A és B feladatsor (gy7, 2005.okt.21. péntek 12:00),
C (gy8, okt.21. péntek 15:15),
D (gy6, okt.21. péntek 17:00)
E és F feladatsor (gy1, 2005.okt.26. szerda 12:00)

Feladattípusok: (össz. 36 pont)
1. RALG (6 pont) Lekérdezések kifejezése relációs algebrában.
2. DRC (6 pont) Lekérdezések kifejezése biztonságos (DRC) kalkulusban.
3. EKV (6 pont) Állapítsuk meg, hogy a felsorolt DRC, TRC formulák biztonságosak-e
indokoljuk (max.konj.lánc, stb), az egyik biztonságos kifejezés átírása relációs algebrába.
4. OPT (6 pont) Heurisztikákon alapuló relációs algebrai optimalizálásra feladat.
5. SQL SELECT (12 pont) a) b) c) d) Feladatok lekérdezések kifejezésére SELECT-tel:
összekapcsolások, csoportosítás, csoport függvények, beágyazott lekérdezések.

E,F feladatsor: 1.ALG, 2.DRC, 3.EKV, 4.OPT és 5. SQL SELECT.
A,B,C,D feladatsor: mint a fenti, csak a 3.OPT és 4.EKV a sorrend,
valamint az A,B,C,D feladatsor 5d. feladata nehezebb, ezért +1p (itt 4p).

I. ZH eredménye részpontokkal (a pénteki gy6,7,8: okt.28; és a szerdai gy1: nov.9): itt

5.2. A II.Zárthelyi dolgozat eredménye (részpontokkal)

Feladatsorok:
A és B feladatsor (gy7, 2005.dec.2. péntek 12:00),
C (gy8, dec.2. péntek 15:15),
D (gy6, dec.2. péntek 17:00)
E, F, G, H feladatsor (gy1, 2005.dec.7. szerda 12:00)

Feladattípusok:
(össz. 36 pont)
1. Egyed-kapcsolat modell (EK)
(6 pont) EK modell kialakítása.
2. SQL DDL (6 pont) A fenti EK modell átírása relációs-sémákká és
CREATE TABLE létrehozása az SQL-ben (adattípusokkal, megszorításokkal).
3. Relációs tervezés (6 pont) veszteségmentesség, függőségőrzés ellenőrzése algoritmussal.
4. Normalizálás (6 pont) BCNF-ra illetve 3NF relációs sémákra bontás az algoritmusokkal.
5. SQL nézetek, DML (12 pont)
a) nézettáblák CREATE VIEW létrehozása,
b) adatok módosítása, UPDATE a fenti nézettáblából származó adatok alapján,
c) adatok törlése DELETE „gyermeksorokkal” is rendelkező sorok törlése.
Nyolc feladatsor van, az 5.feladaton belül az a) b) c) feladatok erőssége különbözik,
ezért a részpontok is különböznek, pl. A-B-nek: 6+3+3 pont, C-H-nak 4+4+4 pont.

II. ZH eredménye részpontokkal (a pénteki gy6,7,8: dec.9; és a szerdai gy1: dec.14): itt


5.3. PótZH és GyakUV írásbeli ZH eredménye (részpontokkal)

Feladatsorok:
A és B feladatsor (2005.dec.16. péntek 16:00),
C és D feladatsor (2005.dec.20. kedd 12:00)
ahol az A és C feladatsor az I.ZH-nak, B és D feladatsor a II.ZH-nak felel meg.
Akik a PótZH-t írják csak az egyik feladatsort kell beadniuk (a rendelkezésre álló
idő 75 perc), és ennek a ZH-nak a pontjait cserélik le a pótZH-n elért pontokkal.
Akik a GyakUV írásbeli ZH-t írják mindkét feladatsort be kell adniuk (nekik a
rendelkezésre álló idő 120 perc), ők „üres lappal” (és GyakUV csekkel) indulnak
ezen a napon az írásbeli ZH-n elért összpont alapján kapnak gyakorlati jegyet.
Feladattípusok: A és C feladatsor (lsd 4.1.), C és D feladatsor (lsd 4.2.)

PótZH és GyakUV eredménye részpontokkal (dec.22): itt

5.4. Gyakorlati jegyek (pontozás, ZHpont, órai+pont, gyak.jegy)

I.ZH és II.ZH pontozása:

 

Gyak.jegy ponthatára:

elégtelen
elégséges
közepes

jeles

0-8 pont
9-14
pont
15-20
pont
21-26
pont
27-36
pont

 

elégtelen
elégséges
közepes

jeles

0-17 pont
18-29
pont
30-41
pont
42-53
pont
54-72+ pont


A gyakorlati jegyet a félév során megírandó két Zárthelyi dolgozaton elért
pontok alapján számolom. Az egyik dolgozat javítható pótZH megírásával,
pótzh-ra bárki jelentkezhet, aki javítani szeretne, lsd: 4.3. PótZH, GyakUV infó.

A fejléc, pontozás, gyakorlati jegyek számítása:

#

etr

cs

KOD

gyak

össz

ebből

1zh

IZH

2zh

IIZH

órai+

pót

pót

 

 

 

 

jegy

pont

SQL

cs

pont

cs

pont

pont

ZH1

ZH2

etr”: melyik csoportba jelentkezett az ETR-ben,
cs”: melyik csoportba jár a gyakorlatokra
KOD”: Név helyett 3 karakteres (illetve akiknél megegyezik, 4 karakteres) kód,
gyak.jegy” az összpontszám alapján a fenti ponthatárok szerint szerzett gyak.jegy.
összpont” számolása=az I.ZH, a II.ZH, és az órai+ pontok összege,
ebből SQL” az I.ZH 5.feladatára (SELECT), és a II.ZH 5.feladatára (DDL, DML)
SQL feladatokra kapott pontok (max.24 pont). A legjobb 12 SQL-feladatmegoldónak
(min.17 pont), ha nem jeles akkor egy jeggyel feljebb kerekítettem a gyakorlati jegyét.
Előfordulhat, hogy azonos pontszámra különböző gyakorlati jegyet kap két hallgató :)
1zh, IZH” ill. „2zh, IIZH”:  melyik feladatsort írta a ZH-n és hány pontot ért el,
órai+pont”: a gyakorlatokon a kérdésekre adott válaszokkal, a „táblás” feladatok
megoldásával, és adott gyakorlatokon az SQL-ben végzett „gépes” feladatok
e-mailben való beküldéséből a jó megoldásokra szerzett „órai plusz-pontok”.
pótZH”: Ha valamelyik ZH elégtelen (nem éri el a 9 pontot) vagy javítani szeretne,
azt a ZH-t újból megírhatja, és ennek a ZH-nak a pótZH-n szerzett pontjai kerülnek
be az összpontba, ami alapján a a fenti ponthatárok szerint kaphat gyakorlati jegyet.

Pontok és gyak.jegyek: (a két pótZH után a végleges gyak.jegyek, dec.22): itt


6. Vizsgával kapcsolatos kérdések

6.1. Gyak.jegyek indexbe való beíratásának időpontjai

2005.dec.16. péntek 11.45-13.30
2005.dec.16. péntek 16.00-18.30
2005.dec.20. kedd 12.00-14.00
2006. jan.3. kedd 13.00-15.00

00-807 Adatbázis labor
0-804 Lóczy Lajos terem
0-804 Lóczy Lajos terem
0-825 Farkas Gyula terem


Felhívom a figyelmet arra, hogy a gyakorlati jegy beírása nélkül
a hallgató nem bocsátható vizsgára. A vizsgaidőszakban is be
lehet íratni a gyakorlati jegyeket az indexbe a fogadóórám alatt:
szerda 13.00-14.00-ig a Déli Tömb 2-503. szobában.

6.2. Vizsgára való jelentkezés (az ETR-en keresztül)

Az ETR-en keresztül lehet vizsgára jelentkezni.
A vizsganapok:
2005. dec. 20 (20 fő), dec. 21 (30 fő),
2006. jan. 03 (20 fő), jan. 04 (30 fő),
jan. 10 (20 fő), jan. 11 (30 fő),
jan. 17 (20 fő),
jan. 23 (20 fő), jan. 24 (40 fő), jan. 25 (40 fő), jan. 26. (20 fő)
A vizsgaidőszak végén az utóvizsgák:
2006. január 27, 31, február 01.

6.3. Adatbázis-kezelés (3.évf. PTM) Vizsgatematika

lásd: Tételjegyzék

6.4. GY.I.K. (gyakran ismétlődő kérdések) a vizsgával kapcsolatban

lásd: GY.I.K.



Budapest, 2005. szeptember (tervezett tematika)
Utolsó módosítások:
dec. 15. (gyak.jegyek, vizsgára tételjegyzék és GY.I.K.),
dec.22. (pótZH eredménye,végleges gyak.jegyek),

dr. Hajas Csilla
E-mail: sila@inf.elte.hu
URL: http://people.inf.elte.hu/sila/