Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Adatbáziskezelés (alapfogalmak)

Hasonló előadás


Az előadások a következő témára: "Adatbáziskezelés (alapfogalmak)"— Előadás másolata:

1 Adatbáziskezelés (alapfogalmak)

2 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 keresés: csak szekvenciális visszakeresés lehet (azt is nekünk kell megírni) lassú komplex adatok: struktúrára nincs szabvány bárki hozzáférhet a fájlhoz: adatbiztonság  egyszerre több felhasználó: főleg akkor probléma, ha többen egyszerre akarnak módosítani

3 Az adatbázis-kezelés eszközei megoldást nyújtanak ezekre a problémákra!

4 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

5 Alapmodellek relációs modell hierarchikus modell hálós modell
objektum-orientált modell félig strukturált adatmodell félig strukturált adatmodell: önleíró adatok sokkal komplexebb világot tud leírni XML

6 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 a következőben egyezünk meg a félév erejéig: tTablanev (kis t és utána a név nagykezdőbetűvel) azonosítók XAzon (a tábla nagybetűs kezdőbetűje és utána Azon)

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

8 Elvárásaink egy adatbázis-kezelő rendszerrel szemben:
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.

9 Elvárásaink egy adatbázis-kezelő rendszerrel szemben:
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.

10 Elvárásaink egy adatbázis-kezelő rendszerrel szemben:
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.

11 Elvárásaink egy adatbázis-kezelő rendszerrel szemben:
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.

12 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) MySQL, Access: 3-as, 4-es nem teljesül dBase, Clipper, FoxPro: közvetlen adatfájlokkal dolgozik

13 Adatbázis Egyazon információs rendszerhez tartozó adatok összefüggő, szervezett rendszere.

14 Relációs adatmodell 1. 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. 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.

15 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. Tanulók Osztályzatok 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!) 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.

16 Azonosító, kulcs 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ő. 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. 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)

17 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!

18 1:1 típusú (kölcsönös) kapcsolat
KOT_BIZTOSITAS Biztosito kotvenyszam rendszam Hungária MH IZZ-776 AB Aegon LB PKM-225 Providencia Ds HTL-910 Ds BFG-611 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. AUTOK 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 Az ilyen módon összekapcsolható táblák adatait akár egy táblában is tárolhatnánk…

19 1:N típusú (alá- fölérendelő kapcsolat)
KOT_BIZTOSITAS A fölérendelt táblában a kapcsoló mező nem veheti fel többször ugyanazt az értéket (egyedi azonosító) Biztosito kotvenyszam rendszam Hungária MH IZZ-776 AB Aegon LB PKM-225 Providencia Ds HTL-910 Ds BFG-611 Az alárendelt táblában a kapcsoló mező többször is felveheti ugyanazt az értéket. KARESEMENYEK A fölérendelt tábla egy rekordjához az alárendelt táblának akár több rekordja is kapcsolódhat. Rendszam Datum Kar_leiras Kar_osszeg FGM-889 Horpadt elülső lemez 99 450Ft BFG-611 Betört a szélvédő 25100 Ft HTL-910 Megrongálódott mot Ft DCY-103 Teljesen összetört a bal Ft BGG-668 Belementek hátulról Ft Eltörött az Indexlámpa 3 500 Ft Lefújták festékszóróval Ft A relációs adatmodellre ez a fajta kapcsolat a jellemző!

20 M:N típusú (mellérendelő kapcsolat)
UJSAGOK ELOFIZETOK U_KOD UJSAGCIM DIJ E_KOD NS Nemzeti Sport 3421 1124 KK Kiskegyed 5734 MH M. Horgász 2734 6132 E_KOD NÉV LAKCIM U_KOD 1124 Balogh Irma Kőfejtő u. 4 KK 6132 Só Pál Lom tér 3 1368 Virág Elek Lom tér 1. NS 4421 Végh Béla Kőfejtő u. 3 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.

21 M:N típus 2. Így már tudja kezelni a relációs adatbáziskezelő!
UJSAGOK ELOFIZETOK U_KOD UJSAGCIM DIJ NS Nemzeti Sport 3421 KK Kiskegyed 5734 MH M. Horgász 2734 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 1368 NS 6132 KK MH 1124 E_KÓD U_KOD ELOFIZETESEK 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ő!

22 Hivatkozási integritás
Az adatbázis szerkezetére vonatkozó megkötés. A kapcsolt táblák között akkor áll fenn, ha: 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.

23 Ellenőrző kérdések Mi az adatbázis? Mi a relációs adatmodell lényege?
Mi tartalmaznak a tábla oszlopai? Milyen típusúak lehetnek a tábla oszlopai? Mit tartalmaznak a tábla sorai? Hogyan nevezzük még a relációs adatbázis tábláit? Hogy nevezzük még a tábla oszlopait (oszlopcímkéit, sorait)? Mi alapján kapcsolható össze két tábla? Mi az azonosító (kulcs)? Mi az összetett kulcs? Milyen kikötéseket ismersz az azonosító értékével kapcsolatban? Milyen típusú kapcsolat lehet a táblák közt? Mi jellemző az 1:N (1:1, M:N) típusú kapcsolatra? Melyik kapcsolattípus jellemző a relációs adatmodellre? Mi a hivatkozási integritás? Melyek a hivatkozási integritás szabályai?

24 Adatbázis műveletek Létrehozás Rendezés Indexelés Szűré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

25 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

26 Nézetek Adatlap nézet Tervező nézet SQL nézet

27 Egyebek Varázslók Stílusok Importálás, exportálás 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

28 SQL I. CREATE TABLE Szamla (
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) );

29 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.

30 Lekérdezések

31 Választó lekérdezés Adott feltételeknek megfelelő adatok megjelenítésére szolgál

32 Törlő lekérdezés Adott feltételeknek megfelelő adatok törlésére szolgál

33 Nagy Károly - http://www.kariszoft.hu
Frissítő lekérdezés A megfelelő rekordok adatainak módosítására szolgál Nagy Károly -

34 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

35 Kereszttáblás lekérdezés
Az adatok két szempont szerinti elemzését jelenti

36 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

37 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

38 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”

39 Táblák közötti kapocsikatok


Letölteni ppt "Adatbáziskezelés (alapfogalmak)"

Hasonló előadás


Google Hirdetések