39
Adatbáziskezelés (alapfogalmak)

Adatbáziskezelés (alapfogalmak)

Embed Size (px)

DESCRIPTION

Adatbáziskezelés (alapfogalmak). 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 k eresés sincs - PowerPoint PPT Presentation

Citation preview

Page 1: Adatbáziskezelés (alapfogalmak)

Adatbáziskezelés (alapfogalmak)

Page 2: Adatbáziskezelés (alapfogalmak)

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)

Az adatbázis-kezelés eszközei megoldást nyújtanak ezekre a

problémákra!

Page 4: Adatbáziskezelés (alapfogalmak)

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)

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)

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)

A felhasználó adatbázis-kezelőn keresztül éri el az

adatokat.

Page 8: Adatbáziskezelés (alapfogalmak)

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)

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)

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)

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)

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)

Adatbázis

Egyazon információs rendszerhez tartozó adatok összefüggő,

szervezett rendszere.

Page 14: Adatbáziskezelés (alapfogalmak)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

Nézetek

Adatlap nézet Tervező nézet SQL nézet

Page 27: Adatbáziskezelés (alapfogalmak)

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)

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)

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)

Lekérdezések

Page 31: Adatbáziskezelés (alapfogalmak)

Választó lekérdezés

Adott feltételeknek megfelelő adatok megjelenítésére szolgál

Page 32: Adatbáziskezelés (alapfogalmak)

Törlő lekérdezés

Adott feltételeknek megfelelő adatok törlésére szolgál

Page 33: Adatbáziskezelés (alapfogalmak)

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)

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)

Kereszttáblás lekérdezés

Az adatok két szempont szerinti elemzését jelenti

Page 36: Adatbáziskezelés (alapfogalmak)

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)

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)

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)

Táblák közötti kapocsikatok