ELTE, 2023/2024. tanév I. félév  [dr. Hajas Csilla] 
  IT-18KAB ADATBÁZISOK EA [középisk.info.tanár]
 
 
 
 
  Adatbázisok EA időpontja: Szerda 10:00-11:30 D-3.306 Analízis/terem.
  A 2023/24-es tanév I. félévében az oktatás személyes jelenléttel zajlik.
  Kurzus weboldala a Canvason: https://canvas.elte.hu/courses/38444
  
  A kurzus célja: Adatbázis-kezelő rendszerek felépítése. Adatmodellek. 
  Relációs adatmodell, adatbázis sématervezés, függőségek, normalizálás.
  Egyed-kapcsolat modell, E/K diagram átalakítása relációs sémákká.
  Az SQL, mint a relációs adatbázis-kezelő rendszerek lekérdező nyelve,
  lekérdezések relációs algebrában és az SQL-ben, SQL SELECT utasítás,
  Oracle SQL a gyakorlatban, SQL DDL és DML utasításai, tranzakció-kezelés.
  Tankönyv: Ullman-Widom: Adatbázisrendszerek. Alapvetés. 2.kiad., 2008. 
   

  ADATBÁZISOK előadások anyaga   
  Tankönyv: Ullman-Widom: Adatbázisrendszerek. Alapvetés.
  [01] 09.13. Adatmodellek, relációs modell, E/K modell 1.ea.pdf-/1
  [02] 09.20. E/K diagr.lekép.rel. 1.ea.pdf-/2; Rel.algebra 2.ea.pdf-/1
  [03] 09.27. SQL SELECT 2.ea.pdf-/2; Példák rel.alg<->SQL 4.ea.pdf
  [04] 10.04. Kiterjesztett relációs algebra, csoportosítás 5.ea.pdf
  [05] 10.11. SQL Alkérdések, külső összekapcsolások 3.ea.pdf
  [06] 10.18. SQL DML utasítások és tranzakció-kezelés 6.ea.pdf-/1
  [07] 10.25. SQL DDL utasítások, táblák és megszorítások 6.ea.pdf-/2
         --- 2023. okt.30-tól nov.5-ig őszi szünet
  [08] 11.08. SQL DDL nézettáblák, WITH munkatáblák, rekurzió 7.ea.pdf
  [09] 11.15. --- Nem lesz a vizsgán: SQL PSM, Oracle PL/SQL [8.ea.pdf]
  [10] 11.22. Adatbázis-kezelő rendszerek, lekérd.végrehajtása 9.ea.pdf
  [11] 11.29. Relációs sématervezés, Függőségek elmélete 10.ea.pdf
  [12] 12.06. Rel.sématervezés, Normalizálás, VM BCNF: 11.ea.pdf
  [13] 12.13. Rel.sématervezés, Normalizálás, 3NF, 4NF: 12.ea.pdf
  [Vizsga] 12.19. Kedd 9 órától 2-710 PC10 labor Adatbázisok vizsga
    

  Vizsganapok  meghirdetése, vizsgára való jelentkezés: NEPTUN 
  Jelenléti szóbeli vizsga: A csoportnak kell bemutatnia 2x15 percben
  1.rész: saját készítésű feladat (tervezés, megvalósítás) bemutatása
  2.rész: plusz kiegészítő két kérdés az előadások két fő témaköréből: 
      a.) SQL: Lekérdezések (rel.algebra, SQL SELECT), SQL részei
      b.) Tervezés: E/K diagram, Relációs sématervezés, normalizálás
     
  Vizsgatételek      
  a.) SQL: Lekérdezések (rel.algebra, SQL SELECT), SQL részei [2ea-tól 9ea-ig]   
   
  A1. Egyszerű egytáblás lekérdezések.
       Az alap relációs algebra unér műveletei: vetítés és kiválasztás.  
       SQL SELECT egy relációra: WHERE záradék szűrési feltétel megadása,
       típusok, speciális értékek, műveletek nullértékekkel, az ismeretlen
      (unknown) igazságérték, logikai műveletek háromértékű logika esetén. 
       (Tankönyv 2.4.szakasz, 39-44.o. és 6.1.szakasz, 258-269.o.) 2.ea.pdf
   
  A2. Többtáblás lekérdezések.
       Az alap relációs algebra binér műveletei: természetes összekapcsolás,
       direkt szorzat és egyéb szorzás jellegű műveletek, halmazműveletek.
       SQL SELECT több relációra: FROM záradék, sorváltozók használata,
       attribútumok megkülönböztetése. Halmazműveletek az SQL-ben.
       Az SQL lekérdezések kiértékelésének szabvány szerinti alapértelmezése. 
       (Tankönyv 2.4.szakasz, 39-61.o. és 6.2.szakasz, 273-281.o.) 2.ea.pdf
 
  A3. Alkérdések.
        Alkérdések használata az SQL SELECT utasítás FROM listán (inline nézet),
       és a WHERE és HAVING záradékokban. Korrelált alkérdések kiértékelése.
       (Tankönyv 6.3.szakasz, 284-290.o.) 3.ea.pdf
   
  A4. További műveletek, összesítések, csoportosítás.
       Kiterjesztett relációs algebra. Relációkra (mint multihalmazokra) vonatkozó
       műveletek, a relációk egészére vonatkozó műveletek, csoportosítás, stb.
       ismétlődések megszüntetése, ismétlődések kezelése halmazműveletek során. 
       SQL SELECT utasítás csoportosítás: GROUP BY záradék, összesítő függvények
       és nullértékek kezelése, csoportokra vonatkozó feltételek: HAVING  záradék.
       Külső összekapcsolások. Az eredmény rendezése: ORDER BY záradék. 
       (Tankönyv 5.1.-5.2.szakasz, 217-235.o., és 6.4.szakasz, 300-305.o.) 5.ea.pdf
 
  A5. Táblák tartalmának megváltoztatása.
       SQL DML utasítások: INSERT, DELETE, UPDATE. Tranzakciók az SQL-ben. 
      (Tankönyv 6.5.-6.6.szakasz, 307-312.o.) 6.ea.pdf
   
  A6. Relációsémák és megszorítások definiálása SQL-ben.
      SQL DDL utasítások, create table, kulcsok, idegen kulcsok, hivatkozási épség, 
      a hivatkozási épség fenntartására vonatkozó lehetőségek megadása a
      a hivatkozott tábla módosítása miatt. NOT NULL feltétel. Attribútumokra
      és sorokra vonatkozó CHECK (feltételek). Megszorítások módosítása.  
      (Tankönyv 2.1.-2.3.szakasz,17-39.o. és 7.1.-7.3.szakasz, 329-347.) 6.ea.pdf
   
  A7. Adatbázis-kezelés alapfogalmak.
      Adatbázis-kezelő rendszerek felépítése, fő részei és feladatai, szereplői. 
      Nézettáblák létrehozása és használata az SQL-ben. Jogosultságok.
      Tranzakció-kezelés alapjai (ACID). Indexek, lekérdezések, optimalizálás.  
      (Tankönyv 1.fejezete, 1-13.o., és 8.fejezete, 329-360.o.) 7.ea.pdf és 9.ea.pdf
   
  b.) Tervezés: E/K diagr, UML, Normalizálás, Rel.sématervezés [1.ea, és 10-12.ea]  
   
  B1. 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. 
      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.
      (Tankönyv 4.1.-4.4. szakaszok, 133-165.) 1.ea.pdf
   
  B2. Az egyed-kapcsolat (E/K) modell--2.
      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.
     (Tankönyv 4.5-4.6. szakaszok, 165-181.) 1.ea.pdf
   
  B3. 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. 
      (Tankönyv 3.1.-3.2. szakaszok, 69-87.oldal) 10.ea.pdf
   
  B4. 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.
     (Tankönyv 3.3.szakasz, 90-97. oldal.)  11.ea.pdf
   
  B5. 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.
      (Tankönyv 3.4. szakasz, 98-106.oldal)  11.ea.pdf
   
  B6. 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.
      (Tankönyv 3.5. szakasz, 108-111.oldal) 12.ea.pdf
   
  B7. 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.
     (Tankönyv 3.6-3.7. szakasz, 112-129.) 12.ea.pdf