480 likes | 1.02k Views
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
E N D
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
Az adatbázis-kezelés eszközei megoldást nyújtanak ezekre a problémákra!
Adatmodellezés cél: a valós információk tárolására kitaláljunkvalami 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
Alapmodellek • hierarchikus modell • hálós modell • relációs modell • objektum-orientált modell • félig strukturált adatmodell
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 felhasználó adatbázis-kezelőn keresztül éri el az adatokat.
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.
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.
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.
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.
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)
Adatbázis Egyazon információs rendszerhez tartozó adatok összefüggő, szervezett rendszere.
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éitmezőnevekneknek vagy tulajdonságtípusnak is szokás nevezni. • A tábla soraitrekordoknak 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.
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.
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)
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!
1:1 típusú (kölcsönös) kapcsolat 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. AUTOK Az ilyen módon összekapcsolható táblák adatait akár egy táblában is tárolhatnánk…
1:N típusú (alá- fölérendelő kapcsolat) KOT_BIZTOSITAS A fölérendelt táblábana kapcsoló mező nem veheti fel többször ugyanazt az értéket (egyediazonosító) 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. A relációs adatmodellre ez a fajta kapcsolat a jellemző!
M:N típusú (mellérendelő kapcsolat) UJSAGOK ELOFIZETOK 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.
ELOFIZETESEK U_KOD E_KÓD KK 1124 NS 1124 MH 6132 KK 6132 NS 1368 M:N típus 2. UJSAGOK ELOFIZETOK 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ő!
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ünkolyan adatot, illetve nem módosíthatjuk olyan rekord kulcsát, amelyheztartozik 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ünkolyan 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.
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?
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
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
Nézetek • Adatlap nézet • Tervező nézet • SQL nézet
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
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) );
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.
Választó lekérdezés • Adott feltételeknek megfelelő adatok megjelenítésére szolgál
Törlő lekérdezés • Adott feltételeknek megfelelő adatok törlésére szolgál
Frissítő lekérdezés • A megfelelő rekordok adatainak módosítására szolgál Nagy Károly - http://www.kariszoft.hu
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
Kereszttáblás lekérdezés • Az adatok két szempont szerinti elemzését jelenti
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
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
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”