ELTE, 2020/2021. tanév I. félév  [dr. Hajas Csilla]
  IT-13KAB ADATBÁZISOK EA+GY [oszt.info.tanár]
 
 
 
  
  Gyakorlat: Hétfő  10:00-11:30  inf-es Teams | D.3-105 Grafika labor
  Előadás:
  Péntek 08:15-09:45  inf-es Teams | D.3-105 Grafika labor
   

  ADATBÁZISOK  gyakorlatok anyaga  
  Gyakorlati követelmények: Három ZH: 5.GY; 9.GY; 13.GY (CANVAS)
  ORACLE ADATBÁZIS szerverek elérése -->> adatbazis_eleres.html
  Példa-táblák létrehozására a szkriptek -->> adatbazis_scriptek.html
  --- I. témakör Alap relációs algebra, SELECT FROM WHERE és hz.műv 
  [01] 09.07. 1.gyak (egy táblás lekérdezések Oracle sqldeveloper)
  [02] 09.14. 2.gyak (egy táblás lekérd, sorfv-ek) Példatár:1.fej.
  [03] 09.21. 3.gyak (alap rel.algebra, több táblás lekérd, hz.műv)
  [04] 09.28. 4.gyak (SQL több táblás lekérd, összekapcsolások)
  [05] 10.05. I.ZH  CANVAS 
  --- II. témakör Kiterj.rel.alg. és SELECT többi záradéka, SQL DML
  [06] 10.12. 6.gyak (összesítő fv-ek, csoportosítás) Példatár:2.fej.
  [07] 10.19. 7.gyak (kit.rel.algebra, SQL alkérdések) Példatár:3.fej.
      -- 10.26. őszi szünet (2020. október 26-31-ig)   
  [08] 11.02. 8.gyak (alkérdések, SQL DML utasítások) Példatár:5.fej.
  [09] 11.09. II.ZH  CANVAS
  --- III. témakör Adatbázis-kezelő rendszerek alapjai, SQL részei 
  [10] 11.16. 10.gyak (SQL DDL, táblák, megszorítások, nézetek)
  [11] 11.23. 11.gyak (SQL indexek, sémaobjektumok, adatszótár)
  [12] 11.30. 12.gyak (SQL lekérdezések végrehajtási tervek)
  [13] 12.07. III.ZH  CANVAS
  --- Gyakorlati jegyek zárása, három SQL ZH-ból az egyik ZH javítható
  [pót/javZH]  12.14. Hétfő 10:00-11:30 CANVAS
  --- Előadások: E/K diagr, Relációs sématervezés -> Szóbeli vizsgán
    

  ADATBÁZISOK előadások anyaga   
  Tankönyv: Ullman-Widom: Adatbázisrendszerek. Alapvetés. 2.kiad., 2008. 
  [01] 09.11. (Tervezés, Relációs és E/K modell alapjai) 1.ea.pdf/1.rész
  [02] 09.18. (Tervezés, E/K diagram -> rel.sémák) 1.ea.pdf/2.rész 
      -- 09.25. péntek Tanítási szünet (UNESCO Egyetemi Sport Napja)
  [03] 10.02. (Relációs algebra és SQL SELECT utasítás) 2.ea.pdf
  [04] 10.09. (SQL lekérdezések, alkérdések, összekapcs.) 3.ea.pdf
      -- összef.: gyak.példák az I.ZH-ra (2-3.ea témakörből) 4.ea.pdf
  [05] 10.16. (Kiterjesztett relációs algebra, csoportosítás) 5.ea.pdf
      -- 10.23. péntek Tanítási szünet (október 23)
      -- 10.30. őszi szünet (2020. október 26-31-ig)   
  [06] 11.06. (SQL DML, tranz, SQL DDL, táblák, constr) 6.ea.pdf
  [07] 11.13. (SQL DDL nézetek, WITH segédt, indexek) 7.ea.pdf
      -- kimarad: SQL/PSM [ 8.ea.pdf ]; Tervezés után jön: 9.ea(lent) 
  [08] 11.20. (Relációs sématervezés-1, Függőségek) 10.ea.pdf
  [09] 11.27. (Relációs sématervezés-2, Normálformák) 11.ea.pdf
  [10] 12.04. (Relációs sématervezés-3, Normalizálás) 12.ea.pdf
  [11] 12.11. (DBMS, Adatbázis-kezelés összefoglalás) 9.ea.pdf
   
  Vizsganapok  meghirdetése, vizsgára való jelentkezés: NEPTUN 
  Szóbeli vizsga: MS TEAMS MEET-ben két db 15 perces részből áll:
  1.rész: saját készítésű tervezési feladat+megvalósítás bemutatása
  2.rész: 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