ELTE,
2021/2022. tanév
I. félév [dr. Hajas Csilla] IT-13KAB ADATBÁZISOK EA+GY [oszt.info.tanár] |
|
Kurzus időpontja: Péntek 11:00-14:00-ig (4 x 45 perces EA+GY blokkok)
Kurzusforma: Jelenléti D 2-218 (komp.alg.labor) és online INF-es TEAMS
Kurzus weboldala a Canvason: https://canvas.elte.hu/courses/19952
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 nyelve. Oracle SQL.
Tankönyv: Ullman-Widom: Adatbázisrendszerek. Alapvetés. 2.kiad., 2008.
ORACLE ADATBÁZIS szerverek elérése -->> adatbazis_eleres.html
Példa-táblák létrehozására a szkriptek -->> adatbazis_scriptek.html
Adatbázisok előadás+gyakorlatok anyaga:
=> I.témakör: Adatmodellezés, E/K diagram, Rel.model, SQL lekérdezések
[01] 09.10. 1.ea.pdf (E/K diagr, rel.modell) + 01.gyak.html (E/K diagram)
[02] 09.17. 1.ea és 2.ea.pdf (E/K->rel, és rel.alg) +02.gyak.html (rel.alg)
[03] 09.24. 2.ea.pdf (Rel.alg és SELECT) +03.gyak.html (egytáblás lekérd.)
[04] 10.01. 3.ea.pdf (SELECT, alkérdés) +04.gyak.html (többtáblás lekérd.)
[05] 10.08. 4.ea.pdf (Össz.fv-ek, csoportosítás)+05.gyak.html (fv, group by)
[06] 10.15. 5.ea.pdf (Lekérdezésre példák) +06.gyak.html (alkérdések)
[07] 10.22. 6.ea.pdf (SQL DML, DDL) +07.gyak: I.ZH (rel.alg., SQL SELECT)
--- 2020. október 25-től október 30-ig őszi szünet ---
=> II.témakör: Teljes SQL, SQL DML, SQL DDL, haladó témakörök
[08] 11.05. 07.ea.pdf (Nézetek, WITH) +08.gyak.html (SQL DML, DDL)
[09] 11.12. 08.ea és 09.ea.pdf (ABKR, progr) +09.gyak.html (nézetek)
[10] 11.19. 10.ea.pdf (Rel.sématerv, funk.f.) +10.gyak.html (indexek)
[11] 10.26. 11.ea.pdf (Normálformák) +11.gyak.html (végreh.tervek)
[12] 12.03. 12.ea.pdf (VM, FŐ, norm.) +12.gyak: II.ZH (SQL DML, DDL)
[13] 12.10. Vizsgainfók, kérdés/válasz +13.gyak: Pót/javZH (egyik zh-t)
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