Adatbázisok tervezése és programozása             dr. Hajas Csilla
ELTE, 2008/2009. tanév II.(tavaszi) félév          BSc/C szakirány
IP-cATPE előadás - Kedd 8:15-tól 9:45-ig        D-2.712 tanterem
IP-cATPG/1 gyak. (Hajas) - Csüt. 14:15-tól 15:45-ig  2.202/PC3
IP-cATPG/2-3 gyak. (Brányi) - Kedd 14h 2.710, Csüt. 14h 2.520

Előzetes információ a Zh-ákról:
>> Tudnivalók a gyakorlati zárthelyi dolgozatokról
További infó:
(ponthatárok)
      Zh   időpontja Zh témaköre Eredménye
>I.Zh
>> Vjm1
>> Vjm2
>> Bead
>> II.Zh
>> JavZh
>> gyUV
 márc.26. gyak
 márc.31. EA
 május 12. EA
ápr.2-máj.7-ig
 május 14. gyak
 május 21. 14h
 június 5. 10h
 Rel.algebra és SQL SELECT
 Vizsgajegymegajánló/1.Lekérdezések
 Vizsgajegymegajánló/2.Tervezés
 Beadandó feladat: E/K modell, stb.
 Géptermi zh: SQL és PL/SQL 
 Az egyik Zh javítható/pótolható
 Gyak.jegyek és vizsgaeredmények
>> I.Zh u
>> Vjm1_u
>> Vjm2_u
>> II.Zh_u
>> II.Zh_u
>> JavZh_u
>> cATP.pdf

Tudnivalók a gyakorlati zárthelyi dolgozatokról (febr.10.)
 
Gyakorlati jegyet csak az szerezhet, aki az SQL és PL/SQL ZH-t is sikeresen teljesítette.
A zárthelyi dolgozat zártkörű, vagyis a dolgozatírás alatt csak a gyakorlaton résztvevő
dolgozatot író hallgatók tartózkodhatnak a laborban (hozzatok személyi azonositó iratot).
A kiosztott feladatlapot be kell adni, írja rá a nevét és az ETR_azonosítóját (EHA-kód).
 
A ZH két részből áll. A papíros részhez
nem használható segédeszköz, a gépes részhez
csak az Oracle Online Documentation Oracle 10.2 használható, de egymás segítsége nem!
Csak önálló munkát értékelek! A zh alatt tilos mobiltelefont használni, e-mailezni
vagy egyéb módon üzengetni!
Kérdezgetni a zh alatt már nem lehet! A gépes feladatokat
Oracle adatbázis-kezelőben
oldjuk meg az sqlplus vagy SQL Developer eszközzel.

A feladatokat az adatbázisséma alapján a tényleges adatok ismerete nélkül kell megoldani.
Ha a táblákban módosítjuk az adatokat, adatsorokat törlünk vagy új adatsorokat viszünk fel,
akkor az így megváltoztatott táblákra is működnie kell a zh megoldásoknak függetlenül a tábla
tényleges tartalmától. Feltesszük, hogy csak a tábla tartalma változik, a tábla szerkezete nem.
   
A gépes feladatok megoldását (az SQL utasításokat illetve PL/SQL programokat) és
az eredményeket egyetlen szöveges állományba másolja össze. Ha SQL Developert
használ, akkor ne az Execute Statement F9-el, hanem Run Script F5-tel scriptként futtassa,
és ekkor az outputot a Script Outputból Ctrl-C Ctrl-V-vel be tudja másolni a szövegfájlba.
 
Kérem, hogy ebben a beküldendő szövegfájlban a feladatlapon megadott kérdések sorrendjét
kövesse és megjegyzésekkel világosan különítse el, hogy melyik rész melyik feladathoz tartozik.
A gépes feladatok megoldása során az egyes lépéseket (mely selectek vezették a megoldáshoz)
ezeket is mentse el egy szövegfájlban (részfeladatok megoldásáért is jár pont). Ha készen van egy
gépes feladattal az eredményt is másolja be, ha az eredménytábla nem nagy, akkor a teljes táblát,
ha pedig nagy, akkor csak azt, hogy az eredmény hány sorból állt és az első 5 sorát másolja be. 
 
A szövegfájl első sora egy olyan megjegyzés legyen, amely tartalmazza a hallgató nevét,
és az ETR EHA kódját
. A szövegfájl neve ehakod_mmnn.txt legyen, ahol az ehakod
helyére írja be a saját ETR azonosítóját (.ELTE nélkül), az mmnn pedig a dátum mm=hó, nn=nap.
Ezt a .txt fájlt anonymous ftp-vel töltse fel az ablinux.inf.elte.hu gép pub/sila alkönyvtárába,
az ftp-ről, ha szükséges további részleteket lásd Beadandók és géptermi zh feladatok beküldése.

Előzetes információ az I.ZH-ról (febr.10.) >> márc.26. SQL

Gyakorlat I.ZH témaköre
>> I.Témakör Lekérdezések kifejezése relációs nyelvekben

A ZH két részből áll:
I.
rész  Papíros feladatok (Semmilyen segédeszköz nem használható!)
- Lekérdezések kifejezése relációs algebrában (lineáris jelöléssel és kifejezésfával)
- Lekérdezések kifejezése SQL SELECT-tel (SQL-92 szabvány SELECT-ről minden)

II.rész Gépes feladatok (csak az Oracle on-line dokumentáció használható!)
- SQL SELECT: táblák összekapcsolása, függvények, csoportosítás, alkérdések
- Hierarchikus lekérdezések az Oracle-ben (CONNECT BY PRIOR)
Gépes feladatok beküldése: Tudnivalók a zárthelyi dolgozatokról

A relációs algebrai és SQL SELECT lekérdezésekről szóló I.ZH-ban
- először természetes nyelven  szövegesen fogalmazza meg a választ a táblák alapján papíron,
- utána az 1-4. feladatok esetén a lekérdezést relációs algebrában is adja be papíron, és
- az 1-8. feladatokat gépnél oldja meg az Oracle oradb adatbázisban SQL SELECT-tel.

 Csak az EA-on volt (gyakorlaton nem, csak vizsgán/vizsgajegymegajánlóban lesz)
- Kiterjesztett műveletek  a relációs algebrában
   (gyakorlaton az I.ZH-n csak relációs algebra lineáris jelöléssel és kifejezésfával)
- Rekurzió a Datalogban és az SQL-99 szabványban
   (gyakorlaton az I.ZH-n csak CONNECT BY PRIOR hierarchikus lekérdezések)

További információ az I.ZH-ról (márc.26.)

Pontozás - mivel elég sok feladat volt, ezért a ponthatár alacsonyabb a megszokottnál:

Ponthatárok elégtelen(1) elégséges(2) közepes(3)     jó(4)         jeles(5)   
(a megszokott arányok)
1/3 (2/6) 1/6 1/6 1/6 1/6
megszokott ponthatárok 0-17 18-26 27-35 36-44 45-54
szokott ponthatárok -6p 0-11 12-20 21-29 30-38 39-54

Eredmények: cATP09f.pdf (itt lapozz az 6.oldalra az I.ZH részpontjaihoz) (márc.29)
>> Feladatsor.pdf  (jelszóval) (márc.26)
>> Megoldás és tapasztalatok.txt  (jelszóval) (márc.29)

Előzetes információ a Vizsgajegymegajánló 1-ről (febr.10.) >> márc.31.

Két évközi vizsgajegymegajánló dolgozat
- 1. Lekérdezések: márc.31. EA
      -- 8:15-9:00-ig 45 perces 36 pontos dolgozat,
      -- 9:00-9:45-ig az előadást folytatjuk.
- 2. Tervezés téma: május 12. EA
      -- 8:15-9:15-ig  60 perces 54 pontos dolgozat
      -- 9:15-9:45-ig előadások lezárása, összefoglalás
A vizsgajegymegajánló jegyét a két dolgozatra kapott összpontból (90 pont) számolom.

Megajánlott vizsgajegyet az kaphat, aki legalább 50%-ban részt vesz az előadáson és
jól megírja a két vizsgajegymegajánlót. Az előadás nem kötelező, aki nem tud bejárni,
az előadás anyaga és az Ullman-Widom: Adatbázisrendszerek. Alapvetés - tankönyv
alapján készüljön fel a vizsgaidőszakban és a szóbeli vizsgán nem éri hátrány (ha tud).

Segédanyagok a "Vizsgajegymegajánló-1"-hez 
>> Az előadások tematikája (1-6 előadások anyaga)

1. Lekérdezések. Papíros feladatok (Semmilyen segédeszköz nem használható!)
-- Lekérdezések kifejezése relációs algebrában (lineáris jelöléssel és kifejezésfával)
-- Lekérdezések kifejezése kiterjesztett relációs algebrában
-- Lekérdezések kifejezése SQL SELECT-tel (SQL-92 szabvány)
-- Rekurzió a Datalogban és az SQL-99 szabványban

További információ a Vizsgajegymegajánló 1-ről (ápr.3.)
 
Ponthatárok elégtelen(1) elégséges(2) közepes(3)     jó(4)         jeles(5)   
(arányok)  1/3 (3/9) 1/9 1/9 1/9 1/3 (3/9)
Vjm1  0-11 12-15 16-19 20-23 24-36
Vjm2  0-17 18-23 24-29 30-35 36-54
Vjm_össz 0-29 30-39 40-49 50-59 60-90

Eredmények: cATP09f.pdf (itt lapozz a 4.oldalra az Vjm1 részpontjaihoz) (ápr.3) 


Előzetes információ a Vizsgajegymegajánló 2-ről (febr.10.) >> máj.12.

Segédanyagok a "Vizsgajegymegajánló-2"-hez
>> Az előadások tematikája (7-12 előadások anyaga)

II.rész: Papíros feladatok (Semmilyen segédeszköz nem használható!)
-- E/K diagram felrajzolása és leképezése relációs modellre.
-- SQL és PL/SQL (adott program mit csinál, elemzés, hibajavítás)
-- Relációs adatbázisok tervezése, függőségek elmélete, normalizálás.

További információ a Vizsgajegymegajánló 2-ről (máj.13.)
 
Ponthatárok elégtelen(1) elégséges(2) közepes(3)     jó(4)         jeles(5)   
(arányok)  1/3 (3/9) 1/9 1/9 1/9 1/3 (3/9)
Vjm1  0-11 12-15 16-19 20-23 24-36
Vjm2 - 6pont 0-17 12-23 18-29 24-35 30-54
Vjm_össz 0-23 24-33 34-43 44-53 54-90

Feladatlap: 090512vj.pdf  (máj.12) 
Eredmények: cATP09f.pdf (itt lapozz a 5.oldalra az Vjm2 részpontjaihoz) (máj.13) 

- A megajánlott jó vagy jeles vizsgajegyeket a május 19-i vizsganapra írom be
   az ETR-be és az indexbe. Május 19-én kedden 9h-től 0.827-ben vizsgáztatok,
   a dolgozatokat május 19-én a vizsga után (kb.11h-től 16h-ig) lehet megnézni
   az irodámban (2.503).

Előzetes információ a Beadandókról (ápr.7.)

A beadandó feladatok témaköre:
>> II. Témakör: E/K modellezés. SQL DDL, DML
>> III. Témakör: PL/SQL

Beadandó feladatok (kötelező házi feladatok) 
    (A kötelező házi feladatra kapott pontok gyakorlati jegybe beleszámítanak!)
-- Feladatötletek >> lásd EK_feladat.txt  (szabadon választható/változtatható!)

Papíros feladatok beadási határideje: IV.16-i vagy IV.23-i gyakorlat
b1f. (3p) E/K modell (papíron) Tk1. 4.1-4.4.fej., 133-165.o.
b2f. (3p) E/K modell leképezése relációs modellre. Tk1. 4.5-4.6.fej., 165-181.o.
Gépes feladatok beküldési határideje: V.7. Csütörtök 21h-ig beküldve
Beküldése:
ablinux anonymous ftp, lásd AB_zhbead09f.html
b3f. (3p) Megvalósítása az Oracle relációs adatbázis-kezelővel, táblák és megszorítások
létrehozása, táblák feltöltése a megszorításoknak eleget tevő sorokkal (gépes)
Tk1. 2.3., 2.5.fej., 30-66.o.; 7.1-7.4.fej., 329-351.o.; 6.5.fej., 307-311.o.
b4f. (3p) A saját feladathoz egy PL/SQL tárolt függvény. Oracle PL/SQL User's Guide.
b5f. (3p) A saját feladathoz PL/SQL tárolt eljárás, amelynek kivételkezelő része is van.
b6f. (3p) A saját feladathoz egy trigger elkészítése és használata. Tk1. 7.5.fej., 352-359.o.

Előzetes ponthatárok, lásd a következő részben Előzetes infó a II.Zh-ról

Előzetes információ a II.ZH-ról (ápr.7.) >> máj.14. PL/SQL

-- lásd még Előzetes információ a Beadandókról

Gyakorlat II.ZH témaköre:
>> II. Témakör: SQL DDL, DML, DCL
>> III. Témakör: PL/SQL

Gépes feladatok (csak az Oracle on-line dokumentáció használható!)
-- SQL feladatok.
    táblák, megszorítások és nézetek létrehozása (create table, create view),
    és adatok karbantartása nézeten keresztül (insert, delete, update) feladatok.
-- PL/SQL feladatok
    rekurzió, tárolt eljárások, függvények, triggerek

Előzetes ponthatárok:
 
Ponthatárok elégtelen(1) elégséges(2) közepes(3)     jó(4)         jeles(5)   
1.ZH  0-11 12-20 21-29 30-38 39-54
2.ZH  0-17 18-23 24-29 30-35 36-54
Beadandó 0-5 6-8 9-11 12-14 15-18
Gyak.jegy:  0-35 36-53 54-71 72-89 90-120
 
További információ az II.ZH-ról (május 18.)

Ponthatárok: Beadandó: 18 pont & Gépes II.Zh : 6 feladat * 6 pont = 36 pont 
 
Ponthatárok elégtelen(1) elégséges(2) közepes(3)     jó(4)         jeles(5)   
1.ZH (papír+gépes) 0-11 12-20 21-29 30-38 39-54
2.ZH (+ beadandó
kötelező_hf ponttal)
0-17
1/3
18-26
1/6
27-35
1/6
36-44
1/6
45-54
1/6
Gyak.jegy:  0-29 30-47 48-65 66-83 84-108

Eredmények: cATP09f.pdf (itt lapozz a 7.oldalra az II.ZH részpontjaihoz) (május 18.)

- A II.Zh-t május 19 kedden a vizsga után (kb.11h-től 16h-ig lehet megnézni 
  az irodámban (2.503). Május 20-tól június 1-ig nem leszek elérhető, ezért
  a május 21-i pótZh-t Brányi Tanárúr csütörtöki csoportjával együtt írjátok meg.

Előzetes információ a javító/pót ZH-ról (május 12.) >> máj.21.
 
- Az egyik (és csak az egyik) Zh javítható (pótolható), de a javítóZh-n
   nemcsak javíthat, hanem ronthat is (vagyis lecseréli az újraírt a Zh-nak
   a jegyét a javítóZh-n elért jegyre). Ha javítóZh után valamelyik Zh még
   mindig elégtelen, akkor gyakorlati utóvizsgával szerezhet gyakorlati jegyet.
   lásd Követelmények, a gyakorlati jegy megszerzésének feltételei
 
- A csütörtöki csoport gyakorlata idejében: Május 21-én csütörtökön 14h-tól,
  de nem a gyakorlat helyén, hanem 2.520 MI laborban lehet megírni a pótZH-t.
  Brányi tanárúr csoportjával együtt írjátok meg, de én javítom és osztályzom.
 
- Május 20-tól június 1-ig nem leszek elérhető, a gyak.UV-t  június elején tartjuk,
  csak az ETR-ben van május 26-án meghirdetve (ugyanis az indexbe és ETR-be
  máj.26-i dátummal viszem fel a gyakorlati utóvizsgával szerzett gyakorlati jegyet). 
  Kérem azokat, akiknek elégtelen a gyakorlati jegyük e-mailben egyeztessenek
  velem és a többekkel, hogy június elején mikor legyen pontosan a gyakorlati UV.

További információ az javító/pót ZH-ról és a gyakorlati UV-ról
 
Eredmények: cATP09f.pdf (itt az 1.oldalon szereplő "összesítésben" megtalálhatja
                    a gyakorlati jegyet, zh-k és pótzh-k jegyeit és a vizsgaeredményeket).

GYAK.UV:
június 5-én, pénteken 10:00-12:00-ig 2.520 Mest.Int. laborban.
GYAK.UV2: június 15-én, hétfőn 12:00-14:00-ig 2.503 irodámban.

Mivel akik voltak, teljesen készületlenül jöttek el a pótZH-ákra és gyak.UV-ra,
ezért a jún.15-i gyak.uv2  feladatait papíron kell megoldani, segédeszköz nélkül!
Vagyis ne a zh alatt póbáljátok megtanulni, hanem előtte készüljetek fel a zh-ra!

A hatékony készüléshez ajánlok példatárakat:
- Kende-Nagy: Oracle példatár(Oracle 9i és 10g verziókhoz), Panem, 2005.
- Stolnitcki Gyula: SQL programozóknak, ComputerBooks, 2003.
- Gábor A.-Juhász I.: PL/SQL-programozás ORACLE 10g-ben, Panem, 2006.
ahol nemcsak megoldás, hanem magyarázat is van, persze érdemes mindent
a gépnél is kipróbálni (de ezt most már a zh-ra való tanulás során tegyétek!)
 
A gyak.UV-n a teljes gyakorlat anyagából lesznek feladatok, például
- lekérdezések kifejezése relációs algebrában, kiterjesztett relációs algebrában vagy
- SQL SELECT-tel (több tábla összekapcsolása, alkérdések, csoportosítás, stb) vagy
- PL/SQL-ben kurzor és változóhasználat, eljárások, függvények, triggerek működésének
  az elemzése, illetve kész program kiegészítése új részekkel vagy hibás rész javítása.
Természetesen a feladatok papíros megoldásánál kisebb szintaxis hibát nem veszek
figyelembe (amit a gépnél úgyis javítanátok), de azt igen, hogy jó legyen az elgondolás!
    
Budapest, 2008. február 5.                    
Utolsó módosítás: 2009. május 12.       
 
Lap tetejére        Gyak oldalára        
dr. Hajas Csilla, ELTE, IK
E-mail: sila@inf.elte.hu

 Vissza a Kezdőlapra