A
tankönyv (kötelező
olvasmány) - Jeffrey
D. Ullman, Jennifer Widom:
Adatbázisrendszerek.
Alapvetés.
Második
átdolgozott
kiadás, Panem, 2009.
Kapható: http://www.libri.hu/konyv/adatbazisrendszerek-alapvetes.html
vagy itt: http://webbolt.webwall.hu/panem/adatbazisrendszerek-alapvetes
innen
leírás a
könyvről: A
könyv ismertetése és tartalomjegyzéke 1. A
relációs adatmodell alapjai:
Reláció, relációséma
és előfordulás,
attribútumok és sorok, kulcsok,
külső kulcsok, hivatkozási épség.
(Tankönyv 2.2.
szakasz, 22-29.oldal, illetve 2.5. szakaszból részek)
2. Relációsémák
definiálása SQL-ben, a CREATE TABLE
utasítás,
megszorítások,
kulcsmegszorítás, hivatkozási épség
megadása,
PRIMARY KEY, UNIQUE, REFERENCES. (2.3. szakasz,
30-35.)
3. Relációs algebra,
alapműveletek,
kifejezések felépítése, kifejezésfa.
(2.4. szakasz,
39-52.) [-- Csak az
előadáson szerepel, a vizsgán nem
kérjük számon:
Megszorítások
megadása
relációs algebra
segítségével (2.5.
szakasz)] 4. Az
SQL
adatbázisnyelv 1.
Egyszerű
lekérdezések, SQL
SELECT egy
relációra: WHERE záradék
feltételének
megadására, speciális
értékekre, adattípusokra és logikai
kifejezések megadására milyen
lehetőségek vannak? Hiányzó
értékek,
műveletek
nullértékekkel, az
ismeretlen (unknown) igazságérték,
logikai
műveletek eredménye
háromértékű logika esetén.
(6.1.1.-6.1.7. szakaszok,
258-269.)
5. Az SQL adatbázisnyelv 2.
Többrelációs
lekérdezések, direkt szorzat és
összekapcsolások a
FROM záradékban.
Attribútumok megkülönböztetése,
sorváltozók.
A
lekérdezések kiértékelésének
szabvány szerinti
alapértelmezése.
Halmazműveletek az SQL-ben:
UNION, INTERSECT, EXCEPT .
(6.2.
szakasz, 273-281.)
6. Az SQL adatbázisnyelv 3.
Alkérdések a FROM
listán és a
WHERE záradékban, korrelált
alkérdések
alakja, kiértékelése. (6.3.1.-6.3.5.
szakaszok, 284-290.)
7. A kiterjesztett
relációs algebra:
műveletek kiterjesztése multihalmazokra,
ismétlődések megszüntetése,
ismétlődések kezelése halmazműveletek
során,
összesítések
(aggregáló függvények),
csoportosítás, kiterjesztett
vetítés,
rendezés, külső
összekapcsolások (5.1.-5.2. szakasz, 217-236.) 8. Az SQL
adatbázisnyelv 4.
Összekapcsolások
és külső
összekapcsolások az SQL
FROM záradékban.
Relációkra
(mint multihalmazokra) vonatkozó műveletek,
ismétlődések
megszüntetése:
DISTINCT, ismétlődések kezelése
halmazműveletek során:
UNION és UNION ALL,
INTERSECT
[ALL], EXCEPT [ALL].
(6.3.6.-6.3.8. és
6.4.1-6.4.2 szakaszok,
290-299.)
9. Az SQL adatbázisnyelv 5.
Az eredmény rendezése: ORDER BY
záradék (6.1.8. szakasz, 270-271.)
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. A
záradékok
sorrendje az SQL lekérdezésekben.
(6.4.3-6.4.7
szakaszok, 300-305.)
10. Az SQL adatbázisnyelv 6.
Változtatások az
adatbázisban. Táblák
(relációk)
tartalmának
megváltoztatását
szolgáló SQL
utasítások: INSERT, DELETE, UPDATE (6.5
szakasz,
307-312.)
11. Megszorítások az SQL-ben: kulcsok,
idegen
kulcsok, hivatkozási épség
fenntartása. A
hivatkozási épség fenntartására
vonatkozó lehetőségek
megadása SQL-ben a hivatkozott
táblára vonatkozó módosítások
miatt.
Megszorítások ellenőrzésének
késleltetése. (7.1. szakasz, 329-336.)
12. Attribútumokra és sorokra
vonatkozó
megszorítások: NOT NULL,
CHECK. Megszorítások
elnevezése. Önálló
megszorítások létrehozása
és
használata. (7.2-7.4. szakasz, 338-351.) [-- Csak az
előadáson szerepel, a vizsgán nem: TRIGGER (7.5.
szakasz)]
13. Nézettáblák
létrehozása
és használata az SQL-ben, adatok
módosítása
nézettáblákon
keresztül. Tárolt nézettáblák.
(8.1-8.2.,
361-369. és 8.5.) [-- Adatbázisok-2
előadáson szerepel, most nem: Indexek (8.3-8.4.
szakasz)] 14. SQL
lekérdezések használata programozási
környezetben - 1. Az
SQL utasítások és a
programozási nyelvek
összekapcsolásának
a
típuseltérés
problémája. Egyetlen sort eredményező
lekérdezések és
az osztott
változók
használata. Sorhalmazt eredményező
lekérdezések
és a kurzorok (CURSOR)
definiálása
és a használata, FETCH
utasítás.
(PSM: könyvben
9.3
szakasz, 401-413., és 9.4.4. szakasz vagy
PL/SQL: a gyakorlat alapján)
15. SQL programozási környezetben PSM-ben vagy
PL/SQL-ben - 2.
Sémában tárolt
eljárások és
függvények
létrehozása és használata,
néhány egyszerű
utasítás alakja, hiba- és
kivételkezelés.
PSM: 9.4. szakasz,
414-428. vagy
PL/SQL: a
gyakorlat alapján) 16. Logikai
lekérdező nyelv: Datalog 1.
Biztonságos
Datalog-szabály,
negált
predikátum, szabály jelentése
a
kiértékelés alapján, extenzionális
és intenzionális
predikátumok.
(5.3. szakasz, 236-242.)
17. Logikai lekérdező nyelv: Datalog 2.
Relációs
algebrai kifejezések
átírása
Datalogba, vetítés-kiválasztás-
szorzat kifejezések, különbség
és
unió Datalog programban,
rekurziómentes Datalog
programok. (5.4. szakasz, 244-253.)
18. Rekurzió
a Datalog programban és az SQL-ben. Megelőzési
gráf és
rekurzió. Az
Eljut
feladat (könyv
példája, előadáson is
szerepelt) Datalog
programban és az SQL
szabványban WITH
[RECURSIVE] utasítás alakja.
Eljut
feladat iterációs
megoldása PSM-ben
(előadáson
szerepelt)
vagy
PL/SQL-ben (gyakorlaton) (Eljut feladat: 10.2 szakasz,
467-474.)
19. 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. (4.1. szakasz, 133-147.)
20. Az egyed-kapcsolat (E/K) modell 2.
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.
(4.3.-4.4.
szakaszok,
157-165.)
21. Az egyed-kapcsolat (E/K) modell 3.
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. (4.5-4.6. szakaszok,
165-181.)
22. 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.
(3.1.-3.2.3.
szakaszok, 69-78.oldal)
23. Relációs adatbázisok
tervezési
elmélete 2.
Attribútumhalmaz
lezárása
és algoritmusa, levezetési szabályok
teljes
halmaza
(úgynevezett
Armstrong-axiómák), funkcionális
függőségi rendszerek ekvivalenciája,
függőségi
halmazok
lezárása, minimális
bázis. (3.2.4.-3.2.8. szakaszok, 79-87.oldal)
24. Relációs adatbázisok
tervezési
elmélete 3.
Anomáliák
funkcionális
függőségek miatt, relációk
felbontása. Veszteségmentes
összekapcsolás
definíciója és Chase-teszt a
veszteségmentesség ellenőrzésére.
Függőségek
vetítése, függőségek
megőrzése. (3.2.8. szakasz és 3.3.1.-3.3.2.
és 3.4. szakasz,
90-106.oldal) 25.
Relációs
adatbázisok
tervezési
elmélete 4.
Boyce-Codd
normálforma, BCNF
dekompozíció algoritmusa, a felbontás
tulajdonságai. (3.3.3.-3.3.4.
szakaszok, 92-97.
oldal.)
26. Relációs adatbázisok
tervezési
elmélete 5.
Harmadik normálforma (elsődleges
attribútum és 3NF definíciója),
a minimális
függőségi rendszer
(minimális bázis), 3NF
felbontás szintetizáló
algoritmus,
3NF felbontás
tulajdonságai. (3.2.7. és 3.5.
szakasz,
108-111.oldal)
27. Relációs adatbázisok
tervezési
elmélete 6.
Többértékű
függőségek, 4. normálforma (3.6.
szakasz, 112-119.)