1 / 182

Fájlszervezés, rekordhozzáférés

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 :

gaye
Download Presentation

Fájlszervezés, rekordhozzáférés

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fájlszervezés, rekordhozzáférés

  2. 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).

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

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

  5. DBMS felépítése és környezete - Egyfajta változat -

  6. DBMS felépítése és környezete

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

  8. DBMS • A DBMS-hez a következő műveletekkel lehet fordulhatni: • Sémaműveletek. • Lekérdezések. • Adatműveletek.

  9. 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).

  10. DBMS - lekérdezések • Kérdéseket fogalmazunk meg a DB tartalmával kapcsolatban. • Kétféle (bár nem teljesenfüggetlen) változata.

  11. DBMS felépítése és környezete

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

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

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

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

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

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

  18. Á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.

  19. Adatbázis • Adatbázis: • Data Base. • Csupán a fizikai adatbázis.

  20. DBMS felépítése és környezete - Másik változat -

  21. DBMS leggyakoribb felépítése és környezete

  22. A DBMS architektúra komponensei • Tárkezelő. • "Lekérdezés" processzor (lekérdezés feldolgozó). • Tranzakció-kezelő.

  23. Tárkezelő komponens • Tárkezelő • a diszkre ír és onnan olvas. • Részei: • Fájl-kezelő. • Puffer-kezelő.

  24. 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!)

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

  26. Tárkezelő komponens • A blokk egy ütemben írható/olvasható terület.

  27. "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.

  28. "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’

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

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

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

  32. "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.

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

  34. Az adatbáziskezelők 3 rétegű architektúrája

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

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

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

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

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

  40. Blokk szerkezete • A blokkok tartalmazzák az adatrekordokat. • Egy blokk szerkezete: Szabad hely Pointerek Foglalt/szabad helyek

  41. 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.)

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

  43. Mutatók • Mutatók: • Mutathat rekordra vagy blokkra. • Egy mutató általában a rekord vagy blokk abszolút címét jelenti. blokkmutató rekordmutató

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

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

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

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

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

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

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

More Related