ADATBÁZISOK-1 ELŐADÁS     [prog.inf: IP-08AB1E]  
  ELTE, 2016/2017-os tanév I.félévében [2016.szept]
 
 
    
   Előadás:  Kedd 8:30-10:00  Déli ép. 0-822 Mogyoródi terem (Katalógus)
   Gyakorlatok: [1] Péntek 8:30-10:00 [2] Péntek 10:15-11:45 [AB1GY.html]
   Tudnivalók az előadásról és a vizsgáról, követelmények, lásd [itt: .pdf
   Az előadáson katalógus van, 4., 8. és 12.előadáson vizsgajegymegajánló
   Ellenőrzésre jelenléti ív (név-> 4kar-kód) elérése hallgato/[jelszóval] .pdf     
 
   Az előadások órai diasorozata:  
      I.Lekérdezések,Rel.alg.: >> 1.EA >> 2.EA >> 3.EA >> 4.EA (10.11)  röpzh1  
     II.Lekérd.,Kit.rel.alg.: >> 4.EA5.EA > 6.EA > 7.EA > 8.EA (11.15))  röpzh2  
    III.rész: Tervezés: >> 8.EA > 9.EA > 10.EA > 11.EA > 12.EA (12.13)  röpzh3 
   
   Tankönyv: Jeffrey D. Ullman, Jennifer Widom: Adatbázisrendszerek Alapvetés 
                                     Második átdolgozott kiadás, Panem, 2009. (a kék könyv)
   
    Az előadásokon olyan sorrendben szerepel a tananyag, ahogy a gyakorlatok
    ezt megkívánják. Kérem, hogy az aktuális előadás pdf-t mindig frissítse (F5-el)
    ugyanis még fejlesztem a tananyagot! Ha hibát vagy hiányosságot talál benne,
    kérem, hogy azt e-mailben jelezze és javítom. Köszönöm a visszajelzéseket!  
   
   Vizsgajegy megajánlás: Az előadások idejében 3 db 30 perces röpzh-ák:
   4.EA (10.11.) és 8.EA (11.15.) Lekérdezések( SQL), 12.EA (12.13.) Tervezés
   +GYAK.jegyért 3 db 90 perces gyak.zh: 5.GY és 9.GY: SQL, 13.GY: PL/SQL
   A vizsgajegy megajánlás/illetve a gyakorlati jegy alapja: Összpont =
   MAX(zh1+zh2; 2*zh2) + zh3, vagyis akinek nem sikerül a zh1, azoknál a zh2-vel
   számolunk. A zh2 vagy zh3 közül az egyiket lehet pótolni illetve javítani:
   EA PótZH időpontja: 2016.12.20. kedd 12:15-13:45-ig 0-804 Lóczy Lajos terem
   GYAK PótZH időpontja: 2016.12.21. szerda 12:15-13:45-ig 2.520 Mest.Int.labor
   
   Információ a vizsgákról: A vizsgaalkalmakra a Neptunban kell jelentkezni,
   a Neptun 24 órával a vizsga kezdete előtt zárja le a vizsga-jelentkezéseket.
   A vizsgaidőszak minden hetében hetente egy vizsgaalkalom van meghirdetve,
   de az utolsó héten csak javító- illetve pótvizsga lehetőség van (akik már voltak). 
   Adatbázisok-1 kurzus Vizsgatételekben négy fő témakörbe osztottuk az anyagot
   és ennek megfelelően vannak csoportosítva a vizsgán is a kérdések négy lapra,
   minden lapon 3-3 kérdés szerepel. Egy kérdés lehet egyszerű típusfeladat is.
   Az írásbeli vizsgán négy lapon 12 ellenőrző kérdésre 80 perc áll rendelkezésre
   (kb. 20 perc egy lap), kérdésenként 5 pont kapható, részpontok is szerezhetők.
   Összesen kapható 60 pontból legalább 20 pontot kell elérnie a sikeres vizsgához.
   Ponthatárok: 20p-tól elégséges, 30p-tól közepes, 40p-tól jó, 50p-60p jeles.
   
   Az előadások tananyaga/diasorozata:
 
   1.EA: 2016.09.13. --- Relációs adatmodell, egy táblára vonatkozó lekérdezések 
      >>>  1.előadás.pdf  --- Minden, ami egytáblás lekérdezésekhez kell
   > Tk.2.1. Strukturált és félig-strukturált adatmodellek áttekintése
   > Tk.2.2. A relációs modell alapjai, sémák, sorok, előfordulás, kulcsok
   > Tk.2.3. Egyszerű relációsémák definiálása SQL-ben (folyt.köv.)
   > Tk.2.4. Relációs algebra egytáblás műveletei: vetítés és kiválasztás   
   > Tk.6.1. Egyszerű egytáblás lekérdezések az SQL-ben, select utasítás
       select, from és where záradékai, nullérték, műveletek nullértékekkel,
       az ismeretlen igazságérték (U), háromértékű (T, F, U) logika.
   
   Info: 2016. szeptember 20-án kedden UNESCO Egyetemi Sport Nemzetközi Napja,
   nem lesz előadás, kérem a hallgatókat, hogy sportolni jöjjenek be az egyetemre,
   lásd a 2016/2017-es tanév rendje: https://www.elte.hu/kozerdeku/tanev1617
   
   2.EA: 2016.09.27. --- Relációs algebra, több táblára vonatkozó lekérdezések 
      >>>  2.előadás.pdf    --- Minden, ami a többtáblás lekérdezéshez kell 
   > Tk.4.fej. Relációs adatmodellek tervezése, E/K modell alapjai (folyt.köv.)
   > Tk.2.3. folyt. Tk.7.1. Relációsémák és megszorítások definiálása SQL-ben
   > Tk.2.4. Egy algebrai lekérdező nyelv, relációs algebráról teljes áttekintés
   > Tk.6.2. Több relációra vonatkozó lekérdezések az SQL-ben, szemantika
   
   3.EA: 2016.10.04. --- Alkérdések az SQL-ben, relációs algebrai lekérdezések 
     >>>  3.előadás.pdf   --- Alkérdések SQL-ben, Példák: Relációs algebra és SQL
   > Tk.6.3. Alkérdések (az SQL SELECT utasítás WHERE... záradékában)
   > Tk.2.4. Példák: Relációs algebrai feladatok (Tk.2.4.1.feladat) Termékek
      relációs algebrai kifejezésekkel, kifejezőfák átírása SQL lekérdezésekre
   > Tankönyv feladatai: Termékek-feladatok.pdfCsatahajók-feladatok.pdf  
   > Tankönyv feladataihoz a scriptek: create Termékekcreate Csatahajók
   
FIGYELEM! Köv.héten a 4.EA első fél órájában vizsgajegy megajánló dolgozat lesz
az 1-3.EA anyagából: Alapfogalmak és feladatok relációs algebrában és SQL-ben
        
   4.EA: 2016.10.11. --- Relációs algebra kiterjesztése/1, csoportosítás        
      -- 30 perces ZH az 1-2-3.EA tartalmából (alapfogalmak, típus feladatok)  
   >>>  4.előadás.pdf   --- Kiterjesztett relációs algebra unér műveletei   
   > Tk.5.1. Relációs algebra kiterjesztése multihalmazokra (az SQL-hez)
   > Tk.5.2. Kiterjesztett műveletek, ismétlődések kezelése, csoportosítás
   > Tk.6.4. Összesítő függvények és csoportosítás, GROUP BY... HAVING...
   
   5.EA: 2016.10.18. --- Relációs algebra kiterjesztése/2, összekapcsolások 
      >>>  5.előadás.pdf  --- Kiterjesztett relációs algebra binér műveletei   
   > Tk.5.1. folyt. Multihalmazok egyesítése, metszete és különbsége 
   > Tk.5.2. folyt. Kiterjesztett műveletek, külső összekapcsolások
   > Tk.6.3. Összekapcsolások az SQL-ben, külső összekapcsolások
   > folyt. Tk.6.3. Alkérdések a FROM záradékban, inline nézet
   > Tk.6.5. SQL DML: Táblák tartalmának módosítása: insert, delete, update
   > Tk.1.fej. Az adatbázis-kezelő rendszerek (ABKR) felépítése, alapfogalmak
   
   6.EA: 2016.10.25. --- Tervezés: E/K modell, Megvalósítás: SQL DDL  
      >>>  6.előadás.pdf  --- Tervezés és megvalósítás, SQL DDL 
   > Tk.4.1.-4.4. Tervezés: Az egyed-kapcsolat (E/K) modell elemei
   > Tk.4.5.-4.6. E/K diagram átírása relációs modellé  
   > Tk.7.1.-7.5. SQL DDL: Táblák, megszorítások és triggerek
   > Tk.8.1-8.2. és 8.5. Nézettáblák, tárolt nézettáblák
      
   7.EA: 2016.11.08. --- Logika a relációkhoz. Rekurzió a Datalogban és SQL-ben 
      >>>  7.előadás.pdf  --- Logikai lekérdező nyelv: Datalog. Rekurzió.
   > Tk.5.3.-5.4. Logika a relációkhoz. A relációs algebra és a Datalog összevetése
   > Tk.10.2. Az Eljut-feladat. Rekurzió (monoton, lineáris rekurzió) Datalogban és
      az SQL újabb szabványában: WITH RECURSIVE záradék a SELECT utasításhoz.
       
FIGYELEM! Köv.héten a 8.EA első fél órájában vizsgajegy megajánló az 1-7.EA anyagából! 
       
   II. ADATBÁZISOK PROGRAMOZÁSA TÉMAKÖR (GYAK/zh3)
   8.EA: 2016.11.15.  --- SQL/PSM szabvány a gyakorlatban: Oracle PL/SQL
      -- 30 perces ZH az 1-7.EA tartalmából (alapfogalmak, típus feladatok)  
      >>> 8.előadás.pdf    --- és az Oracle gyakorlaton: Oracle PL/SQL.pdf
   > Motiváció: Tk.10.2. Az Eljut-feladat SQL/PSM-ben (PL/SQL-ben)
   > Tk.9.3. SQL/PSM: Osztott változók, lekérdezések és kurzorok
   > Tk.9.4. Progr.alapok, tárolt eljárások és függvények, kivételkezelés  
   > Oracle PL/SQL segédanyagok: ebben az eduPLSQL mappában  
      -- Tankönyvtár: PL/SQL programozás Oracle 10g-ben (Gábor A.-Juhász I.)
   
FIGYELEM! PL/SQL-t részletesen a gépes gyakorlatokon vesszük a laborban
és a PL/SQL számonkérése is a laborgyakorlaton gépes környezetben lesz!
   
FIGYELEM! Köv.heti EA katal.kérdés témaköre: 7.EA Rekurzió az SQL-ben
   
   III. ADATBÁZISOK TERVEZÉSE TÉMAKÖR (EA/zh3)
   9.EA: 2016.11.22. --- Relációs adatbázisok tervezése, normalizálás --1.rész 
      >>>  9.előadás.pdf  -- Attribútum halmaz lezártjáig (30.oldalig)
   > Tk.3.3.1-3.3.2. Bevezetés a relációs adatbázissémák tervezésébe
   > Tk.3.1. Funkcionális függőségek
   > Tk.3.2. Funkcionális függőségekre vonatkozó szabályok 
     
FIGYELEM! Köv.heti EA katal.kérdéséhez  9.előadás.pdf 1-17.oldalát kell megtanulni! 
Kérem, hogy a tervezési témakörből is (Tk.3.fejezete) folyamatosan készüljenek fel!
 
   10.EA: 2016.11.29. --- Relációs adatbázisok tervezése, normalizálás --2.rész 
      >>>  9.előadás.pdf  -- Chase-tesztig (folyt. 17.oldaltól 60.oldalig)
   > Folyt. Tk.3.2. Funkcionális függőségekre vonatkozó szabályok 
   > Tk.3.3.3-3.3.4. Boyce-Codd normálforma és BCNF-ra való felbontás
 
FIGYELEM! Köv.heti EA katal.kérdéséhez  9.előadás.pdf 1-51.oldalát kell megtanulni,
és a Tankönyv 3.1-3.3. szakaszait és sématervezési feladatait is tanulmányozzák át!
Kérem, hogy a tervezési témakörből is (Tk.3.fejezete) folyamatosan készüljenek fel!
   
   11.EA: 2016.12.06. --- Relációs adatbázisok tervezése, normalizálás --3.rész 
      >>>  9.előadás.pdf  -- Végig (folyt. 60.oldaltól végig)
   > Tk.3.4. Chase-teszt a felbontás veszteségmentességének ellenőrzésére
   > Tk.3.4. Függőségek megőrzése
   > Tk.3.5. Harmadik normálforma definíciója, 3NF-szintetizáló algoritmus
   > Tk.3.6. Magasabb normálformák, többértékű függőség és a 4NF
   
FIGYELEM! Az utolsó héten a 12.EA-on 30 perces vizsgajegy megajánló
a relációs adatbázis sématervezés témakör Tk.3-4.fejezet anyagából!!! 
 
   12.EA: 2016.12.13.  --- Témazáró, összefoglalás (vizsgatételek) és kitekintés  
      -- 30 perces ZH a relációs adatbázis sématervezés témaköréből
         (alapvetően elméleti ellenőrző kérdésekből írjuk a témazárót, illetve
          olyan egyszerű típusfeladatokból, amiből meg lehet állapítani, hogy
          jól értik-e az alapfogalmakat. alapfogalmak, típus feladatok)  
 
   > ÖSSZEFOGLALÁS
        >>> Vizsgatételek
       -- >> Vissza a lapnak az elejére: Információ a vizsgákról 
     
   > KITEKINTÉS: Adatbázisok kurzusokhoz rövid ismertető és könyvajánló:
     
                 
          -- Ullman-Widom       -- Molina-Ullman-Widom   -- Abiteboul-AlicesBook
     
     --- BSc Adatbázisok-1 témakörben (Hajas Csilla -- Adatbázisok-1 előadás)
     (1) Ullman-Widom 1.-4.fejezet Relációs adatbázisok modellezése
     (2) Ullman-Widom 5.-9.fejezet Relációs adatbázisok programozása
     (3) Ullman-Widom 10-12.fejezet Haladó témák közül csak 10.2 Rekurzió,
           (a többi haladó témakört MSc kurzusokon tanuljuk, lásd lentebb) 
   
      --- BSc Adatbázisok-2 témakörben (Kiss Attila -- Adatbázisok-2 előadása)
     (4) Molina-Ullman-Widom 1.-5.fejezet Adattárolás, Indexstruktúrák
     (5) Molina-Ullman-Widom 6.-7.fejezet Lekérdezések végrehajtása
     (6) Molina-Ullman-Widom 8.fejezet Naplózás, helyreállítás
     (7) Molina-Ullman-Widom 9.fejezet Konkurenciavezérlés. Tranzakciókezelés
     
      --- BSc Adatbázisok-1 kurzus alapvető célja az SQL és PL/SQL megismerése,
          Oracle Online Dokumentation: Az SQL és PL/SQL feladatok megoldásához
          hasznos az SQL Language Reference és a PL/SQL Language Reference
   
     --- BSc Adatbázisok-2 kurzuson további dokumentációknak vesszük hasznát
           >> Alapfogalmak -- Oracle Database Concepts, itt lásd például Indexek
           >> Hangolás -- Oracle Database Performance Tuning Guide
   
     --- MSc Az adatbázisrendszerek elméleti alapjai 
     (8) Relációs algebra, relációs kalkulusok és a Datalog bővebben 
     (9) Relációs sématervezés magasabb normálformák  
     (10) Molina-Ullman-Widom 10.fejezet Osztott adatbázisok
  
     --- MSc Korszerű adatbázisok kurzus (1.része)
     (11) Ullman-Widom 11-12.fej. A félig-strukturált adatmodell 
-- -- --
   A félig-strukturált adatmodell, XML, Xpath, XQuery
   Ullman-Widom Tankönyv 11-12.fejezetek
   EA: Kiss Attila habilitációs XML előadása
   XPath_feladatok.txt >> Ehhez: kolcsonzesek.xml és Xpath-Tester
   XQuery_feladatok.txt  >> itt is: kolcsonzesek.xml és XQuery-Demo
-- -- --    
  
     --- MSc Korszerű adatbázisok kurzus (2.része)
     (12) Gráfadatbázisok
     (13) BigData, Hadoop  
 
     --- MSc Információs rendszerek fejlesztési módszertana kurzus
     (14) Információs rendszerek fejlesztése. Adatmodellezés
   
     --- MSc Térinformatikai adatbázisok kurzus
     (15) Ullman-Widom 10.4.-10.5. Objektum-relációs adatbázisok
     (16) Térinformatikai adatformátumok, térbeli elemzések
   
     --- MSc Adattárházak és adatbányászat kurzus
     (17) Ullman-Widom 10.6.-10.7. OLAP, adattárházak 
     (18) Molina-Ullman-Widom 11.fejezet OLAP, adatbányászat
-- -- --
   Adattárházak és adatbányászat áttekintés 
   Ullman-Widom Tankönyv 10.6.-10.7. OLAP, adattárházak 
   >> Adattárházak (Kiss Attila -- Han 5.ea. előadásfóliák fordítása)
   Molina-Ullman-Widom 11.fejezet Adatbányászat 
   >> Adatbányászat: Bevezetés (Kiss Attila -- Han 1.ea fóliák fordítása)
   >> Adatbányászat: Bevezetés (Ispány Márton -- Kumar 1.ea fordítása)
   --- Adatbányászat magyar nyelven --- Digitális Tankönyvtár:
   >> Bevezetés az adatbányászatba (Tan, Steinbach, Kumar)
-- -- --
     Összefoglalva:
     --- Információs rendszerek MSc szakirány bemutatása: InfoMSc.pdf (Kiss Attila)
     --- MSc Tudáskezelő rendszerek projektlabor --> BSc-sek is csatlakozhatnak!
   
     --- BSc és MSc: IT technológiák és architektúrák nagyvállalati környezetben
          amely ingyenes! kredites! Oracle szeminárium --> Oracle Junior Program
       
   VIZSGATÉTELEK                                                                            
                                                      //Elméleti alapok              //és az SQL
  I.rész: Egyszerű lekérdezések   //Alap relációs algebra     //Egytáblás lekérdezések
 II.rész: Összetett lekérdezések  //R.alg, Datalog, Rekurzió //Többtáblás lekérdezések
 III.: Modellezés és megvalósítás //E/K diagram->rel.mod.  //SQL DDL, DML utasítások
 IV.: Tervezés és programozás    //Függőségek, normálformák //Oracle PL/SQL (PSM)
   
   -- >> Vissza a lapnak az elejére: Információ a vizsgákról 
   -- >> Korábbi vizsgalapok: AB1vizsga jelszavas mappában 
   
-- I. RÉSZ/ELMÉLETI ALAPOK: ALAP RELÁCIÓS ALGEBRA ÉS SQL

 1. [01A] A relációs adatmodell alapjai: Reláció, séma és előfordulás,
     attribútumok és sorok, kulcsok, külső kulcsok, hivatkozási épség.
     (Tankönyv 2.2. szakasz, 22-29.oldal, illetve 2.5. szakaszból részek)
 2. [01B] Relációs algebra--1.:
     Relációs algebrai alapműveletek, kifejezések felépítése, kifejezésfa.
     (2.4. szakasz, 39-61.)
 3. [02A] Relációs algebra--2.:
     Lekérdezések kifejezése alap relációs algebrában és átírása SQL SELECT
     utasításra. Tankönyv 2.4. szakasz feladatai, Tankönyv TERMÉKES példái.
   
-- I. RÉSZ/SQL:  EGYSZERŰ (EGYTÁBLÁRA VONATKOZÓ) LEKÉRDEZÉSEK 

 4. [02B] Relációsémák definiálása SQL-ben, a CREATE TABLE utasítás,
     megszorítások, kulcsmegszorítás, hivatkozási épség megadása,
     PRIMARY KEY, UNIQUE, REFERENCES. (2.3. és 2.5. szakasz, 30-35.)
 5. [03A] Az SQL adatbázisnyelv 6.1. Select--1.
     Egyszerű lekérdezések, SQL SELECT egy relációra: WHERE záradék
     feltételének megadására, speciális értékekre, adattípusokra és logikai
     kifejezések megadására milyen lehetőségek vannak? Hiányzó értékek,
     műveletek nullértékekkel, az ismeretlen (unknown) igazságérték,
     logikai műveletek eredménye háromértékű logika esetén. 
     Az eredmény rendezése: ORDER BY záradék. (6.1.szakasz, 258-271.)
 6. [03B] Az SQL adatbázisnyelv 6.4. Select--2.
    Ismétlődések megszüntetése: DISTINCT (6.4.1. szakasz 298.o.)
    Függvények használata a lekérdezésekben, sorfüggvények (típusok).
    Csoportosítás: GROUP BY záradék, összesítő függvények, nullértékek
    kezelése, csoportokra vonatkozó feltételek: HAVING  záradék.
    A záradékok sorrendje. (6.4.3-6.4.7 szakaszok, 300-305.)
  
-- II. RÉSZ/SQL: ÖSSZETETT (TÖBB TÁBLÁRA VONATKOZÓ) LEKÉRDEZÉSEK 

 7. [04B] Az SQL adatbázisnyelv 6.2. Select--3.
     Többrelációs lekérdezések, direkt szorzat és összekapcsolások a
     FROM záradékban. Attribútumok megkülönböztetése, sorváltozók.
     A lekérdezések kiértékelésének szabvány szerinti alapértelmezése. 
     (6.2.1-6.2.4. szakaszok, 273-280.)
 8. [04B] Az SQL adatbázisnyelv 6.2., 6.4. Select--4.
     Halmazműveletek az SQL-ben: UNION, INTERSECT, EXCEPT .
     Ismétlődések kezelése halmazműveletek során: UNION és UNION ALL,
     INTERSECT [ALL], EXCEPT [ALL]. (6.2.5., 280-281. és 6.4.2., 298-299.)
 9. [04C] Az SQL adatbázisnyelv 6.3. Select--5.
     Összekapcsolások és külső összekapcsolások az SQL FROM záradékban.
     (6.3.6.-6.3.8. szakaszok, 290-295.) 
10. [05A] Az SQL adatbázisnyelv 6.3. Select--6.
     Alkérdések a FROM listán, a WHERE és a HAVING záradékokban,
     korrelált alkérdések alakja, kiértékelése.
     (6.3.1.-6.3.5. szakaszok, 284-290.)
    
-- II. RÉSZ/ELMÉLETI ALAPOK: REL.ALGEBRA ÉS DATALOG, REKURZIÓ
11. [04A] A kiterjesztett relációs algebra
     Relációs algebrai műveletek kiterjesztése multihalmazokra.
     További algebrai műveletek, ismétlődések megszüntetése,
     az ismétlődések kezelése halmazműveletek során, összesítések
     (aggregáló függvények), csoportosítás, kiterjesztett vetítés,
     rendezés,  külső összekapcsolások (5.1.-5.2. szakasz, 217-236.)
12. [05B] Relációs algebra--3: komplex lekérdezések kifejezése
      az alap és kiterjesztett relációs algebrában és SQL SELECT
      utasításával,  a SELECT utasítások kiértékelése, különböző
      megoldások hatékonysági összevetése, optimalizálási kérdések 
13. [06A] Logika a relációkhoz. Datalog alapjai. Relációs algebra
      és a Datalog, példák átírásra. (5.3.-5.4. szakasz, 236-253.)
14. [06B] Rekurzió az SQL-99-es szabványban:
      Az Eljut feladat (Tankönyv példája, az előadáson is szerepelt).
      Az SQL-99-es szabvány WITH RECURSIVE utasítása (záradék).
      Az Eljut feladat megoldása SQL-ben. (10.2. szakasz, 467-474.)
      
-- III. RÉSZ/ELMÉLETI ALAPOK: E/K MODELL ÉS ÁTÍRÁSA RELÁCIÓKRA
15. [07B] Adatbázis-kezelő rendszerek áttekintése, ACID-tranzakciók
      (1.2. szakasz 5-13.oldal)
16. [08A] Az egyed-kapcsolat (E/K) modell--1.
      Egyedhalmazok attribútumok, kapcsolatok. E/K modell, séma, előfordulás,
      diagram. E/K-kapcsolatok típusai, szerepek, kapcsolatok attribútumai.
      Alosztályok, "az-egy" ("isa") kapcsolat és jelölése. (4.1. szakasz, 133-147.)
17. [08A] Az egyed-kapcsolat (E/K) modell--2.
      Megszorítások modellezése, kulcsok és a kulcsok jelölése az E/K modellben,
      hivatkozási épség, megszorítások. Gyenge egyedhalmazok fogalma, jelölése.
      (4.3.-4.4. szakaszok, 157-165.)
18. [08B] Az egyed-kapcsolat (E/K) modell--3.
      Az E/K diagram átírása relációs modellé. Osztályhierarchia ("isa") átalakítása
      relációkká, a három megközelítés összehasonlítása: E/K-típusú, objektumelvű,
      és nullértékek használatával való átírás. (4.5-4.6. szakaszok, 165-181.)
            
-- III. RÉSZ/SQL: MEGVALÓSÍTÁS -- SQL DDL és SQL DML UTASÍTÁSOK

19. [07A] Táblák tartalmának megváltoztatását szolgáló SQL DML utasítások:
      INSERT, DELETE, UPDATE (6.5 szakasz, 307-312.)
20. [09A] Megszorítások az SQL-ben: kulcsok, idegen kulcsok és hivatkozási
      épség. A hivatkozási épség fenntartására vonatkozó lehetőségek
      megadása SQL-ben a hivatkozott táblára vonatkozó módosítások miatt.
      Megszorítások ellenőrzésének késleltetése. (7.1. szakasz, 329-337.)
21. [09A] Attribútumokra és sorokra vonatkozó megszorítások: NOT NULL,
      CHECK. Megszorítások elnevezése. Önálló megszorítások létrehozása és
      használata. Triggerek. (7.2-7.4. szakasz, 338-360.)
22. [09B] Nézettáblák létrehozása és használata az SQL-ben, adatok módosítása
      nézettáblákon keresztül. Nézettáblákra vonatkozó "helyette" (istead-of)
      típusú triggerek. Tárolt nézettáblák. (8.1-8.2., 361-370. és 8.5., 381-388.)
         
-- IV. RÉSZ/SQL: SQL/PSM SZABVÁNY A GYAKORLATBAN: ORACLE PLSQL
23. [10A] SQL programnyelvi bővítése. Alapok, végrehajtható utasítások,
       feltételes utastások, ciklusok, SQL DML utasítások a programban.
      Az Eljut feladat (lásd 11.tétel) iterációs megoldása SQL/PSM-ben
      (az előadáson szerepelt) vagy az Oracle PL/SQL gyakorlat alapján. 
24. [10B] SQL lekérdezések használata programozási környezetben. 
      Az SQL utasítások és a programozási nyelvek összekapcsolásának
      a típuseltérés problémája. Egyetlen sort eredményező lekérdezések és
      az osztott változók használata. Sorhalmazt eredményező lekérdezések
      és a kurzorok (CURSOR) definiálása és a használata, FETCH utasítás.
      Kurzor FOR ciklus (PSM: Tankönyv 9.3-9.3.7. szakasz, 401-412.,
      9.4.4-9.4.6. szakasz, 421-425., vagy Oracle PL/SQL gyak. alapján)
25. [10C] Sémában tárolt eljárások és függvények létrehozása, használata,
      csomagok, hiba- és kivételkezelés, triggerek. (Tankönyv 9.4.1-9.4.3.
      416-421., 9.4.7-9.4.8., 415-431. vagy Oracle PL/SQL gyak. alapján) 
  
-- IV. RÉSZ/ELMÉLETI ALAPOK -- RELÁCIÓS SÉMATERVEZÉS, NORMÁLFORMÁK
26. [11A] Relációs adatbázisok tervezési elmélete--1.
      Funkcionális függőség, kulcs, szuperkulcs, függőségi rendszerek, implikáció
      (következés) és levezetés definíciója, szétvághatósági és összevonási szabály.
      Attribútumhalmaz lezárása és algoritmusa, levezetési szabályok teljes halmaza
      (az ún. Armstrong-axiómák), funkcionális függőségi rendszerek ekvivalenciája,
      függőségi halmazok lezárása, minimális bázis (vagy más néven minimális fedő).
      Függőségi rendszerek vetítése. (3.1.-3.2. szakaszok, 69-87.oldal)
27. [11B] Relációs adatbázisok tervezési elmélete--2.
      Anomáliák funkcionális függőségek miatt. Relációk felbontása, dekompozíciója.
      Boyce-Codd normálforma, BCNF dekompozíció algoritmusa, BCNF-ra
      való felbontás tulajdonságai. (3.3.szakasz, 90-97. oldal.)
28. [12A] Relációs adatbázisok tervezési elmélete--3.
      A felbontásra vonatkozó három elvárás. Veszteségmentes összekapcsolás és
      Chase-teszt a veszteségmentesség ellenőrzésére. Függőségek megőrzése.
      (3.4. szakasz, 98-106.oldal)
29. [12B] Relációs adatbázisok tervezési elmélete--4.
      Harmadik normálforma (elsődleges attribútum és 3NF definíciója),
      a minimális függőségi rendszer (minimális bázis, vagy minimális fedő),
      3NF felbontás szintetizáló algoritmus, 3NF felbontás tulajdonságai.
      (3.5. szakasz, 108-111.oldal)
30. [13A] Relációs adatbázisok tervezési elmélete--5.
      Többértékű függőségek (TÉF) definíciója, TÉF-ekre vonatkozó szabályok.
      Negyedik normálforma (4NF) és 4NF-ra való bontás algoritmusa.
      Chase-algoritmus kiterjesztése TÉF-ekre. (3.6-3.7. szakasz, 112-129.)