Rendszermodellezés II.
Az IR leképezési szintjei Leképezési szintek Az adatmodell különböző absztrakciós szintjei típus jellemző, funkció Logikai szint Statikus modell Elemek, jellemzők, kapcsolatok Módszer Dinamikus modell Funkcionális elemek Fizikai szint Elhelyezési modell A logikai modell elemeinek az adathordozók tárolási lehetőségeihez illesztett szervezési és elérési módja Forma, eszköz Tárolási modell Az adathordozókon való elhelyezkedés formáját, méretét és helyét meghatározó szint
Adatok, adatszerkezetek Adatfeldolgozási munka: adatgyűjtés és ellenőrzés, adatok tárolása, adatok visszanyerése. Adatszervezés fogalma: azok a tevékenységek, amelyek meghatározzák az adatok tartalmát és struktúráját és biztosítják azok megőrzését (tárolás), visszanyerését.
Adatszervezés Az elektronikus számítógépek adatszervezési felhasználásának kezdetén a logikai és fizikai adatszervezés nem vált külön. A korszerű adatbázis koncepció megjelenésével a logikai és fizikai adatbázis szervezés különvált: a tárolás mely a fizikai adatszervezés része, különvált a logikai szinten végrehajtható adatkeresési eljárásoktól.
Adatszervezés Alapja: az adatelemek logikai egyesítésének módja és sorrendisége
Elemi kapcsolat típusok Az adatok kapcsolatainak lehetséges alapformái az adatmodellben.
Adatmodell – Szg. Az adatmodellezés során grafikusan felvázolt adatokat és kapcsolataikat a számítógép számára a következő formában építhetjük fel: A legkisebb egység a bit, amely egy kettes számrendszerben kifejezett számjegyet jelent. A második egység a byte, amely rendszerint 8 bitből és egy ellenőrző bitből áll. A következő egység a mező, mely egy önálló adatot jellemez.
Adatmodell – Szg. Több mező alkot egy szegmenst, mely lehet egyszeri vagy ismétlődő. A szegmens lényegében bizonyos összetartozó mezők legmagasabb logikai szintű együttese. Több mező vagy szegmens alkot egy rekordot, melyet másképp adatmondatnak is neveznek. Az adatok legmagasabb szervezeti formája a file, másképp dossziénak is hívják.
Az adategységek Logikai egységek: bit byte mező szegmens rekord blokk file adatbázis Fizikai tárolási egységek (Bit, byte), blokk, állomány: adattárolás során megjelenő elemek: operációs rendszer ill, a hardverelemek által kezelt adattárolási egységek.
Az adatmodell leképezése Logikai komponensek egyedtípus egyedelőfordulás terjedelem adatmodell tulajdonságtípus tulajdonság előfordulás azonosító halmazkeresési jellemző kapcsoló tulajdonságtíp. Fizikai komponensek állomány, file rekord rekordok száma adatbázis mező mező értéke, adat értelmezési tartomány elsődleges kulcs másodlagos kulcs pointer, indextábla elem
Az adategységek viszonya Legkisebb gépi elem: bit Legkisebb címezhető elem: byte szervezésű rendszereknél: byte szószervezésű gépeknél: szó adatmező: az adatszervezés elemi egysége, tartalma az érték, az elemi adat szegmens: adatok közötti logikai összefüggés: csoport (pl. cím: ir.szám, helység, utca név, házszám stb.) hossza: az őt alkotó mezők hosszának összege
Az adategységek viszonya adatrekord: logikailag összetartózó szegmensek (termékszám, megnevezés, egységár stb.) hossza: a szegmensek hosszának byte-ban kifejezett összege file: egységet alkotó rekordok mérete: a rekordok száma
Adat – és állományszervezés Feladatok: szervezési egységek: adatelemek, adategységek és struktúrák meghatározása társzervezési mód szervezési mód tárolóhoz rendelése hozzáférési mód ahogyan a megfelelő szervezési egységekben tárolt tartalom visszanyerhető
Fizikai adategységek Fizikai egységek: belső ábrázolás szempontjából: típus (integer, real stb.), hossz (fix, változó) I/O elérés szempontjából: blokk operációs rendszer ill, a hardverelemek által kezelt adattárolási egységek Blokk: egyetlen I/O művelettel mozgatunk a periféria és a központi egység között.
Kapcsolat a logikai és a blokk között 1 fizikai blokkban több logikai rekord: blokk blokkolási faktor: megmutatja, hogy a blokk hány logikai rekordot tartalmaz blokk hossza: az adathordozó fizikai kapacitása korlátozza
Kapcsolat a logikai és a blokk között logikai rekord hosszabb: logikai rekord részekre bontása 1 logikai rekord több fizikai egységben helyezkedik el
Kapcsolat a logikai és a blokk között Lehetőségek: 1 logikai rekord = 1 fizikai rekord (blokkolatlan állomány) több logikai rekord = 1 fizikai rekord (blokkolt állomány) 1 logikai rekord = több fizikai rekord (osztott rekordú állomány)
Állomány Az adatok legmagasabb szervezeti formája a file. Egységet alkotó rekordok. Mérete: a rekordok száma.
Állományok Kategóriák: mit tartalmaz milyen céllal hozták létre hogyan helyezik el a rekordokat a háttértárolón (fájl-szervezési mód)
Állományok Tartalom: programállományok: SW parancsokat, utasításokat tartalmaz adatállományokat
Állományok Funkcionalitás: törzsállomány tranzakciós avagy átmeneti állományok lista avagy report file-ok történet file-ok avagy archív állományok backup file-ok avagy biztonsági másolatok
Állománytípusok Törzsállomány: hosszabb időn keresztül tárolunk, használunk egyedre vonatkozó, ált. állandó attribútumok „azonnal” elérhetők
Állománytípusok Tranzakciós avagy átmeneti állományok: feldolgozáskor keletkeznek ált. egy másik feldolgozás inputjaként szolgálnak megőrzésük átmeneti
Állománytípusok Lista avagy report file-ok: nyomtatáshoz szükséges adatok fájlba viszik ki
A műveletvégzés módja kötegelt avagy batch feldolgozás: a tranzakciókat összegyűjtjük és úgy dolgozzuk fel tranzakcióorientált feldolgozás: tranzakciókat a változás pillanatában ill. azt közvetlenül dolgozza fel és közvetlenül előállítja az eredményt off line: a feldolgozás nem a tranzakció helyén on line: a felhasználói adatberendezés közvetlen kapcsolatban van a feldolgozó szgéppel valós idejű (real time) feldolgozás
Hogyan helyezzük el az adatokat a háttértárolókon?
File-szerkezetek kialakítása felhasználói igények tárolási és elérési lehetőségek file szerkezet
A fájlszerkezetet meghatározó tényezők az adatok feldolgozásával szemben támasztott igények hardver lehetőségek, elsősorban perifériális egységek képességei az adatokat kezelő, a hardver lehetőségeket kihasználó szoftver: IOCS, DBMS
A file szerkezetet meghatározó tényezők a feldolgozási idő a terület növekedésével csökken hosszabb karbantartási idő - gyorsabb elérés
Tárolás és elérés szervezés állományszervezés adathordozóra elérési módszerek adathordozóról
Tárolás és elérés szervezés Fájlszervezési mód: az a rend, ahogyan az adatrekordokat s fizikai tárolóhelyeken elhelyezzük Fájl elérési mód (keresés) az a lehetőség, ahogyan a tárolt adatrekordokat visszanyerhetjük Kapcsolatteremtés az állományok rekordjainak egymáshoz rendelési módja
Szg-en tárolt rendszer karbantartása meglevő elemek módosítása rekordok tartalmának módosítása meglevő elemek törlése állományokban levő rekord új elemek felvitele új rekordok állományokhoz illesztése
Szg-en tárolt rendszer karbantartása Rekordok tartalmának módosítása az op. memóriába beírt rekord egyes mezőit felülírjuk, majd a háttértárolóra visszaírjuk Állományokban levő rekord törlése fizikai törlés logikai inaktiválás
Szg-en tárolt rendszer karbantartása Új rekord állományhoz illesztése első szabad helyre fizikai sorrend rendszerint el fog térni a logikaitól az új rekordot a rendszer logikailag a megfelelő helyre teszi logikai sorrend azonos a fizikai sorrenddel megvalósítás technikailag többféleképpen az új rekord utáni rekordokata tárolón el kell csúsztatni (átírni új területre!)
Címzési módszerek Közvetlen elérésű adattárolók Két címzési forma: egy meghatározott hely pontos megjelölése a tároló címe – fizikai cím logikai azonosító leképezése fizikai címre (milyen a kapcsolat a logikai rekord azonosítója (logikai azonosító) és az elhelyezés fizikai címe között) Két címzési forma: direkt címzés indirekt címzés
Címzési módszerek Direkt címzés logikai azonosítóból közvetlenül fizikai cím kölcsönös és egyértelmű megfeleltetés a logikai rekord kulcsa (logikai azonosító) és az elhelyezés fizikai címe között
Címzési módszerek Indirekt címzés lényege a rendezési fogalomból különböző képletek segítségével tároló címeket gyártanak és a rekordokat ezeken a címeken helyezik el. Ennek a tárolási módszernek az a problémája, hogy a rendezési elv és a tárolóhelyek között nem lehet olyan képletet gyártani, mely biztosítja, hogy valamennyi tárolóhely betöltésre kerüljön és csak egy rekord által, hanem előfordul az, hogy más és más rendezési elvnek ugyanaz a tároló cím felel meg a képletek alapján.
Címzési módszerek Indirekt címzés Ebben az esetben úgy járnak el, hogy a már betöltött tárolóhelyen szabadon hagyott rekeszekbe megjelölik azt a helyet, ahová az úgynevezett túlcsordulási területen a kérdéses rekordot elhelyezik. ily módon a fizikai cím megkeresése után a kereső programnak lehetősége van arra, hogy a címen tájékoztatást kapjon a rekord túlcsordulási területen történő elhelyezkedésére.
Címzési módszerek Indirekt címzés a számítási algoritmus két logikai rekordot ugyanarra a fizikai helyre (fizikai cím) logikai azonosító többszörös leképezés, vagy a rekordokat un. túlcsordulási területre helyezzük (Hashing algoritmus) fizikai cím
Adatok visszanyerése
Keresési módszerek Adatvisszanyerés: Keresési módszerek: a rekord fizikai címe ismert a fizikai cím nem ismert Keresési módszerek: címmeghatározés nélküli keresés a rekord fizikai címe szerinti keresés keresés pointerláncokon keresztül keresés indextáblákkal
Keresés A logikai adatszervezés: a keresési eljárásoknál a rekordok virtuális tehát logikai elhelyezkedése alapján fogjuk végezni a keresést. a rekord tároló helye: ezt úgy kell érteni, hogy melyik az a relatív hely, amelyet a rekord a logikai file-ban elfoglal. A fentiekből következik, hogyha a tárolás alatt azt értjük, hogy hogyan építjük fel a logikai file szerkezetet.
Keresési mechanizmusok egy rekord megtalálására Az állománynak a keresési algoritmus szerint kell rendezve lenni. Keresési mechanizmusok: Lineáris keresés m-utas keresés bináris keresés Peterson féle keresési algoritmus
Keresési mechanizmusok egy rekord megtalálására Lineáris keresés a rekordokat egyenként beolvasva hasonlítjuk a keresési argumentummal m-utas keresés az állományt azonos számú részekre bontjuk, és mindig a blokk első rekordjához hasonlítjuk
Keresési mechanizmusok egy rekord megtalálására bináris keresés a keresés kezdése az állomány közepénél Peterson féle keresési algoritmus ismerni kell a kulcsok valószínűség-eloszlását az állomány két olyan részre osztása, amelyekben a kérdéses rekord előfordulási valószínűsége azonos
Fájl-szerkezetet Társzervezvezési mód Kapcsolatteremtés Fájl-szervezési mód Fájl elérési mód (keresés) Kapcsolatteremtés az állományok rekordjainak egymáshoz rendelési módja
Fájlszervezési mód Fájlszervezési mód: az a rend, ahogyan az adatrekordokat a fizikai tárolóhelyeken elhelyezzük Fájlszervezési módok: soros szervezés szekvenciális sorrendjében direkt szervezés: determinisztikus kapcsolat: a logikai azonosító és az fizikai cím között random kapcsolat:: véletlen kapcsolat Stb.
Fájl elérési mód (keresés) az a lehetőség, ahogyan a tárolt adatrekordokat visszanyerhetjük. Elérést meghatározó tényezők: elsődleges: a feldolgozási igény, másodlagos: tárolási lehetőség, választott szervezési mód.
Állománylétrehozási módszerek Állománystruktúrák a rekordok egymáshoz való helyzete alapján szekvenciális fájlszerkezet: hierarchikus fájlszerkezet hálós fájlszerkezet asszociatív struktúrák
Állománylétrehozási módszerek szekvenciális fájlszerkezet: első és az utolsó rekord kivételével mindegyik rekordnak van egy megelőző és egy követő rekordja fizikai, logikai szekvenciális fájlszervezési mód
Állománylétrehozási módszerek hierarchikus fájlszerkezet rekordoknak van egy megelőzője, de több követje lehet fastruktúrák, ahol a rekordok kapcsolata, azok sorrendisége belső pointerekkel vagy indextáblákkal oldható meg hálós fájlszerkezet minden rekordnak több megelőzője és több követője is lehet a rekordok kapcsolata, azok sorrendisége belső pointerekkel vagy indextáblákkal oldható meg
Állománylétrehozási módszerek asszociatív struktúrák a rekordok egymást valamilyen logikai sorrendben követik egymást indexszekvenciális állományok, B+ fák
A file-ok közötti kapcsolatok megteremtése
A file-ok közötti kapcsolatok megteremtése rekordpárosítás azonos rendezettségű állományok között pointerek beépítése pointerlánc: egyirányú, kétirányú gyűrűs szerkezetek pointer tömbök alkalmazása indextáblák létrehozása
Állományon belüli pointerek alkalmazása A láncolt listát a logikai kapcsolat ábrázolására használjuk
1:N fokú kapcsolat Láncszerkezet kialakítása pointerrel Listafej Azonosító Pointer Azonosító Pointer
Gyűrűs szerkezet egyirányú láncolással
Gyűrűs szerkezet egyirányú láncolással listafejre (gyökérre mutatóan)
Gyűrűs szerkezet kétirányú láncolással
Állományon kívüli pointer hivatkozás Láncolt lista a fizikai kapcsolat ábrázolására
Többlistás lánc gyors egyedi rekord keresés gyors szekvenciális feldolgozási igényesetén javasolt
Cellás láncok 1-100 100-200
Állományszervezési mód megválasztása - működési hatékonyság tárolóterület nagysága logikai tárigény nem azonos a fizikaival időtényező: létrehozási, lekérdezési, karbantartási, feldolgozási idők hardver-szoftver támogatás: tárolók típusa, IOCS, adatkezelési lehetőségek
Állományszervezési mód megválasztása -felhasználói igények azonnali feldolgozások érvényességi kérdések eseményt követő feldolgozás, időbeliség feldolgozással szembeni elvárások szekvenciális közvetlen elérések gyakorisága elsődleges, másodlagos kulcs szerinti keresések
Állományszervezési mód megválasztása -kiválasztási szempontok az adatbázis és állományainak jellemzői adattömeg azonosítók felépítése felhasználási paraméterek tranzakcióarány - a feldolgozandó rekordok száma feldolgozott rekordok aránya az összeshez képest karbantartás gyakorisága, mértéke
Állományszervezési mód megválasztása -fizikai adatkezelési jellemzők központi tár mérete, címzési lehetőségek adatcsatorna, pufferelési technika, kapacitás perifériavezérlő képessége, működési módja adathordozók jellemzői: címezhetőség, műveleti sebesség, kapacitás, cserélhetőség
2005. október 10.
Az adathalmaz Egy meghatározott információ vagy információk egy halmazának előállításához szükséges összes objektum adatokkal történő leírásának összes előfordulását adathalmaznak nevezzük.
A fájl háttértárolón tárolt adathalmaz.
Fájlok feladata Az adatösszefüggések megjelenítése. Az adatok tárolása a számítógép által feldolgozható formában. Adattárolás: a számítógép egy külső perifériáján valósul meg.
Fájl értelmezése Fájlfogalom: Kezdetben: Fájlok fizikai megvalósulása. Logikai fájlmodell. Kezdetben: a fájlok feladata elsődlegesen az adatok tárolása volt.
Fájl értelmezése Fájlok fizikai megvalósulása: ahogy a fájl az adathordozón "kinéz„. A fájl fizikai képét a állománynak nevezik. Fájl logikai képe (modellje): ahogy a fizikai megvalósulást a fájlt kezelő program a számítógép memóriájából "látja".
Fájl fizikai képe – az állomány Az állományt az adott háttértár operációs rendszere hozza létre. Ez a fizikai kép a felhasználót és a szervezőt egyáltalán nem, a programozót is csak speciális esetekben szokta érdekelni.
Logikai fájlmodell A fájl logikai modelljének megalkotása: szervező feladata. Logikai fájlmodell függ: az adathalmaz méretétől és tulajdonságaitól, a felhasználás jellemzőitől, valamint annak a perifériának a jellemzőitől, amelynek segítségével a fájl adathordozóra írását megoldja.
Fájlok alapfogalmai Fájl: Rekord fogalmának fizikai értelmezése: Egy adathalmaz külső adathordozón tárolt formája. Rekord fogalmának fizikai értelmezése: Ha adathalmazunk adat n-esekből áll, egy adat n-es adathordozón tárolt formáját rekordnak nevezzük.
Fájl fizikai képe – az állomány Az állományokkal való gépen belüli kommunikáció meggyorsítása érdekében a háttértárak fizikailag a rekordnál nagyobb egységet kezelnek, a blokkot. Egy blokk több rekordból áll. A blokkolási tényező határozza meg ezt a rekordszámot. Ha a blokkolási tényező 1, akkor a blokk és a rekord megegyezik. Egy blokk a számítógép elkülönített memóriájában, a bufferben vár a blokkba tartozó összes rekord feldolgozására.
Rekorddefiníció Rekord fogalmának fizikai értelmezése (lásd korábban) Rekord fogalmának logikai értelmezése: rekord egy adatobjektumról megállapított összes adatból álló összetett adat, azaz egy egyedelőfordulás összes egyedtulajdonságának leírása a rekord.
Rekordmező Egy egyedtulajdonság-előfordulásnak a rekordon belüli leírása a (rekord)mező. Kiemelt fontosságú rekordmezők: A kulcsmező (vagy röviden kulcs) egy adott keresési szempont esetén felhasznált mező. Egy rekordkereséseben több mező is szerepelhet kulcsként. több mező esetén mindegyik mezőt kulcsnak nevezzük, de a rekordok sorrendjét meghatározó szerepük/hierarchiájuk alapján beszélünk elsődleges, másodlagos stb. kulcsról.
Fájlokkal kapcsolatos fogalmak Rekord: egy adatobjektum képe a fájlban. (Rekord)mező: egy adatelem képe a fájlban. Kulcsmező: egy adott szempontú keresés során használt mező. Kulcs: kulcsmezők összessége.
Fájldeklaráció A fájl leírása létrehozás céljából, ahol megadandó: a fájl mezői; a mezők típusa; a mezők mérete; a fájl rekordtípusa; a fájl kulcsmezői.
Fájlok osztályozása Az osztályozás történhet: felhasználás szerint (lásd bővebben korábbi slide-okon); a rekordok felépítése szerint; a rekordok elhelyezése szerint; a rekordok hozzáférési eljárásai szerint.
Fájlok osztályozása Felhasználás szerint: törzsfájl; tranzakciófájl; munkafájl; listafájl; kódtáblázatfájl.
Fájlok osztályozása A rekordok felépítése szerint: állandó rekordhosszúságú fájl, változó rekordhosszúságú fájl.
Állandó rekordhosszúságú fájl minden rekord azonos számú mezőt tartalmaz; egy tulajdonságtípusnak megfelelő mező hossza állandó, azaz azonos számú karaktert tartalmazhat. Általában az állandó rekordhosszúságú fájl egy rekordja nem tartalmaz ismétlődő mezőket vagy ha igen, a mező minden rekordban ugyanannyiszor ismétlődik: például ha egy év havi bevételei egy rekordban szerepelnek. Tipikusan: A törzsfájlok, munkafájlok állandó rekordhosszúságú fájlok.
Változó rekordhosszúságú fájl Vagy rekordonként változó számú ismétlődő mezőket találhatunk, vagy egy vagy több olyan mezőt, amelynek mezőhossza rekordonként változhat. Tipikusan: listafájlok változó rekordhosszúságúak.
Fájlok osztályozása A fájlok felépítését meghatározza: a rekordok elhelyezése és a rekordok hozzáférési eljárásai. A rekordok elhelyezése szerint: rendezetlen fájl a rekordok sorrendjét a fájlba érkezés sorrendje határozza meg. rendezett fájl. egy kulcs értékeinek növekvő vagy csökkenő sorrendje határozza meg az egymás utáni rekordokat.
A rekordok hozzáférési eljárásai A tárolt adatokat általában több, különböző program használja, ezért a rekordokat úgy kell elhelyezni, szervezni a fájlon belül, hogy: mindegyik program hozzáférjen a számára szükséges rekordhoz vagy rekordokhoz. A rekordok elérése: a rekordhozzáférési eljárások biztosítják.
Fájlok osztályozása A rekordok hozzáférési eljárásai szerint: szekvenciális fájl; direkt fájl; indexelt-szekvenciális fájl.