ELTE,
2024/2025. tanév
I. félév [dr. Hajas Csilla] IT-18KAB ADATBÁZISOK EA [középisk.info.tanár] |
|
Adatbázisok előadás időpontja: Péntek 10:15-11:45 D 2-520 MI labor
Adatbázisok gyakorlat: Adatbázisok-GYAK.html [ Péntek 08:30-10:00 ]
Kurzus weboldala a Canvason: https://canvas.elte.hu/courses/46896
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, Tranz.kez, SQL DDL 6.ea.pdf
[07] 10.25. SQL nézettáblák, WITH munkatáblák, rekurzió 7.ea.pdf
--- 2024.október 28.-tól november 2.-ig őszi szünet
[08] 11.08. SQL prog.nyelvi használata, SQL PSM, PL/SQL 8.ea.pdf
[09] 11.15. Adatbázis-kezelő rendszerek, lekérd.végrehajt. 9.ea.pdf
[10] 11.22. Relációs sématervezés, Függőségek elmélete 10.ea.pdf
[11] 11.29. Rel.sématervezés, Normalizálás, VM BCNF: 11.ea.pdf
[12] 12.06. Rel.sématervezés, Normalizálás, 3NF, 4NF: 12.ea.pdf
[13] 12.13. A félévközi kötelező beadandó feladatok bemutatása
Vizsgajegy megajánlás
Félévközi kötelező beadandó feladat I. adatmodellezési részéhez:
- Tankönyv 4.fejezete és az 1.előadás példái: 1.ea.pdf
- egy áruház dolgozói, vevői és beszállítói: EK_pelda_A.pdf
- egy orvosi rendelő orvosai és páciensei: EK_pelda_B.pdf
Beadandó bemutatása: 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