1.82k likes | 1.88k Views
Fájlszervezés, rekordhozzáférés. Számítógép szerepe. Az adatbáziskezelés az a terület, amelyre a számítógépet talán leggyakrabban alkalmazzák. Két fogalom: Adatbázis (DB) Adatbáziskezelő rendszer (DBMS). Az adatbáziskezelés. Adatbázis :
E N D
Számítógép szerepe • Az adatbáziskezelés az a terület, amelyre a számítógépet talán leggyakrabban alkalmazzák. • Két fogalom: • Adatbázis (DB) • Adatbáziskezelő rendszer (DBMS).
Az adatbáziskezelés • Adatbázis: • a valós világ egy részhalmazának leírásához használt adatok összefüggő, rendezett halmaza. • Ma ezek többé kevésbé állandó formában egy számítógépben tárolódnak.
Az adatbáziskezelés • Adatbáziskezelő rendszer: • Szoftver, • egy vagy több felhasználó számára lehetővé teszi, • ezen adatok olvasását vagy módosítását. • Database management system.
DBMS felépítése és környezete - Egyfajta változat -
DBMS rendszer használatának két fázisa • Első fázis: • Meg kell határozni az adatok majdani tárolásának logikai rendjét: • ez a DB fogalmi váza (sémája). • Második fázis: • Az 1. fázis után van lehetőség a DB-t adatok tárolására használatba venni: • Adatok feltöltése, • Adatok különböző szempontok alapján történő visszakeresése.
DBMS • A DBMS-hez a következő műveletekkel lehet fordulhatni: • Sémaműveletek. • Lekérdezések. • Adatműveletek.
DBMS - Sémaműveletek • Sémaműveletek: • a DB logikai vázának kialakítását, módosítását jelentik (a DDL igénybevételével).
DBMS - lekérdezések • Kérdéseket fogalmazunk meg a DB tartalmával kapcsolatban. • Kétféle (bár nem teljesenfüggetlen) változata.
Lekérdezés • Két módja: • Egy személy speciális adatbázis lekérdező nyelven (QL) kérdéseket (pl. SQL) fogalmaz meg, melyeket egy interpreter azonnal értelmez és a DBMS válaszol rá. • Alkalmazói programon keresztül feltett kérdésekkel nyerünk ki adatokat. • Ez utóbbiesetben beszélhetünk gazdanyelvről (host language), mely egy, a DBMS-hezhívásokat intéző általános célú programozási nyelv.
Lekérdezés • A lekérdezés bármelyik esete: • Egy interpreter, egy lekérdezés feldolgozó alakítja a lekérdezéseket az DB menedzser által értelmezhető formába.
DBMS - Adatműveletek • Az adatok beillesztését, törlését, módosítását célozzák - ezek a DML funkciói is egyben. • Azadatműveletekben is érvényes a lekérdezéseknél megismert két változat.
1. fázis • Az adatdefiníciós nyelv (DDL) támogatja: • segítségével megfogalmazhatjuk: • milyen adatokat • milyen formában fogunk az adatbázisban tárolni. • A Séma fordító értelmezi a DB-nek ezt a logikai (fogalmi) leírását és külön lefordítja.
2. fázis • A DB használatát jelenti. • Lefordított séma kell hozzá. • Van saját nyelve: • Adatlekérdező és adatmanipluációs nyelv (DML). • A DML és a DDL gyakran jelenik meg egységes nyelvként, mint pl. a szabványosított SQL nyelvekben.
DB menedzser • A DBMS központi része: • DB menedzser, feladata: • Lefordított séma alapján kezeli a felhasználói lekérdezéseket • A lefordított lekérdezéseket az állománykezelő(fájl menedzser) által értelmezhető parancsokká alakítja. • Adatvédelem, adatbiztonság, integritás stb. feladatok ellátása.
Állománykezelő • Állománykezelő: • File manager • Fizikai DB-hez való hozzáférést biztosítja. • Általában szoros kapcsolat az opr. rendszerrel: • Az állománykezelő egyszerűbb esetben része lehet az alkalmazott operációs rendszernek.
Adatbázis • Adatbázis: • Data Base. • Csupán a fizikai adatbázis.
DBMS felépítése és környezete - Másik változat -
A DBMS architektúra komponensei • Tárkezelő. • "Lekérdezés" processzor (lekérdezés feldolgozó). • Tranzakció-kezelő.
Tárkezelő komponens • Tárkezelő • a diszkre ír és onnan olvas. • Részei: • Fájl-kezelő. • Puffer-kezelő.
Tárkezelő komponens • File-kezelő: • a fizikai szintű I/O-ot végzi, ami az állomány nyilvántartására és • elemeinek kezelésére szolgál. (DB-környezetben az adatvesztés veszélye miatt nemmegengedett a "nem fizikai" írás/olvasás, így például a UNIX-ban használt lapozás,ami nem mindig jár konkrét I/O-tal. Vagyis a módosításokat azonnal rögzíteni kell!)
Tárkezelő komponens • Puffer-kezelő : • ez a file-kezelő belső memóriás kiegészítése; • elkülönülést teszlehetővé az operációs rendszer tárkezelő mechanizmusaitól • és kezeli az I/O számárarendelkezésre álló belső memóriát.
Tárkezelő komponens • A blokk egy ütemben írható/olvasható terület.
"Lekérdezés" processzor (lekérdezés feldolgozó) • Magas szintű kérdésekátalakítását végzi egyszerű utasítások sorozatára. • A standard formábanmegfogalmazott kérdéseket lehetőséghez mérten átalakítja, majd a már végrehajthatóutasításokkal a tárkezelő felé fordul.
"Lekérdezés" processzor (lekérdezés feldolgozó) • Azokra az Ügyfelekre vagyunk kíváncsiak az Ugyfel táblából, akikhez negatív egyenleg tartozik és a nemzetiség francia. SELECT nev From Ugyfel Where egyenleg < 0 AND nemzetiseg=‘francia’
"Lekérdezés" processzor (lekérdezés feldolgozó) • Lényeges a tábla elérési mechanizmusa is,ami lehet • szekvenciális vagy • indexelt, esetleg • B-fával megoldott, stb.
Tranzakciókezelő komponens • Célja • egyidejűleg több folyamat párhuzamos hozzáférésétbiztosítsa az adatbázishoz. • Kulcsfogalma a tranzakció: • utasítások egybetartozósorozata, ami felfogható egy program-egységnek is. • Alapvető követelmény a rendszerben a tranzakciók atomisága. • A tranzakcióhoz tartozóutasítás-sorozat a "mindent vagy semmit" elven hajtódik végre, vagyismegszakíthatatlanul, oszthatatlanul. Vagy az összes, egy tranzakcióhoz tartozó utasításlefut, vagy közülük egy sem.
Absztrakciós szintek • Fizikai adatbázis: • Fizikai adatbázison azt értjük, hogyan helyezkednek el az adatbázis adatai a fizikai tárolókon. • Ide érthetjük a fizikailag megvalósított szerkezetet is. • Fogalmi (logikai) adatbázis: • Az a modell, ahogyan az adatbázis tükrözi a való világot. Azt határozza meg, hogy melyik adatot hogyan kell értelmezni. • Nézet (view): • Nézet az, amit a felhasználó az adatbázisból lát. Ha az adatbázisnak több felhasználási lehetősége van, ezek mindegyikéhez külön nézet tartozhat.
"Lekérdezés" processzor (lekérdezés feldolgozó) • Lényeges a tábla elérési mechanizmusa is,ami lehet • szekvenciális vagy • indexelt, esetleg • B-fával megoldott, stb.
Az adatbáziskezelők felépítése • Bonyolult szoftverrendszerek. • Mérnöki gyakorlat: • Rétegezési koncepció: • az eredeti probléma több részre osztása, • a felosztott részek egymásra épüljenek, • egymással a részek minimális felületen keresztül érintkezzenek.
Legalsó réteg • Legalsó réteg: • Fizikai DB. • Itt valósul meg a DB adatainak fizikai tárolókon való elhelyezése. • Ide tartoznak az adatstruktúrák, amelyekben a fizikai tárolást megvalósítjuk. • Fogalmak: • Kötet, állomány, blokk stb.
Középső réteg • Fogalmi – logikai DB. • A valós világ egy darabjának leképezése. • Egy modell, ahogy a DB tükrözi a valós világ egy részét. • Meghatározza melyik adatot hogyan kell értelmezni. • Pl. Rendeléskezelő DB-ben ide tartozik: • Rendeles • termek stb.
Legfelső réteg • Az, amit és ahogy a felhasználó az adatbázisból lát. • Ha a DB-nek több felhasználási lehetősége van, ahhoz külön nézetek tartoznak. • Pl. Neptun-rendszer • Hallgatók • Oktatók • Tanulmányi stb.
Fizikai DB • Az opr. rendszer a DB adatait állományokban, fájlokban tárolja. • Az állományok blokkokból épülnek fel. • Az opr. rendszer nyilvántartja: • Az állományhoz mely blokkok tartoznak. • A blokk egy ütemben írható/olvasható terület.: • Abszolút cím: egyetlen fejmozgatással és I/O művelettel a blokk elérhető, az adatai az operatív tárba mozgathatók.
Fizikai DB • Fizikai adatszervezés célja: • Az adatok háttértáron való tárolása, úgy hogy a kért adat a lehető legkevesebb blokkművelettel legyen elérhető. • Blokkműveletek: • Blokkírás • Blokkolvasás.
Blokk szerkezete • A blokkok tartalmazzák az adatrekordokat. • Egy blokk szerkezete: Szabad hely Pointerek Foglalt/szabad helyek
Blokkfejléc • Blokkfejlécben tárolt információk: • Blokkbeli rekordok kezdőcímei • Blokkbeli szabad hely kezdete • Időbélyegzések (mikor módosították utoljára) • Zárolási információk • Lehet-e a blokkba még további sorokat tenni • Mutató a túlcsordulási blokkra • Mutatók további blokkokra • (Az említett mutatókat az ábrákon általában a blokkok végére rajzoljuk.)
Egy adatrekord szerkezete • Rekordok: • Kötött: • Ha mutató (pointer) mutat rá. • A rekordot a helyéről nem mozgathatjuk el anélkül, hogy a rá mutató pointer meg ne változna. • Szabad: • Ha mutató nem mutat rá. Háttértár jobb kihasználását segíti. Törölt bit stb.
Mutatók • Mutatók: • Mutathat rekordra vagy blokkra. • Egy mutató általában a rekord vagy blokk abszolút címét jelenti. blokkmutató rekordmutató
Rekord fizikai címe • abszolút cím: • A rekordot cilinder-sáv-szektor-rekordsorszám adatokból álló cím azonosítja. • relatív cím • Az állomány kezdőcíme + a rekordnak az ehhez viszonyított eltolási értéke.
Rekordok címzése • Abszolút fizikai cím. • Gyakoribb: • Blokk fizikai címét adjuk meg, amelyik a rekordot tartalmazza, és • egy offsetet, amely a blokkon belüli kezdőcímet adja meg. • Logikailag is megcímezhető: • Ha pl. megadjuk kulcsának az értékét.
Egy adatrekord szerkezete • A rekordfejléc tartalma:: • A rekord hossza • Törölt/nem törölt bit (törölt-e a rekord) • Használt/nem használt a rekord • Időbélyegzések (mikor módosították utoljára, mikor olvasták utoljára) • Nem használt hely (hogy a mezők megfelelő - pl. 4-gyel osztható - címen kezdődhessenek) • A rekord formátuma (a reláció sémája) • A fentiekből bizonyosakat tárolhatunk a blokkfejlécben is. Törölt bit stb.
Adatrekordok fájlba szervezése • Heap – rendezetlen • Soros, szekvenciális • Fizikai szekvenciális • Logikai szekvenciális • Indexelt szervezés • Direkt fájlszervezés • Indexelt szekvenciális szervezési megoldás • Cluster szervezés
Heap – rendezetlen • Heap – rendezetlen • Rekordokat • szabály nélkül, • Rendezetlenül (a beszúrások sorrendjében) helyezzük el a blokkokban. • A blokkok elhelyezése nem követ semmilyen speciális elvet. 12 69 37 23 21 52 17 43 76 29
Heap – rendezetlen • Keresés: • Egymás után beolvassuk a háttértárról a memóriába a kérdéses rekordokat tartalmazó állomány blokkjait, • Végigolvassuk a blokkokat, amíg rá nem találunk a keresettre: • Vagy egy blokk – (szerencsés eset) • Az állomány valamennyi blokkja.
Soros, szekvenciális hozzáférési eljárás • Rekordok fizikailag rendezetlenül, vagy • Valamilyen logikai sorrend szerint, de fizikailag rendezetlenül egymás után helyezzük el. • Rendezési szempont: • Egy vagy több mező, ami alapján lehet keresni. • Keresési kulcs.