Download - Adatbáziskezelés (alapfogalmak)
![Page 1: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/1.jpg)
Adatbáziskezelés (alapfogalmak)
![Page 2: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/2.jpg)
Bevezetés
fájlkezelés: az operációs rendszer közvetlen hívásaival tudunk
adatokat permanensen tárolni háttértárolón, és onnan visszaolvasni
nehézségek:– nagyon elemi műveletek (írás, olvasás), még keresés sincs– komplex adatokra nekünk kell struktúrát kitalálni– a fájl meghibásodása esetén elvesznek az adatok – a fájlhoz operációs rendszer szinten nem csak a
programunk, hanem bárki hozzáférhet vagy módosíthat benne
– ha a fájlt egyszerre többen szeretnék használni, az komoly problémákhoz vezet
![Page 3: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/3.jpg)
Az adatbázis-kezelés eszközei megoldást nyújtanak ezekre a
problémákra!
![Page 4: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/4.jpg)
Adatmodellezés
cél: a valós információk tárolására kitaláljunk valami olyasféle struktúrát, amiben
– az adatok információvesztés nélkül tárolhatók
– az adatok közti kapcsolatok leírhatók – struktúra a számítógépes feldolgozás
szempontjából hatékony
![Page 5: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/5.jpg)
Alapmodellek
hierarchikus modell hálós modell
relációs modell objektum-orientált modell félig strukturált adatmodell
![Page 6: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/6.jpg)
Relációs modell
az adatokat táblákban tároljuk
(tábla - reláció) a táblák között kapcsolatokat építhetünk táblák:
– attribútumok vagy oszlopok (egyedi név, típus)
– sorok vagy rekordok– 1 cellában 1 elemi érték
![Page 7: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/7.jpg)
A felhasználó adatbázis-kezelőn keresztül éri el az
adatokat.
![Page 8: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/8.jpg)
Elvárásaink egy adatbázis-kezelő rendszerrel szemben:
1. Tegye lehetővé a felhasználók számára, hogy új adatbázisokat hozhassanak létre és azok sémáját, vagyis az adatok logikai struktúráját egy speciális nyelven adhassák meg. Ezt a speciális nyelvet adatdefiníciós nyelvnek nevezzük.
![Page 9: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/9.jpg)
Elvárásaink egy adatbázis-kezelő rendszerrel szemben:
2. Engedje meg a felhasználóknak, hogy az adatokat egy megfelelő nyelv segítségével lekérdezhessék és módosíthassák. Ezt a nyelvet szokás lekérdezőnyelvnek vagy adatmanipulációs nyelvnek nevezni.
![Page 10: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/10.jpg)
Elvárásaink egy adatbázis-kezelő rendszerrel szemben:
3. Támogassa nagyon nagy mennyiségű adat (gigabájtok vagy még több adat) hosszú időn keresztül való tárolását, garantálja az adatok biztonságát a meghibásodásokkal és az illetéktelen felhasználókkal szemben, és tegye lehetővé a hatékony adathozzáférést a lekérdezések és az adatbázis-módosítások számára.
![Page 11: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/11.jpg)
Elvárásaink egy adatbázis-kezelő rendszerrel szemben:
4. Felügyelje a több felhasználó által egy időben történő adathozzáféréseket úgy, hogy az egyes felhasználók műveletei ne legyenek hatással a többi felhasználóra és az egyidejű adathozzáférések ne vezethessenek az adatok hibássá vagy következetlenné válásához.
![Page 12: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/12.jpg)
Adatbázis eszközök használata
néhány példa (támogatják a relációs adatmodellt)
– Oracle– MS SQL Server– IBM DataBase2 – Sybase
(amik NEM, vagy csak félig-meddig adatbázis-kezelők)
– dBase – Clipper– FoxPro– MySQL– Access (elterjedt, egyszerű a használata oktatásban használjuk)
![Page 13: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/13.jpg)
Adatbázis
Egyazon információs rendszerhez tartozó adatok összefüggő,
szervezett rendszere.
![Page 14: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/14.jpg)
Relációs adatmodell 1.
A tábla oszlopai azonos típusú adatmezőket: értékeket vagy más néven tulajdonságértékeket tartalmaznak (szöveg, szám, dátum, logikai érték)
Az oszlop címkéit mezőnevekneknek vagy tulajdonságtípusnak is szokás nevezni.
A tábla sorait rekordoknak vagy egyedelőfordulásnak nevezzük.
A relációs adatbázisokban az adatokat táblázatokba rendezzük. Az egymással kapcsolatban álló táblák (más néven relációk vagy egyedtípusok) alkotják az adatbázist.
![Page 15: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/15.jpg)
Relációs adatmodell 2.
Két tábla a bennük lévő közös tulajdonság (kapcsolómező) alapján kapcsolható össze.
Jelenleg a korszerű adatbáziskezelők relációs adatbáziskezelők. (Access, SQL Server, Oracle, Ingres, Paradox, dBase, Foxpro.) Ennek oka az adatmodell szemléletessége és rugalmassága.
Pl.: a Tanulók tábla és az Osztályzatok tábla a mindkettőben szereplő Tanulósorszám mező alapján. (Nem feltétlenül a név, hanem az adattípus és a tartalom egyezése a lényeges!)
Osztályzatok
Tanulók
![Page 16: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/16.jpg)
Azonosító, kulcs
Egyszerű kulcs: ha az azonosító egyetlen tulajdonság.
Összetett kulcs: ha az azonosító több, külön-külön azonosítónak nem alkalmas tulajdonságból áll, amelyek együtt megfelelőek erre a szerepre.
A táblának az az oszlopa (tulajdonsága), amely minden sorban (rekordban) más-más értéket vesz fel, vagyis a táblán belül egy és csakis egy egyedre jellemző.
Az azonosító értéke
egy táblán belül egyedi
nem lehet NULL érték, vagyis definiálatlan érték
Idegen kulcs (foreign key): olyan tulajdonság, amely az adott táblában nem kulcs, de egy másikban igen. (Kapcsolatot biztosít)
![Page 17: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/17.jpg)
Kapcsolatok a táblák közt
• 1:1 (Egy az egyhez)
• 1:N (Egy a többhöz)
• N:M (Több a többhöz) –ez csak elvi!
![Page 18: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/18.jpg)
1:1 típusú (kölcsönös) kapcsolat
Rendszam Forg_eng_sz Tipus Szin Tulaj_nev
IZZ-776 MJ 99999 Opel Bordó Somogyi Éva
BFG 611 NJ 54111 Suzuki Lila Berek Edina
HTL-910 LK 63211 Renault Kék Vaj Ákos
PKM-225 KK 99886 Skoda Sárga Tóth Béla
Biztosito kotvenyszam rendszam
Hungária MH 00 123 IZZ-776
AB Aegon LB700 1-1 PKM-225
Providencia Ds 500 1209 HTL-910
Providencia Ds 500 1211 BFG-611
AUTOK
KOT_BIZTOSITAS
A KOT_BIZTOSITAS tábla egy sorához az AUTOK táblából maximum egy sor kapcsolódhat, és ez fordítva is igaz: az AUTOK tábla minden egyes sorához a KOT_BIZTOSITAS táblának csak egy sora kapcsolódhat.
Az ilyen módon összekapcsolható táblák adatait akár egy táblában is tárolhatnánk…
![Page 19: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/19.jpg)
1:N típusú (alá- fölérendelő kapcsolat)
Rendszam Datum Kar_leiras Kar_osszeg
FGM-889 2004.12.12 Horpadt elülső lemez 99 450Ft
BFG-611 2004.12.31 Betört a szélvédő 25100 Ft
HTL-910 2005.01.1.2 Megrongálódott mot 298 000 Ft
DCY-103 2005.01.13 Teljesen összetört a bal 340 700 Ft
BGG-668 2005.01.15 Belementek hátulról 280 000 Ft
BFG-611 2005.01.16 Eltörött az Indexlámpa 3 500 Ft
DCY-103 2005-01.21 Lefújták festékszóróval 43 900 Ft
Biztosito kotvenyszam rendszam
Hungária MH 00 123 IZZ-776
AB Aegon LB700 1-1 PKM-225
Providencia Ds 500 1209 HTL-910
Providencia Ds 500 1211 BFG-611
KOT_BIZTOSITAS
KARESEMENYEK
A fölérendelt táblában a kapcsoló mező nem veheti fel többször ugyanazt az értéket (egyedi azonosító)
Az alárendelt táblában a kapcsoló mező többször is felveheti ugyanazt az értéket.
A fölérendelt tábla egy rekordjához az alárendelt táblának akár több rekordja is kapcsolódhat.
A relációs adatmodellre ez a fajta kapcsolat a jellemző!
![Page 20: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/20.jpg)
M:N típusú (mellérendelő kapcsolat)
U_KOD UJSAGCIM DIJ E_KOD
NS Nemzeti Sport 3421 1124
KK Kiskegyed 5734 1124
MH M. Horgász 2734 6132
UJSAGOK ELOFIZETOK
E_KOD NÉV LAKCIM U_KOD
1124 Balogh Irma Kőfejtő u. 4 KK
6132 Só Pál Lom tér 3 KK
1368 Virág Elek Lom tér 1. NS
4421 Végh Béla Kőfejtő u. 3 NS
Ugyanazt az újságot többen is előfizethetik, és egyazon személy több újságra is előfizethet.
Ebben az esetben mindkét tábla egy adott sorához a másik táblának több sora is kapcsolódhat.
A relációs adatmodellre ilyen kapcsolatot nem tud kezelni.
![Page 21: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/21.jpg)
M:N típus 2.
U_KOD UJSAGCIM DIJ
NS Nemzeti Sport 3421
KK Kiskegyed 5734
MH M. Horgász 2734
UJSAGOK ELOFIZETOK
1368NS
6132KK
6132MH
1124NS
1124KK
E_KÓDU_KOD
ELOFIZETESEK
E_KOD NÉV LAKCIM
1124 Balogh Irma Kőfejtő u. 4
6132 Só Pál Lom tér 3
1368 Virág Elek Lom tér 1.
4421 Végh Béla Kőfejtő u. 3
Az M:N típusú kapcsolat több 1:N típusú kapcsolatra vezethető vissza, újabb tábla, vagy táblák közbeiktatásával.
Normalizálás (pl. itt az ELOFIZETESEK)
Így már tudja kezelni a relációs adatbáziskezelő!
![Page 22: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/22.jpg)
Hivatkozási integritás
A fölérendelt táblából nem törölhetünk olyan adatot, illetve nem módosíthatjuk olyan rekord kulcsát, amelyhez tartozik kapcsolt rekord az alárendelt táblában. (vagyis a kapcsolatot biztosító tulajdonság értéke a két táblában azonos)
Pl. nem törölhetjük az Tanulók táblából a Bedők Csilla rekordját, ha az Osztályzatok táblában van rá vonatkozó rekord.
Az alárendelt táblában nem rögzíthetünk olyan adatot, amelyhez a fölérendelt táblában nem tartozik megfelelő rekord.
Pl. az Osztályzatok táblában addig nem rögzíthetjük Bedők Csilla osztályzatát, amíg a Tanulók táblában nem szerepel.
Az adatbázis szerkezetére vonatkozó megkötés. A kapcsolt táblák között akkor áll fenn, ha:
![Page 23: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/23.jpg)
Ellenőrző kérdések1. Mi az adatbázis?2. Mi a relációs adatmodell lényege?3. Mi tartalmaznak a tábla oszlopai?4. Milyen típusúak lehetnek a tábla oszlopai?5. Mit tartalmaznak a tábla sorai?6. Hogyan nevezzük még a relációs adatbázis tábláit?7. Hogy nevezzük még a tábla oszlopait (oszlopcímkéit, sorait)?8. Mi alapján kapcsolható össze két tábla?9. Mi az azonosító (kulcs)?10. Mi az összetett kulcs?11. Milyen kikötéseket ismersz az azonosító értékével kapcsolatban?12. Milyen típusú kapcsolat lehet a táblák közt? 13. Mi jellemző az 1:N (1:1, M:N) típusú kapcsolatra?14. Melyik kapcsolattípus jellemző a relációs adatmodellre?15. Mi a hivatkozási integritás?16. Melyek a hivatkozási integritás szabályai?
![Page 24: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/24.jpg)
Adatbázis műveletek
Létrehozás– mezők típusa– kulcs (rekordok azonosításához)– feltételek– legördölő lista lehetősége
Rendezés– fizikai átrendezés
Indexelés– logikai rendezés
Szűrés Kapcsolatok létrehozása, módosítása
– adattáblák közti megfeleltetés
![Page 25: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/25.jpg)
Adatok megjelenítése, keresése
Lekérdezés– adattáblákból keres ki adatokat vagy számít ki
mennyiségeket
Űrlap– rekordok megjelenítéséhez
Jelentés– nyomtatáshoz rendezett adatok
![Page 26: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/26.jpg)
Nézetek
Adatlap nézet Tervező nézet SQL nézet
![Page 27: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/27.jpg)
Egyebek
Varázslók– lekérdezéshez– űrlap készítéséhez– jelentés készítéséhez
Stílusok– űrlapoknál– jelentéseknél
Importálás, exportálás– pl. Excel fájlból Access adattáblát lehet létrehozni
![Page 28: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/28.jpg)
SQL I.
Structured Query Language – Strukturált lekérdező nyelv
adatbázis-orientált programozási nyelv
1. Példa: adatbázis tábla definíciója:
CREATE TABLE Szamla ( Szamlaszam NUMERIC(24), Tulajdonos VARCHAR(60), Nyitas DATE, Allapot VARCHAR(1), PRIMARY KEY (Szamlaszam)
);
![Page 29: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/29.jpg)
SQL II.
2. Példa: Lekérdezés
SELECT COUNT(*), Tulajdonos FROM Szamla WHERE Allapot = 'N' GROUP BY Tulajdonos HAVING COUNT(*) > 1 ORDER BY Tulajdonos ;
A fenti példa kilistázza azokat a személyeket, akiknek egynél több aktív bankszámlája van. Az első oszlopban az aktív bankszámlák száma, a másodikban a tulajdonosok neve olvasható. A táblázat a tulajdonosok neve szerinti emelkedő sorrendben jelenik meg.
![Page 30: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/30.jpg)
Lekérdezések
![Page 31: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/31.jpg)
Választó lekérdezés
Adott feltételeknek megfelelő adatok megjelenítésére szolgál
![Page 32: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/32.jpg)
Törlő lekérdezés
Adott feltételeknek megfelelő adatok törlésére szolgál
![Page 33: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/33.jpg)
Nagy Károly - http://www.kariszoft.hu
Frissítő lekérdezés
A megfelelő rekordok adatainak módosítására szolgál
![Page 34: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/34.jpg)
Paraméteres lekérdezés
Egy bizonyos feltétel megadását a felhasználóra bízzuk
A felhasználó adja meg a hiányzó feltételt
![Page 35: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/35.jpg)
Kereszttáblás lekérdezés
Az adatok két szempont szerinti elemzését jelenti
![Page 36: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/36.jpg)
Táblakészítő lekérdezés
Megegyezik a választó lekérdezéssel, de a kiválasztott rekordok nem a képernyőn, hanem egy új táblában jelennek meg
![Page 37: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/37.jpg)
Hozzáfűző lekérdezés
Az adott feltételeknek megfelelő rekordokat hozzáfűzi egy már korábban létrehozott táblához, amely nem lehet azonos a forrás táblával
![Page 38: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/38.jpg)
Indexelés
Az adatok keresésének gyorsítására szolgál
Működésének alapja egy segédtábla (indextábla), amely a rekordok sorrendjét tartalmazza az adott mező szerint
Az index megadása növeli az adatbázis fájl méretét, de gyorsítja a keresést
„lehet azonos”, vagy „nem lehet azonos”
![Page 39: Adatbáziskezelés (alapfogalmak)](https://reader036.vdocuments.pub/reader036/viewer/2022081512/5681369c550346895d9e3aac/html5/thumbnails/39.jpg)
Táblák közötti kapocsikatok