Témák, 2017. tavasz

Ezen az oldalon a 2017. tavaszi kurzuson elhangzott bővített tematika szerepel.

Előadó: Marton József, marton (KUKAC) db.bme.hu, IL.109.

Tematika

  • 1. előadás (1. hét):
    • bevezető beszélgetés: kapcsolódási pontok és fontos szempontok összegyűjtése
  • 1. gyakorlat, 2. előadás (1-2. hét):
    • adatbázis, adatbáziskezelő rendszer: alapvetések, definíciók, tulajdonságok, felhasználók, rétegmodell
    • a 3-rétegű modell, logikai és fizikai adatfüggetlenség a 3-rétegű modellben
    • adatmodellezés célja, adatmodell
    • az egyed-kapcsolat (EK) modell alapfogalmai, alapelemei (egyed, kapcsolat, egyedtípus, kapcsolattípus)
  • 2. gyakorlat (2. hét):
    • EK-modell: bináris kapcsolattípus kardinalitása
    • az EK-modell további elemei: specializáció, egyedtípusok kulcsai, gyenge egyedhalmaz, gyenge kapcsolattípus
    • EK-modellezési recept
    • feladatok megoldása, gyakorlás
  • 3. előadás (3. hét):
    • reláció definíciója, a halmaztulajdonság
    • a relációs adatmodell formalizmusa: a relációs séma.
    • az EK modell alapelemeinek átírása a relációs modell formalizmusába (egyedtípus, tulajdonságtípus, bináris kapcsolattípusok).
    • a relációs sémák kulcsa, szuperkulcsa, idegen kulcsa
    • Bináris kapcsolattípusokból létrejövő relációs sémák kulcsai, idegen kulcsai
  • 3. gyakorlat (3. hét):
    • A gyenge egyedtípus átírása relációs sémává. Kulcsok, idegen kulcsok a létrejövő relációs sémákban.
    • A specializáció átírása relációs sémává. Kulcsok, idegen kulcsok a létrejövő relációs sémákban.
    • Kiegészítés az EK modellben szereplő specializációhoz: mikor van értelme felvenni specializált egyedtípust?
    • Gyakorlat: komplex EK-diagram átírása relációs sémákká.
    • kérédsek az előző gyakorlat otthoni feldolgozásra adott feladataival kapcsolatban + azok kapcsán újabb gyakorlatok a rellációs sémává átírásra
  • 4-5. előadás. 4-5. gyakorlat (4-5. hét):
    • a relációs adatmodell műveletei: a relációalgebra műveletei (projekció, szelekció, unió, halmazkülönbség, metszet)
    • relációalgebra: a Descartes-szorzat (különböző relációk között)
    • relációalgebra: önmagával vett Descartesz-szorzat: szélsőérték-keresés, "csak 1", "legalább 2" jellegű kérdések megválaszolása
    • relációalgebra: a természetes illesztés
    • a relációalgebrai kifejezések részeredményeinek követése (számítógépes demo)
    • gyakorlatok a relációalgebra műveleteire
  • 6. előadás, 6. gyakorlat (6. hét):
    • Gráfelméleti alapok: motiváció, illusztráció, bevezetés
    • irányított és irányítatlan gráfok, DAG, topologikus rendezés
    • irányított nemnegatív élsúlyú, összefüggő gráfban egy csúcsból az összes elérhető csúcsba vezető legkisebb összsúlyú út megtalálása
    • topologikus rendezés, PERT módszer
    • gráfadatbázis illusztráció
  • 7. előadás (7. hét):
    • XML alapok
    • félstruktúrált adatábrázolás XML-lel
    • kitekintés: gráf-alapú adatmodellezés
  • 8-9-10. előadás (8-9-10. hét):
    • relációs sémák tervezése: a módosítási, beszúrási és törlési anomália (bevezetés)
    • sémafelbontás (előbb csak intuitívan)
    • Kitekintés: OLAP és OLTP rendszerek
    • redundáns adatelemek, következtetési szabályok példákon: tárlat adatai. (ad-hoc ötletelés, majd az FF-alapú redundancia szabálya, még csak illusztrálva)
    • redundancia, funkcionális függés, funkcionális függés-alapú redundancia
    • atomi és összetett attribútumok
    • 0NF és 1NF alakú sémák
    • relációs séma szuperkulcsa, kulcsa, elsődleges és másodlagos attribútumai
    • 2NF alakú sémák
    • sémafelbontás, veszteségmentes sémafelbontás
    • az anyagot a jegyzet Relációs adatbázisok logikai tervezése c. fejezetéből az alábbi szakaszok fedik le: Tervezés sémadekompozícióval/Anomáliák; Tervezés sémadekompozícióval/Funkcionális függőségek (Armstrong axiómái, az axiómák következményei és a függéshalmaz lezárása nélkül); Tervezés sémadekompozícióval/Relációs sémák normálformái: 0NF, 1NF, 2NF; Tervezés sémadekompozícióval/Veszteségmentes felbontás (lossless decomposition);
    • BCNF alakú sémák
    • funkcionális függés alapú redundancia csökkentése, kiküszöbölése
    • ami kimaradt (érdeklődőbbeknek)
  • 11-12. előadás (12, 14. hét):
    • motivációs példa: a fizikai adatbázis szervezése: lekérdezés gyorsítása (a laboron került sorra)
    • fizikai szervezés: feltételezések, egy blokk, a heap szervezés, keresési algoritmusok (lineáris és bináris keresés).
    • kitekintés: változó hosszúságú rekordok, változó hosszúságú mezők kezelése a valóságban
    • Heap szervezés bináris kereséssel, keresési kulcs eloszlás figyelembevételével történő keresés
    • fizikai szervezés: index koncepciója
    • fizikai szervezés: sűrű indexek
    • fizikai szervezés: ritka indexek
    • többszintes ritka index: a B* fa

 

SQL labor

  • 1. alkalom (7. hét):
    • a relációalgebrai kifejezések kiterjesztett kanonikus alakja
    • kiterjesztett kanonikus alakú relációalgebrai kifejezések átírása SQL lekérdezésre
    • az Oracle SQL Developer használata lekérdezések futtatására
    • egyszerűbb SQL utasítások a relációalgebrai kifejezések kiterjesztett kanonikus alakjából kiindulva
    • lekérdezések feladatsor SQL nyelvű megoldásai (kezdés)
    • halmaztulajdonság kérdései az SQL select eredményhalmazokban
    • konzultált önálló gyakorlás
  • 2. alkalom (8. hét):
    • csak1, legalább 2 jellegű feladatok, szélsőérték keresés SQL-lel
    • rendezés: ORDER BY
    • konzultált önálló gyakorlás
    • adatbázisobjektumok áttekintése: tábla, nézet, sorszámgenerátor, trigger, tárolt programrészletek (a pénteki csoportban később került rá sor)
  • 3. alkalom (9. hét):
    • dual tábla: konverzió, nyelvi beállítások
    • külső illesztések (left join, right join, full outer join)
    • group by, group by+left join kombinációja, min/max/avg/count függvények
    • konzultált önálló gyakorlás
  • 4. alkalom (10. hét):
    • SQL függvények, dokumentációs és szintaxisdiagram használata
    • demo táblák megkeresése az adatbázisban: a sajáttól különböző adatbázisséma elérése
    • Adatbegismerés SQL-lel, ennek révén ismétlés és újdonságok pl. rendezés terén
    • csoportosítás: group by grouing sets
    • SQL select írási konvenciók, avagy az 1=1 kérdése
    • konzultált önálló gyakorlás
  • 5. alkalom (11. hét):
    • Adatbázisséma tervezése: EK-modell bolti termékértékesítés és számlázásra
    • EK modell átalakítása relációs sémákra, kulcsok, idegen kulcsok
    • SQL Developer grafikus felületén táblák létrehozása, kényszerek (primary key, uniqie, check)
    • adatbázistáblában kulcsok fajtái: mesterséges kulcs, üzleti kulcs
    • INSERT utasítás: drag-and-drop támogatással az SQL Developerben
  • 6. alkalom (12. hét):
    • adatbázis táblák létrehozása SQL utasításokkal: az SQL DDL nyelv példáinak olvasási szintű értelmezése
    • SQL INSERT, UPDATE és DELETE utasítások példákkal illusztrálva
    • adatimport táblázatkezelő fájlokból
    • adatok frissítése import alapján: a join update művelet
  • 7. alkalom (13. hét):
    • riportkészítés SQL Developerben
    • táblázatos és diagram-formájú riportok
    • parent-child riportok
    • kapcsolat a parent riporthoz
  • 8. alkalom (14. hét):
    • webes alkalmazáskészítés Oracle Application Express 5 (Apex) környezetben: az alkalmazás felépítése: oldal (page), régió (region), beviteli mezők/változók (item)
    • alkalmazás létrehozása, bejelentkezés
    • táblázatos és diagram-formájú riportok létrehozása
    • űrlapok létrehozása