Adatbázisok 1. gyakorlat tematika 2021/2022 II. félév, 12. és 13. csoport ========================================================================= 1. gyakorlat ------------ Követelmények ismertetése. (ab1_kovetelmeny.txt) A relációs adatmodell. Alapfogalmak: reláció, tábla, sor, oszlop, attribútum, séma, előfordulás. Az ABKR komponensei, kliens-szerver. Kapcsolódás az adatbázishoz. Információk -> http://people.inf.elte.hu/nikovits/adatbazis_eleres.txt Az adatbázisok elérése az ELTE-n kívülről -> ssh_help.txt, ssh_tunnel.pdf, ssh_SqlDeveloper.pdf Kapcsolódás SQLPLUS programmal a pandora gépről. (login.sql) SQL utasítások futtatása. (SQL01_bevezetes.pdf) Adatok lekérdezése, lekérdező nyelvek: SQL. (SQL02_select_alap.pdf) NULL érték; 3 értékű logika (SQL03_where_feltetel.pdf) A SZERET relációra és a DOLGOZO relációra vonatkozó egyszerű lekérdezések. (feladat1.txt) 2. gyakorlat ------------ Lekérdezések megadása relációs algebrában és SQL-ben. (SQL04_set_operators.pdf) Alapműveletek és származtatott műveletek. A Descartes szorzat és a természetes összekapcsolás kifejezése a másik segítségével. A Dolgozo, Osztaly táblákra vonatkozó lekérdezések. SELECT-FROM-WHERE + halmazműveletek. (feladat2.txt) A relációs algebra, mint lekérdezőnyelv. A relációs algebrai műveletek: vetítés, kiválasztás, halmazműveletek, szorzat, összekapcsolások. (UW_24_RelAlg.pdf) A RelaX felülettel kapcsolatos segédanyagok: (Relax*.*) További gyakorlásra szolgáló feladatok: Hajok, Csatak, Kimenetelek, Hajoosztalyok (feladat1_hajok.pdf) Relációs algebra kalkulátor -> RelaX -------------------------------------- https://dbis-uibk.github.io/relax/calc/local/uibk/ 3. gyakorlat ------------ Az Oracle által ismert adattípusok. (Oracle_tipusok.txt) Beépített függvények használata. (SQL05_fuggvenyek.pdf) A legfontosabb Oracle függvények. (Oracle_fv.pdf) Az összes Oracle függvény -> dokumentáció: Oracle Database SQL Language Reference A relációs algebra és az SQL kapcsolata. (UW_relAlg_SQL.pdf) (feladat3.txt) 4. gyakorlat ------------ Csoportképzés, csoportok szűrése GROUP BY, HAVING. (SQL06_csoportok.pdf) A kiterjesztett relációs algebra műveletei. Multihalmazok, kiterjesztett vetítés, ismétlődések megszüntetése, csoportok képzése, rendezés. (UW_51_Multihalmaz.pdf, UW_52_kiterj_alg.pdf) A fentiek kifejezése kiterjesztett relációs algebrában és SQL-ben. (UW_relAlg_SQL2.pdf, Rel_algebra_help.pdf) (feladat4.txt) 5. gyakorlat ------------ JOIN műveletek fajtái, külső join (SQL07_osszekapcsolas.pdf). Alkérdések (SQL08_alkerdes1.pdf, SQL08_alkerdes2.pdf) Relációs algebrai műveletek összefoglalása. (Rel_algebra_help.pdf) Nehezebb relációs algebrai és SQL feladatok. (feladat5.pdf) 6. gyakorlat ------------ Alkérdések és nézettáblák kapcsolata. (nezet_peldak.txt) A táblák adatainak módosítása. Az SQL nyelv DML (Data Manipulation Language) utasításai: INSERT, DELETE, UPDATE utasítások. Tranzakciókezelés az adatbázisban. (SQL09_DML.pdf) (feladat6_DML.txt) További gyakorló feladatok újabb táblákra. (feladat_gyakorlo.txt) 7. gyakorlat <-- 1. zh (2022.03.23) ------------ A zh jelenléti formában lesz megtartva. Ha valaki beteg lesz a zh napján, feltétlenül írjon erről egy emailt még a zh-t megelőzően. A lehetséges pótlást mindenkivel külön-külön fogom egyeztetni, de a pótlás is jelenléti formában lesz. A zh-ban az első 6 gyakorlaton szereplő feladatokhoz hasonlóak lesznek. SQL utasítások futtatása Oracle környezetben (mindenki ellenőrizze a jelszavát mindkét adatbázisban), relációs algebrai lekérdezések megadása a RelaX felületen, relációs algebrai kifejezések eredményének kiszámítása papíron, lekérdezések átalakítása SQL és relációs algebra között. 8. gyakorlat ------------ ZH feladatok és javítási lehetőségek megbeszélése. A PL/SQL nyelv alapjai és legfontosabb konstrukciói. A programblokk szerkezete, blokkok egymásba ágyazása, deklaráció, érvényesség, változók, képernyőre írás, adatok bekérése a felhasználótól, függvények, procedúrák. Segédanyagok -> lásd http://people.inf.elte.hu/nikovits/AB1/PLSQL (pl_*.txt, PLSQL*.pdf) Oracle dokumentáció -> Database PL/SQL Language Reference című könyv. (feladat7_plsql.txt) 9. gyakorlat ------------- A PL/SQL nyelv további lehetőségei. (SQL utasítások a pl/sql programban, SELECT, INSERT, DELETE, UPDATE, tranzakciókezelés, kurzor használata, rekord, asszociatív tömb.) (feladat8_plsql.txt) 10. gyakorlat ------------- A PL/SQL nyelv további lehetőségei. (Módosítás kurzor sorain végighaladva, hiba és kivételkezelés.) WITH utasítás sorainak feldolgozása kurzorral. (pl_03_kurzor.txt) (feladat9_plsql.txt) 11. gyakorlat ------------- Rekurzív lekérdezések megadása Oracle-ben: START WITH és CONNECT BY (SQL_12_connect_by.pdf, ab1_connect_by.txt). (feladat10_plsql.txt) PL/SQL gyakorlás, az eddigiek átismétlése. Kérdések megválaszolása a zh előtt. 12. gyakorlat (2. zh) --> május 4. ------------- A zh jelenléti formában lesz megtartva. A zh-n csak plsql programok lesznek, procedúrák, illetve függvények. A feladatok hasonlóak lesznek a 7-10 feladatsorokban szereplőkhöz. 2 feladat megoldása elegendő a 2-es jegyhez, 3 feladat a 3-ashoz, stb. Részpontszám csak kivételes esetben szerezhető, ha az alprogram outputja kis hibát tartalmaz. Olyan program, amely nem fut le, 0 pontot ér. A feladatokból 1 a honlapomra feltett pl/sql feladatokból lesz kiválasztva (7-10 feladatsorok) mindenféle változtatás nélkül. Aki tehát ezeket a feladatokat még a zh előtt megoldja, már 1 megoldott feladatról indul.