2. Adatszervezés, adatelérés, adatbáziskezelı rendszerek

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "2. Adatszervezés, adatelérés, adatbáziskezelı rendszerek"

Átírás

1 2. Adatszervezés, adatelérés, adatbáziskezelı rendszerek 2.1. Bevezetés 2.2. Adatszervezés: elemi adatok, összetett adatszerkezetek 2.3. Tárolási szerkezetek 2.4. A háttértárakon, valamint az adatforgalomban alkalmazott adategységek 2.5. Tartalom szerinti adatelérés 2.6. Adatbáziskezelı rendszerek 2.7. Adatbázistervezés adatmodellezés

2 44 INFORMATIKUS SZAKMAI ISMERETEK 2.1 Bevezetés Ez a fejezet alapvetı adatszervezési ismeretekkel kezdıdik (2.2. alfejezet). Ezekbe beletartozik a különféle típusú elemi adatok számítógépi ábrázolási módja, de a bonyolultabb problémákat jellemzı összetett adatszerkezetek típusai is. A 2.3. alfejezet az összetett adatszerkezetek reprezentálására alkalmas tárolási szerkezetek fıbb típusait mutatja be függetlenül azok fizikai megvalósításaitól. A 2.4. alfejezet a háttértárakon, valamint a háttértárak és központi memória közötti adatforgalomban alkalmazott fizikai és logikai adategységeket ismerteti. Az adatszerkezeteket, az adattárolást, valamint az ezekkel összefüggı adategységeket tárgyaló részeket követıen a 2.5. alfejezet az adatok tartalom szerinti elérési módjaival, konkrétabban a tartalom szerinti elérést meggyorsító megoldásokkal foglalkozik különös tekintettel a relációs adatbázisoknál nélkülözhetetlen indextáblákra, valamint a többdimenziós adatbázisokra jellemzı inverz táblákra. A alfejezetek egyebek mellett az adatbázisok szerkezeti felépítésének megértését, lényegében az adatbáziskoncepciókat tárgyaló 2.6. alfejezetet készítik elı. Ez az alfejezet az adatbázisoknak nem csak felépítés (technológia), hanem az alkalmazási cél szerinti típusait is megkülönbözteti, így részletesen foglakozik az OLTP rendszerek adatbázisai és az adattárházak közötti különbségekkel. A 2.4. alfejezet az OLTP rendszereket kiszolgáló relációs adatbázisokra koncentrálva részletesen bemutatja az adatbázistervezés részét képezı adatmodellezés elveit, fogalmait és módszereit (normalizálási szabályait).

3 ADATSZERVEZÉS, ADATELÉRÉS, ADATBÁZISKEZELİ RENDSZEREK Adatszervezés: elemi adatok, összetett adatszerkezetek Adatábrázolás a számítógépeken Elemi adattípusok Digitális adatábrázolás Az szakaszban már szerepelt, hogy az adat egyszerő vagy összetett jel, az utóbbi legegyszerőbb változata pedig a jelsorozat. Technikailag (mechanikai, optikai, elektromágneses vagy elektronikus eszközzel) a legegyszerőbben megvalósítható jelkészlet egy kétállapotú kapcsoló kétféle állapotából áll. A digitális adatábrázolásban alkalmazott kétállapotú kapcsolók neve: bit. A digitális számítógépek operatív memóriájában vagy a digitális adathordozókon minden adat bitek sorozataként ábrázolódik. Az elemi adattárolási egységként itt bevezett bit nem azonos az szakaszban az információmennyiség mértékegységeként bevezetett bittel, de a két fogalom között szoros kapcsolat van: egy n bitnyi információmennyiséggel rendelkezı adat tárolásához legalább n bit (elemi tárolási egység) szükséges. A bit két állapotának egyike tekinthetı 0-nak, a másika 1-nek. A kettes (bináris) számrendszerben éppen elegendı ezt a két számjegyet használni, továbbá ebben a számrendszerben az alapvetı aritmetikai mőveleteket (összeadás, szorzás) nagyon egyszerő szabályok szerint lehet elvégezni. Ez az oka annak, hogy a számítógépes számábrázolásban egyeduralkodó szerephez jutott a kettes számrendszer. Ráadásul a számítógépben (de a háttértárakon is) nemcsak a számszerő adat, hanem mindenféle adat (szöveg, kép, hang) valamilyen szabályok szerint számként kódolódik, azaz végeredményben bináris számmal ábrázolódik. A legkisebb címezhetı adategység, a bájt (byte) A számítógép operatív memóriájában az egyes tárolási egységek (és azzal a bennük tárolt adatok) véletlenszerően (közvetlenül) elérhetık, a címük (a memóriaegység sorszáma) alapján: Pl. a 100. memóriaegységben tárolt adat olvasásához nem kell végigmenni az elızı 99 egységen, és így bármely memóriaegység az elhelyezkedésétıl függetlenül azonos idı alatt érhetı el. A legkisebb ilyen címezhetı egység általában a 8 bitbıl álló bájt (byte). Adattípus A számítógéptıl függetlenül is megkülönböztetik az adatok megjelenésének (ábrázolásának, kódolásának) többféle típusát, például a számokat, a szövegeket, a képeket, stb. Az adatok ilyen fajtáiból vonatkoztatható el az adattípus fogalma. Adattípus Az adattípus adatábrázolási (kódolási) módot, értékkészletet, az adott módon ábrázolt adatokon értelmezett mőveletek készletét és az egyes mőveletek végrehajtási módját együttesen meghatározó kategória. Az szakaszban értelmezett specifikált adat számítógépi reprezentációjának meghatározása magában foglalja az adattípus megválasztását. Itt azért a magában foglalja az adattípus megválasztását kifejezést használtuk az azonos az adattípus megválasztásával helyett, mert egy adattípus megvalósítása még függhet a számítógép vagy a használt szoftver (operációs rendszer, adatbáziskezelı) típusától is.

4 46 INFORMATIKUS SZAKMAI ISMERETEK A különbözı adattípusok mindegyike összetartozó bájtok sorozataként ábrázolható. Arra, hogy az adattípus meghatározza az elvégezhetı mőveleteket egyszerő példa, hogy a numerikus típusú (számszerő) adatokon lehet aritmetikai mőveleteket végezni, míg a szöveg típusú adatokon általában nem. Vannak azonban olyan mőveletek is, amelyek sokféle adattípuson elvégezhetık, mégpedig az összehasonlítás (A=B, A<B, A<=B, ) mőveletek, azonban a különbözı adattípusokra eltérı módon hajtódnak végre. Például a szöveges adatok összehasonlítása olyan, hogy ugyanazt a rendezettséget adja, mint amilyen a nevek rendezettsége a telefonkönyvben. Egy számjegyekbıl álló adat a számítógépben ábrázolható numerikus típusú (számszerő) formában és szöveg formában is. A két esetben a 2681 és a számok, illetve a 2681 és a szövegek összehasonlítása különbözı eredményre vezet: 2681 < , ahogy azt a matematikában megszoktuk; viszont < 2681, ahogy ELEMÉR is megelızi ELİD -öt a telefonkönyvben. (Egy fıkönyvi kivonaton a fıkönyvi számlaszámok szokásos rendezettsége is ilyen, ezért a fıkönyvi számlaszámok adattípusát célszerőbb nem numerikusnak, hanem szövegnek választani.) Egyébként a numerikus típusú adatok is többféleképpen ábrázolódhatnak (kódolódhatnak) a számítógép memóriájában: 1. A teljes számértéket teszik át a mindennapi életben megszokott decimális (tízes alapú) alakról bináris (kettes alapú) alakra. 2. A számjegyenként történik a bináris alakra áttétel, így számjegyenként binárisan kódolt, de a mőveletek szempontjából mégis decimálisnak számító alak adódik. Az 1. megoldás kedvezı a számítási mőveletek végrehajtási sebessége szempontjából, de különösen a pénzügyi alkalmazások szempontjából van egy kellemetlen tulajdonsága: A törtrészt is tartalmazó decimális számok többnyire nem konvertálhatók pontosan bináris számmá, mert sok véges tizedes törtnek véges számú biten csak pontatlanul ábrázolható végtelen kettedes tört felel meg. Ebbıl adódóan, amikor a számítógép pl. egy részletes számlát nyomtat, akkor az összegeket a belsı bináris ábrázolásról a külsı decimálisra kell konvertálni, ám a belsı és a külsı kerekítések eltérése miatt a konvertálás nem lehet pontos, és gyakran a számlán furcsa módon a részösszegeknek nem lesz összege a végösszeg (lásd a bekeretezett példát). Ajtók: ,21 Ablakok: ,21 Összesen: , : Decimálisból bináris számmá konvertálás és kerekítések miatti hiba. A 2. megoldás esetében nem jelentkezik az elıbbiekben említett eltérés a papíron és a számítógépben elvégzett mőveletek között, ezért a pénzügyi rendszerekben az ilyen belsı ábrázolási móddal rendelkezı numerikus adattípust célszerő a pénzösszegek adattípusává választani Összetett adatszerkezetek A strukturált megközelítési mód (lásd a 3. fejezetben) felfedezése volt az az elv, hogy a programok, programfunkciók szerkezetének optimálisan a feldolgozandó adatszerkezetet kell követni. (Ez a feladattól függıen lehet az input vagy az output adatszerkezet vagy a kettı burkolója vagy a kettı közötti közvetítı szerkezet.) Az elvet fejlettebb formában a korszerőbb objektumorientált módszertanok is megtartották. (A továbbfejlesztett elv úgy szól, hogy a

5 ADATSZERVEZÉS, ADATELÉRÉS, ADATBÁZISKEZELİ RENDSZEREK 47 programfunkciókat valamilyen gazda adatszerkezet köré kell szervezni.) A programozási feladatot lényegesen megkönnyíti, ha a programozók valamilyen elıre adott megoldási sémákat követhetnek, fıleg ha a sémák száma nem túl magas. Ilyen szempontból szerencse, hogy bár az adatoknak végtelen sokféle összetétele (kompozíciója) lehetséges, a lényeges tulajdonságok tekintetében az összetett adatszerkezetek mindössze néhány típusba sorolhatók, következésképpen a programozási feladatok is tipizálhatók. E szakasz az összetett (absztrakt) adatszerkezetek fı típusait tekinti át ábra: Néhány összetett adatszerkezet: tömb, szekvencia, fa, háló A 2.1. ábrán az összetett struktúrák elemeit csomópontok, a közvetlen kapcsolataikat pedig nyilak képviselik. Ezzel összhangban egy fa vagy egy háló elemei helyett ezek csomópontjairól lehet beszélni. Halmaz (asszociatív szerkezet, tömb) Az összetett adatok közül a legegyszerőbb szerkezet a halmaz. Halmaz A halmaz mint összetett adat elemi adatok olyan együttese, amelyek között azon felül, hogy bele tartoznak az adott együttesbe, semmilyen kapcsolatot nem feltételezünk.

6 48 INFORMATIKUS SZAKMAI ISMERETEK A [Mérey-1979] forrás ezt nevezi asszociatív szerkezetnek és tömbnek is. Valójában a programnyelvekben alkalmazott tömbfogalom inkább a 2.3. alfejezetben vektor néven bevezetett tárolási szerkezetnek felel meg. Szekvencia sor és verem Ha egy útvonal egymást követı szakaszait vagy egy gyártási folyamat szigorúan egymást követı mőveleteit vagy ügyfelek érkezési sorrendben való kiszolgálását akarjuk modellezni, akkor az útvonalszakaszok vagy az ügyfelek sorrendje már lényegi, tartalmi jelentéssel bír. Az említett jelenségek modellezésére alkalmas struktúra a szekvenciális adatszerkezetek egyike a sor (nem tévesztendı össze a papírlapra írt szövegek tagolásával kapott sorral). Szekvencia: A szekvenciális adatszerkezetet (röviden szekvenciát) a következı jellemzık definiálják: 1. A szerkezet bármely A eleméhez kivéve az egyetlen elsı elemet létezik pontosan egy olyan tıle különbözı B elem, amely közvetlenül megelızi A-t (másképpen, amelyet az A közvetlenül követi). Az elsı elemet éppen az definiálja, hogy nem létezik azt közvetlenül megelızı elem a szerkezetben. 2. A szerkezet bármely A eleméhez kivéve az egyetlen utolsó elemet létezik pontosan egy olyan tıle különbözı B elem, amely közvetlenül követi A-t (másképpen, amelyet az A közvetlenül megelızi). Az utolsó elemet éppen az definiálja, hogy nem létezik azt közvetlenül követı elem a szerkezetben. A szekvencia szemléletesen elemek lineárisan kiterített sorozata (lásd a 2.1. ábrán). A sor (egy és kétvégő) és a verem speciális szekvenciák, amelyek az új elem hozzáadása és egy elem elvétele mőveletekben különböznek egymástól. Sor (egyvégő): A sor (másképpen egyvégő sor) olyan szekvencia, amelybe új elemet elhelyezni csak a végére (az utolsó elem után) lehet, és amelybıl elvenni (törölni) a mindenkori elsı elemet lehet. A sor tehát egy FIFO (first in first out) szerkezet összhangban az ügyfelek érkezési sorrendben való kiszolgálásának példájával. Kétvégő sor: A kétvégő sor olyan szekvencia, amelybe új elemet elhelyezni vagy belıle elemet elvenni (törölni) mindkét végén lehet. Verem: A verem olyan szekvencia, amelybe új elemet elhelyezni és belıle elvenni csak ugyanazon végén lehet. A verem tehát egy LIFO (last in first out) szerkezet. A veremre közismert példa az öltözködés-vetkızés: amit utoljára veszünk fel, azt lehet elsıként levetni (ha a trükkös megoldásokat nem számítjuk). Hierarchia vagy fastruktúra Hierarchia, más szóval fastruktúrával például egy hagyományos szervezet felépítése a különbözı szintő szervezeti egységekbıl vagy a fıkönyvi számlák kapcsolatai a számlarendben.

7 ADATSZERVEZÉS, ADATELÉRÉS, ADATBÁZISKEZELİ RENDSZEREK 49 Hierarchia (fastruktúra): A hierarchiát másképpen a fát (fastruktúrát) a következı jellemzık definiálják: 1. A fa bármely A eleméhez kivéve az egyetlen gyökér elemet létezik pontosan egy olyan tıle különbözı B elem, amely közvetlenül megelızi A-t (másképpen, amelyet az A közvetlenül követi). A gyökér elemet éppen az definiálja, hogy nem létezik azt közvetlenül megelızı elem a fában. 2. A (szekvenciával ellentétben a) fa egyes A elemeihez esetleg több olyan tıle különbözı B elem is létezhet, amely közvetlenül követi A-t (másképpen, amelyet az A közvetlenül megelızi). A fa azon elemeit, amelyekhez nincs közvetlenül rákövetkezı elem, levélszintő elemeknek hívjuk. Nevezetes fák a rendezıfák, mert ezeket gyakran alkalmazzák a tartalom szerinti (kulcs szerinti) véletlenszerő keresés meggyorsítására, amikor a keresett elemet különösen nagy sokaságban kell megtalálni (lásd indextáblák). A fa tipikus mőveletei: Egy új B elem hozzáadása a fához, megadva, hogy melyik az az A elem, amelyet a B közvetlenül követ. A fa egy részfájának a levágása. A fa egy ágának bejárása a gyökérbıl kiindulva és mindig valamely közvetlenül követı elem irányában lépve. A fa egy ágának bejárása adott levélszintő elemtıl a gyökérig. A fa (vagy egy részfája) hierarchikus bejárása. A fa definíciójából következik, hogy minden elemére (csomópontjára) értelmezhetı a szintszáma és a fokszáma. A szintszám az elemtıl mindig a közvetlenül megelızı elem felé haladva a gyökérig vezetı útvonal hossza (a gyökér szintszáma 0). A fokszám az elemet a fában közvetlenül követı elemek száma. Egy fa bármely két A, B elemét összeköti egy A=E 1, E 2,, E n =B lánc, amelyben E i+1 az E i -t vagy közvetlenül követı vagy közvetlenül megelızı elem (ez az alternatív feltétel a különbözı i-kre eltérı módon teljesülhet). Az is igaz, hogy a fa bármely két A, B eleméhez pontosan egy olyan összekötı lánc létezik, amely a fa bármely elemét legfeljebb egy alkalommal tartalmazza. Háló Hálót alkotnak például a településeket összekötı útvonalak, de hálóval modellezhetı egy építkezés tevékenységeinek a technológiai sorrend szerinti kapcsolatrendszere is. Általában minden komplexebb folyamat (így egy könyvvizsgálati folyamat is) vagy egy összetettebb viszonyrendszer hálóra képezhetı le. Háló A háló egy összefüggı gráf; másképpen szólva olyan struktúra, 1. amelynek bármely két nem feltétlenül különbözı A, B elemére adott, hogy közöttük fennáll-e egy meghatározott A-K-B kapcsolat, és 2. amelynek bármely két A, B elemét összeköti legalább egy A=E 1, E 2,, E n =B (n>=2) lánc, melyben minden E i, E i+1 párra vagy az E i -K-E i+1, vagy az E i+1 -K-E i kapcsolat fennáll. A háló (a gráf) éleit olyan nem feltétlenül különbözı elemekbıl álló A, B elempárok alkotják, amely elemek között fennáll az A-K-B kapcsolat.

8 50 INFORMATIKUS SZAKMAI ISMERETEK Az értelmezésbıl következik, hogy a háló akár egy A-K-A hurkot is tartalmazhat; továbbá a háló két A, B elemét akár több lánc is összekötheti. A háló fenti értelmezése nyitva hagyja azt a kérdést, hogy a K kapcsolat szimmetrikus-e vagy sem; a szimmetrikus kapcsolaton azt értve, hogy az A-K-B kapcsolat azonos a B-K-A kapcsolattal. Irányított háló: Az irányított háló olyan összefüggı gráf, amelynek éleit meghatározó K kapcsolat nem szimmetrikus, és benne az A-K-B kapcsolat fennállásából nem feltétlenül következik a B-K-A kapcsolat fennállása is. Az irányított háló éleit meghatározó K kapcsolat tekinthetı a szekvenciában vagy a fában értelmezett közvetlenül követi / megelızi kapcsolatnak is, de azzal a különbséggel, hogy az irányított hálóban lehet olyan elem, amelyet több különbözı elem követ közvetlenül, és olyan elem is, amelyet több különbözı elem elız meg közvetlenül. Az irányított háló tartalmazhat körutat (hurkot) is, aminek a legegyszerőbb esete az önmagával (visszamutató) kapcsolatban álló elem. Irányítás nélküli háló: Az irányítás nélküli háló olyan összefüggı gráf, amelynek éleit meghatározó K kapcsolat szimmetrikus. Az irányítás nélküli háló elemei közötti kapcsolat nem értelmezhetı közvetlenül megelızi / követi kapcsolatként. Ugyanakkor egy Φ irányítás nélküli háló mindig egyértelmően helyettesíthetı egy olyan Ψ irányított hálóval, amelyben pontosan azok az elemek vannak jelen, mint a Φ-ben; továbbá a Φ minden A B szimmetrikus kapcsolatának megfelel a Ψ-ben a nem szimmetrikus A B és B A kapcsolatpár, és a Ψ-ben csak ezek a kapcsolatok állnak fenn Ellenırzı kérdések a 2.2. alfejezethez 1. Az adat(mezı) milyen jellemzıit határozza meg az adattípus? 2. Milyen adattípust alkalmazna pénzmozgás vagy számlaegyenleg értékének tárolására? 3. Milyen adattípust alkalmazna a fıkönyvi számlaszám értékének tárolására? 4. Jellemezze a halmaz és a szekvencia adatszerkezeteket! 5. Milyen változatait ismeri a szekvenciának, és ezek miben különböznek? 6. Jellemezze a fa és a háló adatszerkezeteket! 7. Miért könnyíti meg a programozási munkát az a tény, hogy az adatok végtelen sokféle összetétele (kompozíciója) ellenére a lényeges tulajdonságok tekintetében az összetett adatszerkezetek mindössze néhány típusba sorolhatók?

9 ADATSZERVEZÉS, ADATELÉRÉS, ADATBÁZISKEZELİ RENDSZEREK Tárolási szerkezetek Az elıbbi szakaszban tárgyalt összetett adatszerkezetek a memóriában tárolási szerkezetekre képezhetık le. A tárolási szerkezetek elemei címmel rendelkezı és a címük alapján közvetlenül elérhetı tárolóhelyek. Ez a szakasz háromféle tárolószerkezetet ismertet, a vektort, a listát és a multilistát. Ezek kombinálásával persze további tárolási szerkezeteket is kaphatunk Vektor A számítógép számára a vektor a legkönnyebben kezelhetı tárolószerkezet, mivel a központi memória maga is egy vektor. Vektor: A vektor azonos mérető tárolóegységekbıl áll, amelyek a memóriában összefüggıen egymás után helyezkednek el (lásd a 2.2. ábrán). A vektor elemei logikailag a sorszámukkal, fizikailag a memóriabeli címükkel hivatkozhatók. A definícióból következik, bármelyik vektorelem címe egyszerően kiszámítható az elsı elem címébıl, az elemek (bájtokban adott) méretébıl és a hivatkozott elem sorszámából. 1. vektorelem (cime: C) 2. vektorelem (címe = C + vektorelem hossza) 2.2. ábra: Vektor tárolási szerkezet 3. vektorelem (címe = C + 2* vektorelem hossza) Mind a halmaz (tömb), mind a szekvencia tárolható vektorban, de csak akkor, ha az adatszerkezet elemeinek maximális száma elıre ismert, és az elemek azonos méretőek. Ha a BEVÉTEL[1..20] 20 elemő tömböt vektorral valósítják meg, akkor egy tömbelem indexe egyértelmően megfelel az azt tároló vektorelem sorszámának, azaz a szomszédos indexő tömbelemek a memóriában szomszédos tárolóegységekben tárolódnak. Ilyenkor bármelyik tömbelem közvetlenül elérhetı, mert az indexébıl kiszámítható a tárolási címe. Ennek ellenére a tömb adatszerkezet és a vektor tárolási szerkezet nem keverendık össze. A tömbelemek indexével csak akkor azonos a tárolóhelyük sorszáma, ha a tömböt éppen vektorral reprezentálják. (Egyes szakkönyvek éppen fordítva, az adatszerkezetet nevezik vektornak, és a tárolási szerkezetet tömbnek, de az a lényeg, hogy különbséget tesznek közöttük.) Ha egy szekvenciát vektorban tárolnak, akkor a szekvencia elemeinek szomszédosságát az elemeknek a vektor szomszédos sorszámú tárolóegységeire való leképezésével lehet kifejezni Lista Amikor halmaz (tömb) vagy a szekvencia mérete dinamikusan változhat, vagy az elemei különbözı méretőek lehetnek, a lista az alkalmasabb reprezentáció.

10 52 INFORMATIKUS SZAKMAI ISMERETEK Lista A lista tárolóegységek szekvenciája. A lista elemei az egyes tárolóegységek az érdemi adatokon felül egy mutatót is tárolnak. Ez a mutató a szekvenciában közvetlenül következı listaelem címe (lásd a 2.3. ábrán). A mutató alkalmazásából következik, hogy a lista elemei a memóriában szétszórtan helyezkedhetnek el, ezek szekvenciája a tárolóegységeknek nem a fizikai, hanem egy logikai sorrendjét definiálja: Az egyes elemeknek a listán belüli sorszáma és a memórián belüli címe között nincs semmi összefüggés. 1. listaelem 2. listaelem 3. (utolsó) listaelem adat mutató = 2. listaelem címe adat mutató = 3. listaelem címe 2.3. ábra: Lista tárolási szerkezet adat mutató = nullmutató A listának több elınyös és hátrányos tulajdonsága állapítható meg a vektorhoz képest. Az elınyei: Egy lista különbözı típusú és mérető adatokat tároló listaelemekbıl épülhet fel. A lista rugalmasan bıvíthetı, mivel egy új listaelem bármely szabad területre elhelyezhetı a memóriában, függetlenül attól, hogy az új elemet a logikai sorrend szerint a lista végére vagy a lista belsejébe (két másik elem közé) kell-e illeszteni. Hasonlóan a listából bármely elem egyszerően törölhetı. A lista elemei könnyen átrendezhetık az eredetitıl különbözı szekvenciába. A lista utóbbi három elınye a vektorral szemben azért áll fenn, mert akár a szerkezet bıvítése, akár egyes elemek törlése, akár az elemek szekvenciájának módosítása a vektor esetében általában a vektor egészének vagy nagyon sok elemének fizikai mozgatásával, átmásolásával jár. Például egy új elemmel való bıvítés esetén az egész listát át kell másolni a memóriában egy olyan szabad területre, ahol az új elemével együtt is összefüggı tartományt alkothat. A lista hátrányos tulajdonsága: A lista adott eleme nem érhetı el közvetlenül, hanem csak az elsı elembıl kiinduló és a mutatók láncolatán haladó kereséssel. Ennél fogva egy listaelem átlagos elérési ideje nagyobb, mint egy vektorelemé. A lista különösen alkalmas a következı tulajdonságú adatszerkezetek tárolására: változó mérető adatelemeket tartalmazó halmazok és szekvenciák; szélsıségesen változó elemszámú halmazok és szekvenciák; az elemek sorrendjét dinamikusan változtató szekvenciák. A szélsıségesen változó elemszámú tömbre példa lehet, amikor egy személyi nyilvántartásból egy adott településen lakók neveit akarjuk kigyőjteni (az adott település alkalmanként más egyszer egy kis falu, máskor egy nagy város). Tehát a NÉV[ ] tömb ténylegesen szükséges mérete csak akkor derül ki, amikor már megtörtént a nevek kiválogatása a nyilvántartásból. A NÉV[ ] tömb egy listával így valósítható meg: 1. listaelem adata = NÉV[1], 2. listaelem adata = NÉV[2],. A listának különféle speciális változatai lehetnek: A ciklikus listában az utolsó elem a legelsı elemre (a lista belépési pontjára) mutat.

11 ADATSZERVEZÉS, ADATELÉRÉS, ADATBÁZISKEZELİ RENDSZEREK 53 A kétirányú lista elemeiben két mutató is van, az egyiken a közvetlenül következı, a másikon a közvetlenül megelızı elem felé lehet haladni. Az ilyen listának általában két belépési pontja is van. Az n-es lista elemeiben n számú mutató van, és eszerint minden listaelemhez legfeljebb n számú listaelem kapcsolódhat közvetlenül. Az ilyen tárolószerkezetben speciális (korlátozott elágazásszámú) fa vagy háló tárolható. Például a bináris fa, amelynek minden eleméhez legfeljebb két rákövetkezı elem lehet (egy baloldali és egy jobboldali), kettes (kettıs) listában tárolható, amelynek elemei két mutatót tartalmaznak: a balmutatót és a jobbmutatót. Ha az n-es lista fát reprezentál, akkor általában egyetlen belépési pontot elegendı nyilvántartani: a gyökér elemet; ha hálót reprezentál, akkor az összes eleme belépési pont Multilista Amikor egy fára vagy egy hálóra semmilyen megszorítás nem ismert akkor a memóriában ezen adatszerkezetek leghatékonyabb tárolási reprezentációja a multilista. A leghatékonyabb jelzı arra utal, hogy a legáltalánosabb esetre is léteznek más tárolási reprezentációk, de azokkal a szokásos hálómőveletek (pl. két csomópont közötti útvonal keresése) nagyobb ráfordítással (lényegesen nagyobb futási idıben) hajthatók végre. Multilista: A multilista egy-egy eleme vagy egy csomópontot, vagy egy közvetlenül követi kapcsolatot képvisel; és a következı részekbıl épül fel: a jelzı, az adat, és a kapcsolat mutatója. 1. A jelzı azt jelzi, hogy a multilista adott eleme csomópontot (c) vagy kapcsolatot (k) képvisel-e. 2. Az adat a csomópont esetén annak jellemzıit tartalmazhatja (a példában egyetlen jellemzıt a csomópont nevét írjuk ide). Kapcsolat esetén legyen az az X csomópont kapcsolata az X csomópontot az adott kapcsolatban közvetlenül követı csomópont mutatója. (Itt minden mutató alatt a multilista valamely elemének mutatóját kell érteni. Tehát egy csomópont mutatója pontosabban a csomópontot képviselı listaelem mutatóját jelenti, hasonlóan egy kapcsolat mutatója pontosabban a kapcsolatot képviselı listaelem mutatóját.) 3. A kapcsolat mutatója egy csomópont esetén a csomópont egyik (valamilyen rendezettségben elsı) közvetlenül követi kapcsolatának mutatója; de üres (null) értéket tartalmaz, ha a csomóponthoz nem tartozik egyetlen azt közvetlenül követı csomópont sem. Kapcsolat esetén legyen az az X csomópont kapcsolata ez a rész az X csomópont egy (valamilyen rendezettségben) következı kapcsolatának a mutatója. A multilista definíciója úgy is elıadható, hogy nem használjuk a jelzı mezıt. Ebben a megfogalmazásban a multilistának kétféle különbözı módon felépülı eleme van: a csomópont és a kapcsolat. A csomópont szerkezete az adat mezıbıl és az elsı kapcsolat mutatója mezıbıl épül fel. A kapcsolat szerkezete pedig a kapcsolódó csomópont mutatója mezıbıl és a következı kapcsolat mutatója mezıbıl áll. Példaként a 2.4. táblázattal szemléltetjük a 2.1. ábra irányított hálóját ábrázoló multilistát. (Irányítás nélküli háló helyett az azt helyettesítı irányított hálót lehet hasonlóan ábrázolni.) Ebben a 7 csomópontot és a 11 kapcsolatot összesen 18 listaelem képviseli. Az egyszerőség kedvéért a listaelemek mutatóját a listaelemek sorszámával vettük azonosnak. A 2.5. ábrán a mutatók szerinti navigáció is látható.

12 54 INFORMATIKUS SZAKMAI ISMERETEK Sorszám (a listaelem mutatója) Jelzı (c: csomópont, k: kapcsolat) Adat (itt a csomópont esetén annak neve; kapcsolat esetén a kapcsolódó csomópont mutatója) Kapcsolat mutatója 1. c A 3 2. c B 9 3. k c C k k 8 null 7. c D c E k 8 null 10. k 4 null 11. k k k 14 null 14. c F k 7 null 16. c G null 17. k k 16 null 2.4. táblázat: A 2.1. ábra irányított hálóját ábrázoló multilista 7 c D k 4 k 8 k c F k 7 4 c C k 4 8 c E k 14 k 16 1 c A k 4 k 7 k 8 16 c G 2 c B k ábra: Mutatók szerinti navigáció a multilistával reprezentált hálóban Megjegyzés: A legáltalánosabb (irányított) hálóknak még két további reprezentációját említjük meg: A legegyszerőbb, de a legkevésbé hatékony reprezentáció a mátrix. Ebben egy irányított él kiindulási végpontját a mátrix valamely sora, érkezési végpontját pedig valamely oszlopa képviseli, magának az élnek pedig az említett sor és oszlop metszetében álló mátrixelem felel meg. A hálók elég jó reprezentációja a relációs adatbázisok kapcsolótáblája (lásd a szakaszban a ábrát). Ez hatékonyságban csak annyival rosszabb a multilistánál, amennyivel a tartalom szerinti keresés lassúbb a cím szerinti keresésnél.

13 ADATSZERVEZÉS, ADATELÉRÉS, ADATBÁZISKEZELİ RENDSZEREK Ellenırzı kérdések a 2.3. alfejezethez 1. Jellemezze a vektort és a listát az elınyök és a hátrányok tekintetében! 2. Milyen tárolási szerkezettel (szerkezetekkel) reprezentálható a számítógép memóriájában a halmaz? 3. Milyen tárolási szerkezettel (szerkezetekkel) reprezentálható a számítógép memóriájában a szekvencia? 4. Milyen tárolási szerkezettel (szerkezetekkel) reprezentálható a számítógép memóriájában a hierarchia? 5. Milyen tárolási szerkezettel (szerkezetekkel) reprezentálható a számítógép memóriájában a háló?

14 56 INFORMATIKUS SZAKMAI ISMERETEK 2.4 A háttértárakon, valamint az adatforgalomban alkalmazott adategységek Fizikai adategységek Az adatokat tartósan nem a számítógép operatív memóriájában, hanem külsı tárolókon tárolják: az intenzíven használt adatokat bármikor elérhetı on-line háttértárakon, az archív adatokat pedig off-line tárakon. Az ilyen tárolókon elhelyezett adatok szervezésének, nyilvántartásának, kezelésének fizikai egységei a (fizikai) fájl és a blokk (fizikai rekord). Itt a fizikai adategység kifejezés az operációs rendszer 1 input/output mőveletekért felelıs magja által látott adategységek (másképpen: az alkalmazáslogikától független adategységek) rövidebb megnevezése. A számítástechnikában a fájl (file) tágabban egyrészt adatnyilvántartási egység, másrészt valamilyen belsı szerkezettel bíró egység. E két minıségbıl a fizikai fálj fogalma csak az elıbbit ragadja meg. Fizikai fájl A fizikai fájl a külsı tárolókon elhelyezett összefüggı adatok nyilvántartásának az operációs rendszer által kezelt alapegysége. A fenti értelmezés két lényeges eleme, hogy (1) a fizikai fájl az adatnyilvántartás alapegysége és (2) az operációs rendszer által kezelt alapegység. Tudni kell, hogy a háttértárak tartalomjegyzéke fájlokat leíró bejegyzéseket tartalmaz, és az (1) bıvebben azt jelenti, hogy a számítógép számára minden külsı adat csak valamely (külön azonosító névvel rendelkezı) fájl részeként létezhet (illetve csak így érhetı el). A (2) pedig azt fejezi ki, hogy a fizikai fájl olyan adategység, amelyet az operációs rendszer (input/output mőveletekért felelıs magja) lát, tehát közömbös az a szerkezete, amelyet csak az adott fájltípus feldolgozására (értelmezésére) szolgáló programok láthatnak. Amikor tehát arról beszélünk, hogy a fájloknak a tartalmuk, illetve a szerkezetük szerint különféle típusai lehetnek (programfájlok, strukturált adatfájlok, kép-, hang-, szöveg- és más speciális fájlok), akkor már nem a fizikai fájlról, hanem a következı szakaszban sorra kerülı logikai fájlról van szó. (A fájl típusára általában utal a fájl nevének kiterjesztése.) Blokk (fizikai rekord) Bár az operációs rendszer szintjén a külsı adatok nyilvántartásának alapegysége a fájl, de egy adott fájlt az operációs rendszer általában nem egészben írja vagy olvassa, hanem meghatározott mérető részegységekben, ezek a blokkok. 1 Az operációs rendszer olyan alapszoftver, amely nélkül a számítógép érdemben mőködésképtelen. Olyan programok összessége, amelyeknek feladata: a központi egység, a háttértárak és a perifériák együttmőködését megszervezni; hálózatban a számítógépek közötti kapcsolatfelvételt és a kommunikációt megszervezni; a felhasználói programok fejlesztıinek munkáját megkönnyíteni, a változatos típusú hardverkomponensekkel szemben a szoftverek hordozhatóságát lehetıvé tenni; több program (vagy több felhasználó) egyidejő és biztonságos kiszolgálásáról gondoskodni (köztük az erıforrásokat elosztani, az egyes programok és felhasználói környezetek integritását megırizni, egymástól is megvédeni); a felhasználók részére kényelmes kezelıfelületet adni.

15 ADATSZERVEZÉS, ADATELÉRÉS, ADATBÁZISKEZELİ RENDSZEREK 57 Blokk (fizikai rekord) A blokk (vagy fizikai rekord) operációs rendszer számára a külsı tárolókon elhelyezett adatok írásának, olvasásának, fizikai elérésének alapegysége. A fájl blokkokra tagolásának semmi köze ahhoz, hogy a fájl milyen jelentéső adatokat tartalmaz, azokra hogyan tagolódik. Egy fájl egész számú azonos mérető blokkból áll. Közvetlen eléréső tárolókon egy fájl blokkjai tetszıleges sorrendben pozícionálhatók Logikai adategységek Strukturált adatok Itt a logikai adategység kifejezés olyan adategységekre utal, amelyek az operációs rendszer számára nem léteznek, csak a speciális alkalmazások látják (és képesek értelmezni) ıket. A logikai adategységek közül is ebben a szakaszban olyan típusúakkal foglalkozunk, amelyeket struk-turált adatoknak szokás nevezni, bár a strukturált jelzı is magyarázatra szorul (lásd itt alább). Mezı, rekord (logikai rekord), (egyszerő) strukturált adatfájl Valamilyen értelemben minden fájl strukturált, amennyiben az azt létrehozó vagy használó alkalmazás számára a fájl szerkezete, a fájl különféle részei felismerhetık, kezelhetık; azonban a jelen szakaszban értelmezett (egyszerő) strukturált adatfájl szerkezete speciális megszorításoknak tesz eleget: formailag és tartalmilag is meghatározott mezıkbıl, illetve rekordokból épül fel. Mezı: A mezı egy specifikált adat számítógépi reprezentációja, amelynek adott az adattípusa, továbbá formailag az elıre adott mérete által vagy valamilyen elhatároló jelek által meghatározott. A fenti értelmezésbe formai tekintetben mind a fix hosszúságú, mind a változó mérető mezı belefér. Az utóbbi aktuális méretét például határoló jelek jelezhetik. A definícióban hivatkozott specifikált adat (lásd az szakaszban) fogalomból következik, hogy a mezı tervezési szinten valamilyen kategóriára értelmezhetı tulajdonságot képvisel; egy konkrét mezı pedig e tulajdonságnak a kategóriába tartozó konkrét objektumra vonatkozó konkrét értékét tartalmazza. Rekord (logikai rekord): A rekord (a logikai rekord) formai és tartalmi tekintetben meghatározott struktúra. Formai tekintetben a rekord adott mezık adott szekvenciája. Tartalmi tekintetben a rekordot alkotó mezık egyazon kategóriára (jelenségtípusra, egyedtípusra, objektumtípusra) értelmezett specifikált adatok, és egy konkrét rekord mezıi az adott kategória egy konkrét objektumát (példányát) jellemzı értékeket tartalmaznak. A fenti értelmezésbe formai tekintetben mind a fix hosszúságú, mind a változó mérető rekord belefér. Tervezési szinten a rekordból csak a kategória, az egyes mezık által reprezentált tulajdonság és a mezık szekvenciája adottak. Ezzel a tervezés nem konkrét rekordot, hanem rekordtípust határoz meg.

16 58 INFORMATIKUS SZAKMAI ISMERETEK Egyszerő strukturált adatfájl: Az egyszerő strukturált adatfájl formai és tartalmi tekintetben meghatározott struktúra: formai tekintetben rekordok adott halmaza vagy szekvenciája, tartalmi meghatározottsága pedig a rekordok tartalmi meghatározottságából következik. Egy fájl esetlegesen többféle típusú rekordot is tartalmazhat. Az a lényeg, hogy mindegyik típus elıre definiált, és a fájlt értelmezı alkalmazások számára felismerhetı. A fentiekkel összhangban, de némileg tömörebben úgy is lehet fogalmazni, hogy az (egyszerő) strukturált adatfájl olyan szerkezet, amely önálló jelentéssel bíró rekordokból épül fel, a rekord pedig önálló jelentéssel bíró mezıkbıl tevıdik össze Nem strukturált komplex adatok Multimédia adatok A számítógép technikai fejlıdése lehetıvé tette és az informatika társadalmi elterjedése pedig igényelte, hogy ne csak számokat és betőket tudjunk adatként kezelni, hanem úgynevezett nem strukturált, komplex adatok is tárolhatók, illetve kezelhetık legyenek a számítógépen. Elıször csak a szöveges adatok formázott megjelenítése iránti igény jelentkezett, de innen már csak rövid lépés volt a multimédia adatok, azaz képek, hangok, videó számítógépen való tárolása és kezelése. A multimédia adatok kezelése során három alapvetı problémát kell megoldani: digitalizálás; tárolás, tömörítés; megjelenítés (reprodukálás). A digitalizálás során a valamilyen külsı (sokszor analóg) adathordozón (papíron, filmen, magnó-, vagy videokazettán) létezı adatokat bitek sorozatára kell átalakítani, azért, hogy egyáltalán számítógépen tárolható legyen. A multimédia adatok kezelésének legkritikusabb része az adatok memória-, illetve tárigénye. A tárigény észszerő korlátok között tartása és a még elfogadható adatátviteli idı érdekében szükség van az adatok tömörítésére. Az ilyen adatok gépi értelmezése, a megjelenítés (megszólaltatás) során a digitalizált adatbemenet alapján az eredeti hatást (látványt, hangzást stb.) kell produkálni. A multimédia adatokat kezelı szoftvereknek az értelmezés (reprodukálás) mellett fontos funkciója lehet még a digitalizált adatok manipulálása, továbbszerkesztése, módosítása is Ellenırzı kérdések a 2.4. alfejezethez 1. Az operációs rendszer szempontjából mi a külsı tárakban elhelyezett adatok nyilvántartásának alapegysége? 2. Az operációs rendszer szempontjából mi a külsı tárakban elhelyezett adatok fizikai kezelésének (írásának, olvasásának, fizikai elérésének) alapegysége? 3. Mi a kapcsolat a specifikált adat és a mezı között? 4. Mi a különbség a blokk és a rekord között? 5. Mit értenek egyszerő strukturált adatfájl alatt? 6. Milyen alapvetı problémák megoldását jelenti a multimédia adatok kezelése?

17 ADATSZERVEZÉS, ADATELÉRÉS, ADATBÁZISKEZELİ RENDSZEREK Tartalom szerinti adatelérés Ebben az alfejezetben az (egyszerő) strukturált fájl rekordjainak tartalom szerinti keresésérıl, elérésérıl lesz szó. Az itt ismertetett módszerek komoly szerepet játszanak a következı alfejezetbe tárgyalt adatbázisok mőködésében Tartalom szerinti adatelérés A szakaszban már szó volt róla, hogy az on-line háttértárakon tárolt adatok a tárolási címük szerint közvetlenül (véletlenszerően) elérhetıek. Azonban az adatfeldolgozási mőveletekben általában nem egy adott címő rekordot kell elérni, hanem például adott nevő vagy adott lakcímő személy(ek) adatait tartalmazó rekord(oka)t keresünk. Tartalom (kulcs) szerinti keresés / elérés: Ha egy egyszerő strukturált adatfájlban egy nyilvántartási rekordot valamely mezıjének vagy mezıinek tartalma alapján kell megtalálni, akkor ezt tartalom szerinti keresésnek / elérésnek, a keresett értéket (értékegyüttest) pedig keresıkulcsnak nevezzük. A tartalom szerinti elérés csak úgy közelíthetı a közvetlen eléréshez, ha a keresıkulcsból valamilyen módon következtetni lehet a keresett rekord(ok) tárolási címére. Azonban a legegyszerőbb soros (angolul heap) fájlok szervezettsége erre nem ad lehetıséget. Soros elérés: Soros elérésrıl beszélünk az olyan fájlok esetében, amelyek szervezettsége nem tartalmaz semmilyen lehetıséget egy [tartalom (keresıkulcs) tárolási cím] következtetésre, azaz a tárolási címnek a keresıkulcsból való származtatására. A soros elérés esetén a fájlt az elsı rekordtól kezdve addig kell olvasni, amíg a keresett tartalmú (kulcsú) rekordhoz nem érünk. Magát, a különösebb szerkezet nélküli fájlt is szokás soros (angolul heap) fájlnak nevezni. Direkt (random) elérés Direkt vagy random elérésrıl beszélünk, ha a rekordoknak az egyszerően strukturált fájlba beírásakor, illetve a fájlból visszakeresésekor alkalmaznak egy olyan függvényeljárást (leképezı eljárást), amely a keresıkulcsból tárolási címet állít elı. A megoldás elınye, hogy a keresés meggyorsítása nem igényel járulékos adatokat. Ugyanakkor ez az eljárás csak egyféle kulcs (csak egy szempont) szerinti keresés megkönnyítésére alkalmas; ez a kulcs pedig célszerően a rekordot egyedileg azonosító tartalom, az elsıdleges kulcs szokott lenni. Megjegyzés: A leképezési eljárást hash eljárásnak, az ilyen eljárással szervezett fájlokat (adattáblákat) pedig hash fájloknak (hash tábláknak) is nevezik. Azonos fájlban többféle szempont (többféle kulcs) szerinti keresés meggyorsítására alkalmas az indexszekvenciális elérés.

18 60 INFORMATIKUS SZAKMAI ISMERETEK Indexszekvenciális elérés Indexszekvenciális elérésrıl beszélünk, ha az egyszerő strukturált fájlban a rekord kulcs (tartalom szerinti) elérését olyan külön képzett indextábla (indexfájl) segíti, amely éppen azt tartja nyilván, hogy melyik kulcsérték, melyik címen (mely címeken) tárolt rekord(ok)ban található. A relációs adatbázisokban (lásd a szakaszban) a leggyakrabban ez a megoldás használatos az elsıdleges kulcs, az idegen kulcs vagy bármilyen keresıkulcs szerinti keresés meggyorsítására, ezért a következı szakaszban kicsit bıvebben is lesz róla szó. Ugyanott megismerhetı az indexszekvenciális elérés egy, az inverztáblákra épülı speciális változata is. Ez a többdimenziós adatbázisokban ( szakasz) számít kedvelt megoldásnak Az indexszekvenciális elérés mőködése Minden olyan mezıre (vagy több mezıbıl összetett adatra), amely a fájl rekordjainak keresésénél kulcsként számításba jöhet. külön-külön indextáblát építenek fel. Ha például egy személy fájl esetében gyakori a név szerinti keresés, akkor a név mezıre fel kell építeni egy indextáblát. Egyszintő indextábla A legprimitívebb megoldást, az egyszintő indextáblát csak azért mutatjuk be, hogy egy elsı közelítéső képet adjunk a probléma lényegérıl, és elıkészítsük a gyakorlatban is használatos, de bonyolultabb többszintő indextábla megértését. Az egyszintő indextáblát egy olyan külön fájlként lehet elképzelni, amely kétmezıs rekordokból áll (2.6. ábra). Az egyik mezı tartalmazza a keresı kulcsot (példánkban a nevet), a másik pedig az indexet, ami az adott névhez tartozó rekordnak a sorszáma a személy fájlban. A rekordok fix hosszúságúak, így minden rekord címe kiszámítható a sorszámából. Ezen felül az indextábla rendezett a keresı kulcs (a név) szerint, és pont azért gyorsíthatja meg egy adott névhez tartozó személyrekord elérését, mert a rendezett táblában alkalmazható a bináris keresés. Indextábla a személy fájlhoz Személy fájl Kulcs (itt a név) Index Név Többi adat 1. Asztalos Éva 9 1. Kiss József 2. Barna Károly 7 2. Tóth Elemér 3. Bodor Judit Gazdag Teréz 4. Dénes János 4 4. Dénes János 5. Erdei Tamás 6 5. Vincze Andor 6. Gazdag Teréz 3 6. Erdei Tamás 7. Kiss József 1 7. Barna Károly 8. Kiss József Varga Tamás 9. Tóth Elemér 2 9. Asztalos Éva 10. Varga Tamás Bodor Judit 11. Vincze Andor Kiss József Bináris keresés 2.6. ábra: Egyszerő indextábla alkalmazása Tegyük fel, hogy a 2.6. ábra szerinti indextábla segítségével kell megkeresni a Varga Tamást leíró személyrekordot. A bináris keresés az indextábla középsı bejegyzésével indul, ez most a 6. bejegyzés, melyben a kulcs Gazdag Teréz. Mivel a karakterláncokra vonatkozó

19 ADATSZERVEZÉS, ADATELÉRÉS, ADATBÁZISKEZELİ RENDSZEREK 61 összehasonlítási szabály szerint Gazdag Teréz < Varga Tamás, ezért biztos, hogy a keresést a továbbiakban már csak bejegyzésekben érdemes folytatni. Ezek közül megint a középsıt vesszük, amely a 9. bejegyzés, melyben a kulcs Tóth Elemér < Varga Tamás. Így a további keresés már a bejegyzésekre szőkül. Közülük a 10. bejegyzést tekintve középsınek, a harmadik lépésben megtaláljuk a Varga Tamás kulcsot. A kulcs mellett álló 8- as index pedig azt mutatja, hogy Varga Tamás adatait a személy fájlban a 8. rekord tartalmazza. Vegyük észre, hogy a bináris keresés minden lépésében a felére csökken az indextábla azon bejegyzéseinek a száma, amelyeket még vizsgálni érdemes. Ez azt jelenti, hogy például 1 millió bejegyzés esetén is legfeljebb 20 lépésben megtalálható a keresett kulcs, vagy megállapítható, hogy az adott kulcshoz nem létezik rekord. Soros keresés esetén ezzel szemben ugyanilyen céllal átlagosan fél millió lépésre van szükség. Az olvasóban esetleg felmerül a kérdés, hogy miért nem a személy fájlt rendezik úgy a név (a kulcs) szerint, mint az indextáblát. Szokták ezt is tenni, de ez csak egy kulcsra lehetséges; tehát ha más kulcs szerint is szeretnének keresni, arra már mindenképpen külön indextáblát kell készíteni. A gyakorlatban tisztán a 2.6. ábra szerinti indexelés nem hatékony, mert ha a kulcsok száma elég nagy, akkor egy ilyen indextáblába nagyon sokáig tart egy újabb kulcsot beszúrni úgy, hogy a tábla a kulcsok szerint továbbra is rendezett maradjon. Ezért az indextáblát vagy hash módon szervezik (azaz az indexrekordokból építenek random fájlt), vagy többszintő indexelést alkalmaznak. Itt az utóbbi tárgyalásával folytatjuk. Többszintő indextábla A többszintő indextáblák lényegében rendezıfát reprezentálnak (a fa összetett adatszerkezet leírását lásd a szakaszban). A rendezıfa azért tudja meggyorsítani a keresést, mert benne a szükséges elemi elérések száma nem a kulcsok számával hanem csak a fa szintjeinek a számával arányosan növekszik. Az ilyen indextáblában az indexrekordok (bejegyzések) összefüggı blokkokat alkotnak. Ez a blokk a ben tárgyalt vektornak felel meg. Egy blokkon belül a kulcsok mindig növı sorrendben rendezettek, és az is igaz, hogy a blokkon belül a keresés sorosan történik. A rendezıfa minden csomópontjából legfeljebb annyi ág indulhat ki, ahány indexrekord fér egy indexblokkba. A 2.7. ábrán az indextábla blokkonként legfeljebb négy indexrekordot tartalmaz, tehát a fa minden csomópontjából legfeljebb négy ág indulhat ki. Az indexblokkok között van egy kitüntetett: az indextábla belépési pontja, a gyökérblokk, ez a példában történetesen a 8. blokk. A 0 típusú blokkok alap-indexbejegyzéseket (rekordokat), az 1 típusú blokkok magasabb szintő indexrekordokat tartalmaznak. Az alap-indexrekordokban a mutató a kulcshoz tartozó adatsor adattáblabeli sorszámát adja meg. A magasabb szintő indexrekordokban a kulcs melletti mutató annak az (alacsonyabb szintő) indexblokknak a sorszáma, amelyben az adott kulcs a legnagyobb értékő. A 2.8. ábra magyarázza, hogyan kell elképzelni az indexblokkok alkotta fastruktúrát; illetve a gyökérblokkból indulva, hogyan lehet megtalálni egy adott kulcsú adatsorra mutató indexrekordot. Például az LC kulcsú sor sorszáma az indextáblából így kereshetı ki: A 8-as blokkban (a gyökérblokkban) az 1. indexrekord az LC <= SE egyenlıtlenség fennállása és mutató=3 miatt jelzi, hogy a keresést a 3-as blokkban kell folytatni. További lépések: A 3-as blokkban a 3. indexrekord: LC <= NK és mutató=2. A 2-es blokkban (ez már alapindexblokk) a 3. indexrekord: kulcs= LC és mutató=15, tehát a keresett adattáblasor száma: 15. A 2.8. ábra rendezıfája 3 szintő, ezért benne a 16 kulcs bármelyike legfeljebb 3 lépésben megtalálható. Általában n kulcs esetén a csomópontonként legfeljebb k ágat megengedı fában a szintek száma (felülrıl) log k n-hez közelít. Ez annál jobb közelítés, minél kiegyensúlyo-

20 62 INFORMATIKUS SZAKMAI ISMERETEK zottabb a rendezıfa. A kiegyensúlyozást az indextábla idıszakonkénti újraszervezésével érik el. A kiegyensúlyozott rendezıfákat az angol balanced tree kifejezés után röviden btree néven emlegetik. Adatfájl Többszintő indextábla (4 indexrekord / indexblokk) Kulcs Adat Blokk Indexrekord1 Indexrekord2 Indexrekord3 Indexrekord4 1. FA típusa Kulcs Mutató Kulcs Mutató Kulcs Mutató Kulcs Mutató 2. KF 1. 0 AD 3 BI 7 DS 9 EP 5 3. AD 2. 0 JE 11 KF 2 LC 15 NK 4 4. NK 3. 1 EP 1 HA 4 NK 2 SE 5 5. EP 4. 0 FA 1 FA 13 HA SE 5. 0 PF 8 QI 12 RI 16 SE 6 7. BI 6. 0 TV PF 7. 1 TV 6 9. DS 8. 1 SE 3 TV TV 11. JE gyökérblokk 12. QI 13. FA 14. HA 15. LC A 0 típusú blokkok alap-indexbejegyzéseket (rekordokat), az 1 típusú blokkok magasabb szintő indexrekordokat tartalmaznak. Az alap-indexrekordokban a mutató a kulcshoz tartozó adatsor adattáblabeli sorszámát adja meg. A magasabb 16. RI szintő indexrekordokban a kulcs melletti mutató annak az (alacsonyabb szintő) indexblokknak a sorszáma, amelyben az adott kulcs a legnagyobb értékő ábra: Többszintő indexelés 8. 1 SE 3 TV EP 1 HA 4 NK 2 SE TV AD 3 BI 7 DS 9 EP TV FA 1 FA 13 HA JE 11 KF 2 LC 15 NK PF 8 QI 12 RI 16 SE ábra: Többszintő indextábla mint rendezıfa Most nézzük, mi történik, ha az eddig mutatott indextáblába beszúrjuk az LP kulcsot! A 2.8. ábrán látszik, hogy az új LP kulcsnak a 2-es alapindexblokkban lenne a helye, a rendezettség szerint az LC és az NK kulcsok között, de a 2-es blokk már betelt. Ekkor a 2- es blokk osztódik, pontosabban: a rendszer lefoglal egy újabb blokkot, a 9-est, és a 2-es blokk felsı fele (amely az LC és az NK kulcsú indexrekordokból áll) abba vivıdik át (a 2- es blokkban az eredeti helyük kiürül). E mőveletek azonban a 3-as magasabb szintő indexblokk tartalmára is hatással bírnak, mert abban az [NK; 2] tartalmú indexrekord hamis lett, hiszen a 2-es blokkban a legnagyobb kulcs már nem az NK, hanem a KF ; azon felül az új (9-es) blokkot is be kell kapcsolni a fába, és az NK most már ebben lesz a legnagyobb kulcs.

21 ADATSZERVEZÉS, ADATELÉRÉS, ADATBÁZISKEZELİ RENDSZEREK 63 Lényegében az eddigi [NK; 2] tartalmú indexrekord helyett két (magasabb szintő) indexrekordot kell létrehozni: egy [KF; 2] és egy [NK; 9] tartalmút. A rendezettség szerint mindkettınek a 3-as blokkban lenne helye, de az lehetetlen, mert a 3-as blokk már betelt. Így a 3-as blokk is osztódik : a rendszer megint lefoglal egy újabb blokkot (a 10-est), amelybe átvivıdik a 3-as blokk felsı fele, és az [NK; 2] tartalmú indexrekord már a 10-es blokkban cserélıdik le a [KF; 2] és a [NK; 9] tartalmú indexrekordokra. Még ezzel sincs vége, mert esetünkben az alsóbb szinteken történt változások hatása eléri a 8-as blokkot is. Abban az [SE; 3] tartalmú (magasabb szintő) indexrekord vált hamissá, mert a 3-as blokkban a legnagyobb kulcs már nem az SE, hanem a HA ; azon felül a legújabb (10-es) blokkot is be kell kapcsolni a fába, és az SE immár ebben lesz a legnagyobb kulcs. Tehát az eddigi [SE; 3] tartalmú indexrekord helyett két (magasabb szintő) indexrekordot kell létrehozni: egy [HA; 3] és egy [SE; 10] tartalmút, azaz a gyökérblokkban az eddigi két rekord helyett három lesz kitöltve. Esetünkben a gyökér még nem telt be, ezért további lépésekre már nincs szükség. A végeredményt a 2.9. ábra mutatja HA 3 SE 10 TV EP 1 HA TV KF 2 NK 9 SE AD 3 BI 7 DS 9 EP TV FA 1 FA 13 HA JE 11 KF LC 15 LP 17 NK PF 8 QI 12 RI 16 SE ábra: Többszintő indextábla az LP kulcs beszúrása után Ha már a gyökérblokk is betelt, a következı új gyökérszintő indexrekord már csak úgy helyezhetı el, ha a gyökérblokk is osztódik, egyben az eddigi gyökérblokk gyökér minısége megszőnik. Részleteiben: a rendszer két új blokkot foglal le; az egyiket (legyen ez az m. blokk) arra a célra, hogy abba viszi át a gyökérblokk felsı felében lévı indexrekordokat; a másikat pedig arra a célra, hogy ez legyen az új gyökérblokk. Ez utóbbiban két (magasabb szintő) indexrekord lesz: az elsı a korábbi gyökérblokkra mutat, a második pedig a fentebb említett m. rekordra. Vegyük észre, hogy amikor a gyökérblokk osztódik, akkor az indextábla emelkedik egy újabb szinttel. Fordítva is igaz: az indextábla szintjeinek száma pontosan akkor növekszik eggyel, amikor a gyökérblokknak (is) osztódni kell.

22 64 INFORMATIKUS SZAKMAI ISMERETEK Inverztábla A többdimenziós adatbázisokban kedvelt megoldás az inverztábla, amelynek tárgyalására azért az indexszekvenciális eléréssel közös szakaszban kerül sor, mert felfogható az indextáblák egy speciális változatának is. Ugyanakkor látni fogjuk, hogy az inverztábla mind az alkalmazási területében, mind a megoldásának részleteiben elég sok különbséget mutat az idáig tárgyalt indextáblákhoz képest, és az inverztáblára magára is többféle megoldás létezik. Ez az oka annak, hogy az inverztáblát a szakmában gyakran a tartalom szerinti adatelérés egy önálló kategóriájának tekintik. Inverztáblát olyan tulajdonságra (adatmezıkre) érdemes készíteni, amely az adatfájl rekordjainak (vagy adattábla sorainak) nem azonosító, hanem osztályozó ismérve. Éppen ilyen tulajdonságok a többdimenziós adatbázisok dimenzióadatai (lásd a szakaszban). Példa osztályozó ismérvre: A cikk (cikkód) nem azonosítója az eladástételeknek, mert azonos cikkbıl folyamatosan újabb és újabb tételeket adhat el a cég, tehát azonos cikk több eladástételt jellemezhet, másképpen az eladástételek egy osztályát különíti el. (Ha ez a cég arra kíváncsi, hogy egy adott idıszakban történt eladásokkal adott cikkbıl milyen árbevételt realizált, akkor azt az eladástételek megfelelı cikkhez és idıszakhoz tartozó osztályából kell összesíteni.) Ha az eladástételeket jellemzı cikkódra (normál) indextáblát hozunk létre, akkor abba egy cikkód-érték annyiszor kerül be keresıkulcsként, ahány eladástétel hivatkozza ezt a cikkód-értéket. Ugyanúgy, ahogy a 2.7. ábrán az FA kulcs két (alapszintő) indexrekordban is szerepel (a 4-es blokkban), mert az adatfájl két rekordjában (az 1. és a 13. rekordjában) is FA a kulcs értéke. Ezzel szemben az inverztáblát úgy kell elképzelni, hogy abba egy kulcsérték (cikkód) csak egyszer kerül be, és mellette nem egyetlen mutatóérték áll, hanem (a legprimitívebb változatban) egy vektor, amely (A) az adott cikkre vonatkozó eladástételek (adatfájlbeli) mutatóival van töltve, vagy (B) egy bittérképet tartalmaz. (A ábra mindkét változatot mutatja.) A bittérkép egy bitje az adatfájl egy rekordját képviseli, azaz a bittérkép annyi bitbıl áll, ahány rekordja van az adatfájlnak. Adott kulcsértékhez tartozó bittérképben a k. biten pontosan akkor áll 1-es, ha e kulcsérték jellemzi az adatfájl k. rekordját. Adatfájl (v. tábla) A) Inverztábla mutatóvektorral Kulcs Adat Kulcs Mutatók vektora 1. NK EP EP HA 8 3. NK NK NK SE SE 6. EP 7. EP B) Inverztábla bittérképpel 8. HA Kulcs Bittérkép 9. SE EP EP HA EP NK NK SE EP ábra: Inverztábla a legprimitívebb változatokban

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája Adatszerkezetek Összetett adattípus Meghatározói: A felvehető értékek halmaza Az értékhalmaz struktúrája Az ábrázolás módja Műveletei Adatszerkezet fogalma Direkt szorzat Minden eleme a T i halmazokból

Részletesebben

22. GRÁFOK ÁBRÁZOLÁSA

22. GRÁFOK ÁBRÁZOLÁSA 22. GRÁFOK ÁBRÁZOLÁSA A megoldandó feladatok, problémák modellezése során sokszor gráfokat alkalmazunk. A gráf fogalmát a matematikából ismertnek vehetjük. A modellezés során a gráfok több változata is

Részletesebben

Adatbáziskezelés alapjai. jegyzet

Adatbáziskezelés alapjai. jegyzet Juhász Adrienn Adatbáziskezelés alapja 1 Adatbáziskezelés alapjai jegyzet Készítette: Juhász Adrienn Juhász Adrienn Adatbáziskezelés alapja 2 Fogalmak: Adatbázis: logikailag összefüggı információ vagy

Részletesebben

Egyirányban láncolt lista

Egyirányban láncolt lista Egyirányban láncolt lista A tárhely (listaelem) az adatelem értékén kívül egy mutatót tartalmaz, amely a következő listaelem címét tartalmazza. A láncolt lista első elemének címét egy, a láncszerkezeten

Részletesebben

Struktúra nélküli adatszerkezetek

Struktúra nélküli adatszerkezetek Struktúra nélküli adatszerkezetek Homogén adatszerkezetek (minden adatelem azonos típusú) osztályozása Struktúra nélküli (Nincs kapcsolat az adatelemek között.) Halmaz Multihalmaz Asszociatív 20:24 1 A

Részletesebben

Fájlszervezés. Adatbázisok tervezése, megvalósítása és menedzselése

Fájlszervezés. Adatbázisok tervezése, megvalósítása és menedzselése Fájlszervezés Adatbázisok tervezése, megvalósítása és menedzselése Célok: gyors lekérdezés, gyors adatmódosítás, minél kisebb tárolási terület. Kezdetek Nincs általánosan legjobb optimalizáció. Az egyik

Részletesebben

Adatszerkezetek 1. előadás

Adatszerkezetek 1. előadás Adatszerkezetek 1. előadás Irodalom: Lipschutz: Adatszerkezetek Morvay, Sebők: Számítógépes adatkezelés Cormen, Leiserson, Rives, Stein: Új algoritmusok http://it.inf.unideb.hu/~halasz http://it.inf.unideb.hu/adatszerk

Részletesebben

Bevezetés a programozásba. 5. Előadás: Tömbök

Bevezetés a programozásba. 5. Előadás: Tömbök Bevezetés a programozásba 5. Előadás: Tömbök ISMÉTLÉS Specifikáció Előfeltétel: milyen körülmények között követelünk helyes működést Utófeltétel: mit várunk a kimenettől, mi az összefüggés a kimenet és

Részletesebben

Adatbázismodellek. 1. ábra Hierarchikus modell

Adatbázismodellek. 1. ábra Hierarchikus modell Eddig az adatbázisokkal általános szempontból foglalkoztunk: mire valók, milyen elemekből épülnek fel. Ennek során tisztáztuk, hogy létezik az adatbázis fogalmi modellje (adatbázisterv), amely az egyedek,

Részletesebben

A programozás alapjai előadás. [<struktúra változó azonosítók>] ; Dinamikus adatszerkezetek:

A programozás alapjai előadás. [<struktúra változó azonosítók>] ; Dinamikus adatszerkezetek: A programozás alapjai 1 Dinamikus adatszerkezetek:. előadás Híradástechnikai Tanszék Dinamikus adatszerkezetek: Adott építőelemekből, adott szabályok szerint felépített, de nem rögzített méretű adatszerkezetek.

Részletesebben

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek Programozás alapjai II. (7. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2016.04.05. - 1

Részletesebben

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot

Részletesebben

Programozás alapjai II. (7. ea) C++

Programozás alapjai II. (7. ea) C++ Programozás alapjai II. (7. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT M Ű E G Y E T E M 1 7 8 2 C++ programozási nyelv BME-IIT Sz.I. 2016.04.05. - 1

Részletesebben

Adatszerkezetek és algoritmusok

Adatszerkezetek és algoritmusok 2010. január 8. Bevezet El z órák anyagainak áttekintése Ismétlés Adatszerkezetek osztályozása Sor, Verem, Lengyelforma Statikus, tömbös reprezentáció Dinamikus, láncolt reprezentáció Láncolt lista Lassú

Részletesebben

Adatbázis rendszerek. dr. Siki Zoltán

Adatbázis rendszerek. dr. Siki Zoltán Adatbázis rendszerek I. dr. Siki Zoltán Adatbázis fogalma adatok valamely célszerűen rendezett, szisztéma szerinti tárolása Az informatika elterjedése előtt is számos adatbázis létezett pl. Vállalati személyzeti

Részletesebben

Matematikai alapok és valószínőségszámítás. Középértékek és szóródási mutatók

Matematikai alapok és valószínőségszámítás. Középértékek és szóródási mutatók Matematikai alapok és valószínőségszámítás Középértékek és szóródási mutatók Középértékek A leíró statisztikák talán leggyakrabban használt csoportját a középértékek jelentik. Legkönnyebben mint az adathalmaz

Részletesebben

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök Programozás alapjai II. (8. ea) C++ Kiegészítő anyag: speciális adatszerkezetek Szeberényi Imre BME IIT Speciális adatszerkezetek A helyes adatábrázolás választása, a helyes adatszerkezet

Részletesebben

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t Ellenőrző kérdések 2. Kis dolgozat kérdései 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t 37. Ha t szintű indexet használunk,

Részletesebben

Adatbáziskezelés. Indexek, normalizálás NZS 1

Adatbáziskezelés. Indexek, normalizálás NZS 1 Adatbáziskezelés Indexek, normalizálás NZS 1 Fáljszervezés módjai Soros elérés: a rekordok a fájlban tetszőleges sorrendben, például a felvitel sorrendjében helyezkednek el. A rekord azonosítója vagyis

Részletesebben

VÍZÓRA NYÍLVÁNTARTÓ RENDSZER

VÍZÓRA NYÍLVÁNTARTÓ RENDSZER Debreceni Egyetem Informatikai Kar VÍZÓRA NYÍLVÁNTARTÓ RENDSZER Dr. Kuki Attila Egyetemi Adjunktus Informatikai Rendszerek és Hálózatok Tanszék GYÖKÉR RÓBERT Mérnök Informatikus levelezı Debrecen 2009.

Részletesebben

2. Fejezet : Számrendszerek

2. Fejezet : Számrendszerek 2. Fejezet : Számrendszerek The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley College

Részletesebben

Statisztikai függvények

Statisztikai függvények EXCEL FÜGGVÉNYEK 9/1 Statisztikai függvények ÁTLAG(tartomány) A tartomány terület numerikus értéket tartalmazó cellák értékének átlagát számítja ki. Ha a megadott tartományban nincs numerikus értéket tartalmazó

Részletesebben

5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E

5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E 5. SOR A sor adatszerkezet is ismerős a mindennapokból, például a várakozási sornak számos előfordulásával van dolgunk, akár emberekről akár tárgyakról (pl. munkadarabokról) legyen szó. A sor adattípus

Részletesebben

Amortizációs költségelemzés

Amortizációs költségelemzés Amortizációs költségelemzés Amennyiben műveleteknek egy M 1,...,M m sorozatának a futási idejét akarjuk meghatározni, akkor egy lehetőség, hogy külön-külön minden egyes művelet futási idejét kifejezzük

Részletesebben

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve

Részletesebben

Adatszerkezetek 1. Dr. Iványi Péter

Adatszerkezetek 1. Dr. Iványi Péter Adatszerkezetek 1. Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot kódoltan tároljuk

Részletesebben

Informatika érettségi vizsga

Informatika érettségi vizsga Informatika 11/L/BJ Informatika érettségi vizsga ÍRÁSBELI GYAKORLATI VIZSGA (180 PERC - 120 PONT) SZÓBELI SZÓBELI VIZSGA (30 PERC FELKÉSZÜLÉS 10 PERC FELELET - 30 PONT) Szövegszerkesztés (40 pont) Prezentáció-készítés

Részletesebben

LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL

LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL x 1-2x 2 6 -x 1-3x 3 = -7 x 1 - x 2-3x 3-2 3x 1-2x 2-2x 3 4 4x 1-2x 2 + x 3 max Alapfogalmak: feltételrendszer (narancs színnel jelölve), célfüggvény

Részletesebben

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai A programozás alapjai 1 1. előadás Híradástechnikai Tanszék Amiről szólesz: A tárgy címe: A programozás alapjai A számítógép részegységei, alacsony- és magasszintű programnyelvek, az imperatív programozási

Részletesebben

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

Adatbázis-kezelő rendszerek. dr. Siki Zoltán Adatbázis-kezelő rendszerek I. dr. Siki Zoltán Adatbázis fogalma adatok valamely célszerűen rendezett, szisztéma szerinti tárolása Az informatika elterjedése előtt is számos adatbázis létezett pl. Vállalati

Részletesebben

INFORMATIKA MATEMATIKAI ALAPJAI

INFORMATIKA MATEMATIKAI ALAPJAI INFORMATIKA MATEMATIKAI ALAPJAI Készítette: Kiss Szilvia ZKISZ informatikai szakcsoport Az információ 1. Az információ fogalma Az érzékszerveinken keresztül megszerzett új ismereteket információnak nevezzük.

Részletesebben

A lineáris algebrában központi szerepet betöltı vektortér fogalmát értelmezzük most, s megvizsgáljuk e struktúra legfontosabb egyszerő tulajdonságait.

A lineáris algebrában központi szerepet betöltı vektortér fogalmát értelmezzük most, s megvizsgáljuk e struktúra legfontosabb egyszerő tulajdonságait. 2. VEKTORTÉR A lineáris algebrában központi szerepet betöltı vektortér fogalmát értelmezzük most, s megvizsgáljuk e struktúra legfontosabb egyszerő tulajdonságait. Legyen K egy test és V egy nem üres halmaz,

Részletesebben

Szakdolgozat. A Microsoft Access módszertana. Témavezetı: Radványi Tibor Készítette: Erényi Péter, 2006 IV. évfolyam, számítástechnika szak

Szakdolgozat. A Microsoft Access módszertana. Témavezetı: Radványi Tibor Készítette: Erényi Péter, 2006 IV. évfolyam, számítástechnika szak Szakdolgozat A Microsoft Access módszertana Témavezetı: Radványi Tibor Készítette: Erényi Péter, 2006 IV. évfolyam, számítástechnika szak TARTALOMJEGYZÉK TARTALOMJEGYZÉK... 2 ELİSZÓ... 5 AZ ADATBÁZIS-KEZELÉS-

Részletesebben

Adatbázis rendszerek 6.. 6. 1.1. Definíciók:

Adatbázis rendszerek 6.. 6. 1.1. Definíciók: Adatbázis Rendszerek Budapesti Műszaki és Gazdaságtudományi Egyetem Fotogrammetria és Térinformatika 6.1. Egyed relációs modell lényegi jellemzői 6.2. Egyed relációs ábrázolás 6.3. Az egyedtípus 6.4. A

Részletesebben

Adatmodellek. 2. rész

Adatmodellek. 2. rész Adatmodellek 2. rész Makány György Alapfogalmak JEL ADAT INFORMÁCIÓ ADATHALMAZ ADATÁLLOMÁNY ADATBÁZIS 2 Alapfogalmak JEL ADATHALMAZ észlelhető, felfogható fizikai érték ADAT a valós világ egy jelenségéből

Részletesebben

The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003

The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 . Fejezet : Számrendszerek The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach. kiadás, Irv Englander John Wiley and Sons Wilson Wong, Bentley College Linda Senne,

Részletesebben

Miért olyan fontos a minıségi pont?

Miért olyan fontos a minıségi pont? A fiókban látható konkrét minıségi pont értékek egy olyan általános számítás eredményei, ami a kulcsszó tökéletes egyezése esetére érvényesek. Miért olyan fontos a minıségi pont? A minıségi pont három

Részletesebben

83/2004. (VI. 4.) GKM rendelet. a közúti jelzőtáblák megtervezésének, alkalmazásának és elhelyezésének követelményeiről

83/2004. (VI. 4.) GKM rendelet. a közúti jelzőtáblák megtervezésének, alkalmazásának és elhelyezésének követelményeiről 83/2004. (VI. 4.) GKM rendelet a közúti jelzőtáblák megtervezésének, alkalmazásának és elhelyezésének követelményeiről A közúti közlekedésrıl szóló 1988. évi I. törvény 48. -a (3) bekezdése b) pontjának

Részletesebben

Algoritmusok és adatszerkezetek I. 1. előadás

Algoritmusok és adatszerkezetek I. 1. előadás Algoritmusok és adatszerkezetek I 1 előadás Típusok osztályozása Összetettség (strukturáltság) szempontjából: elemi (vagy skalár, vagy strukturálatlan) összetett (más szóval strukturált) Strukturálási

Részletesebben

Adatmodellezés. 1. Fogalmi modell

Adatmodellezés. 1. Fogalmi modell Adatmodellezés MODELL: a bonyolult (és időben változó) valóság leegyszerűsített mása, egy adott vizsgálat céljából. A modellben többnyire a vizsgálat szempontjából releváns jellemzőket (tulajdonságokat)

Részletesebben

IT - Alapismeretek. Feladatgyűjtemény

IT - Alapismeretek. Feladatgyűjtemény IT - Alapismeretek Feladatgyűjtemény Feladatok PowerPoint 2000 1. FELADAT TÖRTÉNETI ÁTTEKINTÉS Pótolja a hiányzó neveket, kifejezéseket! Az első négyműveletes számológépet... készítette. A tárolt program

Részletesebben

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek Tömb Ugyanolyan típusú elemeket tárol A mérete előre definiált kell legyen és nem lehet megváltoztatni futás során Legyen n a tömb mérete. Ekkor:

Részletesebben

Érdekes informatika feladatok

Érdekes informatika feladatok A keres,kkel és adatbázissal ellátott lengyel honlap számos díjat kapott: Spirit of Delphi '98, Delphi Community Award, Poland on the Internet, Golden Bagel Award stb. Az itt megtalálható komponenseket

Részletesebben

Web-programozó Web-programozó

Web-programozó Web-programozó Az Országos Képzési Jegyzékről és az Országos Képzési Jegyzékbe történő felvétel és törlés eljárási rendjéről szóló 133/2010. (IV. 22.) Korm. rendelet alapján. Szakképesítés, szakképesítés-elágazás, rész-szakképesítés,

Részletesebben

Útmutató a MATARKA adatbázisból való adatátvételhez

Útmutató a MATARKA adatbázisból való adatátvételhez Útmutató a MATARKA adatbázisból való adatátvételhez A MATARKA - Magyar folyóiratok tartalomjegyzékeinek kereshetı adatbázisa a következı címrıl érhetı el: http://www.matarka.hu/ A publikációs lista kinyerése

Részletesebben

Adatszerkezetek 2. Dr. Iványi Péter

Adatszerkezetek 2. Dr. Iványi Péter Adatszerkezetek 2. Dr. Iványi Péter 1 Fák Fákat akkor használunk, ha az adatok között valamilyen alá- és fölérendeltség van. Pl. könyvtárszerkezet gyökér (root) Nincsennek hurkok!!! 2 Bináris fák Azokat

Részletesebben

Alkalmazásportfólió. Szoftvermenedzsment. menedzsment. Racionalizálás. Konszolidáció. Nyilvántartás. Elemzés

Alkalmazásportfólió. Szoftvermenedzsment. menedzsment. Racionalizálás. Konszolidáció. Nyilvántartás. Elemzés Megjegyzés: Egyes megoldásokban, ahol -szel kell jelölni a helyes választ, K (= közömbös) jelzés arra utal, hogy az és az hiánya egyaránt elfogadható (= valami lehetséges, de nem jellemzı). 5.1. A sorokban

Részletesebben

Harmadik gyakorlat. Számrendszerek

Harmadik gyakorlat. Számrendszerek Harmadik gyakorlat Számrendszerek Ismétlés Tízes (decimális) számrendszer: 2 372 =3 2 +7 +2 alakiérték valódi érték = aé hé helyiérték helyiértékek a tízes szám hatványai, a számjegyek így,,2,,8,9 Kettes

Részletesebben

file:///d:/okt/ad/jegyzet/ad1/b+fa.html

file:///d:/okt/ad/jegyzet/ad1/b+fa.html 1 / 5 2016. 11. 30. 12:58 B+ fák CSci 340: Database & Web systems Home Syllabus Readings Assignments Tests Links Computer Science Hendrix College Az alábbiakban Dr. Carl Burch B+-trees című Internetes

Részletesebben

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba Hibaforrások Hiba A feladatok megoldása során különféle hibaforrásokkal találkozunk: Modellhiba, amikor a valóságnak egy közelítését használjuk a feladat matematikai alakjának felírásához. (Pl. egy fizikai

Részletesebben

Fogalmak: Adatbázis Tábla Adatbázis sorai: Adatbázis oszlopai azonosító mező, egyedi kulcs Lekérdezések Jelentés Adattípusok: Szöveg Feljegyzés Szám

Fogalmak: Adatbázis Tábla Adatbázis sorai: Adatbázis oszlopai azonosító mező, egyedi kulcs Lekérdezések Jelentés Adattípusok: Szöveg Feljegyzés Szám Fogalmak: Adatbázis: logikailag összefüggő információ vagy adatgyőjtemény. Tábla: logikailag összetartozó adatok sorokból és oszlopokból álló elrendezése. Adatbázis sorai: (adat)rekord Adatbázis oszlopai:

Részletesebben

Hogyan fogalmazzuk meg egyszerűen, egyértelműen a programozóknak, hogy milyen lekérdezésre, kimutatásra, jelentésre van szükségünk?

Hogyan fogalmazzuk meg egyszerűen, egyértelműen a programozóknak, hogy milyen lekérdezésre, kimutatásra, jelentésre van szükségünk? Hogyan fogalmazzuk meg egyszerűen, egyértelműen a programozóknak, hogy milyen lekérdezésre, kimutatásra, jelentésre van szükségünk? Nem szükséges informatikusnak lennünk, vagy mélységében átlátnunk az

Részletesebben

Adatbázis rendszerek Gy: Az adattárolás fejlődése

Adatbázis rendszerek Gy: Az adattárolás fejlődése Adatbázis rendszerek 1. 2. Gy: Az adattárolás fejlődése 1/22 B ITv: MAN 2017.09.17 Papír alapú adattárolás Lyukkártya 2/22 Probléma: 3/22 Papír alapú adattárolás Lyukszalag 4/22 Papír alapú adattárolás

Részletesebben

Normák, kondíciószám

Normák, kondíciószám Normák, kondíciószám A fizika numerikus módszerei I. mf1n1a06- mf1n2a06 Csabai István Lineáris egyenletrendszerek Nagyon sok probléma közvetlenül lineáris egyenletrendszer megoldásával kezelhetı Sok numerikus

Részletesebben

17. A 2-3 fák és B-fák. 2-3 fák

17. A 2-3 fák és B-fák. 2-3 fák 17. A 2-3 fák és B-fák 2-3 fák Fontos jelentősége, hogy belőlük fejlődtek ki a B-fák. Def.: Minden belső csúcsnak 2 vagy 3 gyermeke van. A levelek egy szinten helyezkednek el. Az adatrekordok/kulcsok csak

Részletesebben

terminológia, értelmezések, fogalmak

terminológia, értelmezések, fogalmak terminológia, értelmezések, fogalmak Raffai Mária dr. Az információrendszer leképezése Valós folyamatok visszacsatolás információrendszer. leképezés. leképezés funkcionális modell adatmodell logikai tervmodell

Részletesebben

EGYSZERŰ, NEM IRÁNYÍTOTT (IRÁNYÍTATLAN) GRÁF

EGYSZERŰ, NEM IRÁNYÍTOTT (IRÁNYÍTATLAN) GRÁF Összefoglaló Gráfok / EGYSZERŰ, NEM IRÁNYÍTOTT (IRÁNYÍTATLAN) GRÁF Adott a G = (V, E) gráf ahol a V a csomópontok, E az élek halmaza E = {(x, y) x, y V, x y (nincs hurokél) és (x, y) = (y, x)) Jelölések:

Részletesebben

A relációs adatmodell

A relációs adatmodell A relációs adatmodell E. Codd vezette be: 1970 A Relational Model of Data for Large Shared Data Banks. Communications of ACM, 13(6). 377-387. 1982 Relational Databases: A Practical Foundation for Productivity.

Részletesebben

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer 1 Fájl rendszer Terminológia Fájl és könyvtár (mappa) koncepció Elérési módok Fájlattribútumok Fájlműveletek ----------------------------------------- Könyvtár szerkezet -----------------------------------------

Részletesebben

5. Gyakorlat. 5.1 Hálós adatbázis modell műveleti része. NDQL, hálós lekérdező nyelv:

5. Gyakorlat. 5.1 Hálós adatbázis modell műveleti része. NDQL, hálós lekérdező nyelv: 5. Gyakorlat 5.1 Hálós adatbázis modell műveleti része NDQL, hálós lekérdező nyelv: A lekérdezés navigációs jellegű, vagyis a lekérdezés megfogalmazása során azt kell meghatározni, hogy milyen irányban

Részletesebben

Algoritmuselmélet. 2-3 fák. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 8.

Algoritmuselmélet. 2-3 fák. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 8. Algoritmuselmélet 2-3 fák Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 8. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet 8. előadás

Részletesebben

Elemi adatszerkezetek

Elemi adatszerkezetek 2017/12/16 17:22 1/18 Elemi adatszerkezetek < Programozás Elemi adatszerkezetek Szerző: Sallai András Copyright Sallai András, 2011, 2014 Licenc: GNU Free Documentation License 1.3 Web: http://szit.hu

Részletesebben

Kedves Diákok! A feladatok legtöbbször egy pontot érnek. Ahol ettől eltérés van, azt külön jelöljük.

Kedves Diákok! A feladatok legtöbbször egy pontot érnek. Ahol ettől eltérés van, azt külön jelöljük. Kedves Diákok! Szeretettel köszöntünk Benneteket abból az alkalomból, hogy a Ceglédi Közgazdasági és Informatikai Szakközépiskola informatika tehetséggondozásának első levelét olvassátok! A tehetséggondozással

Részletesebben

OOP. Alapelvek Elek Tibor

OOP. Alapelvek Elek Tibor OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós

Részletesebben

III. Gráfok. 1. Irányítatlan gráfok:

III. Gráfok. 1. Irányítatlan gráfok: III. Gráfok 1. Irányítatlan gráfok: Jelölés: G=(X,U), X a csomópontok halmaza, U az élek halmaza X={1,2,3,4,5,6}, U={[1,2], [1,4], [1,6], [2,3], [2,5], [3,4], [3,5], [4,5],[5,6]} Értelmezések: 1. Fokszám:

Részletesebben

Gazdasági folyamatok térbeli elemzése. 5. elıadás

Gazdasági folyamatok térbeli elemzése. 5. elıadás Gazdasági folyamatok térbeli elemzése 5. elıadás Adatbázisok* tulajdonságai Rendezett, logikailag összefüggı és meghatározott szempont szerint tárolt adatok és/vagy információk halmaza Az adatok között

Részletesebben

2009.04.29. 2009. április 24. INFO Savaria 2009 2. 2009. április 24. INFO Savaria 2009 4. 2009. április 24. INFO Savaria 2009 3

2009.04.29. 2009. április 24. INFO Savaria 2009 2. 2009. április 24. INFO Savaria 2009 4. 2009. április 24. INFO Savaria 2009 3 Négy adatbázis-kezelı rendszer összehasonlítása webes környezetben Sterbinszky Nóra snorav@gmail.com Áttekintés Növekvı igény hatékony adatbázis- kezelıkre a világhálón Hogyan mérhetı ezek teljesítménye

Részletesebben

Jelek és rendszerek Gyakorlat_02. A gyakorlat célja megismerkedni a MATLAB Simulink mőködésével, filozófiájával.

Jelek és rendszerek Gyakorlat_02. A gyakorlat célja megismerkedni a MATLAB Simulink mőködésével, filozófiájával. A gyakorlat célja megismerkedni a MATLAB Simulink mőködésével, filozófiájával. A Szimulink programcsomag rendszerek analóg számítógépes modelljének szimulálására alkalmas grafikus programcsomag. Egy SIMULINK

Részletesebben

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015 Objektumorientált programozás Pál László Sapientia EMTE, Csíkszereda, 2014/2015 9. ELİADÁS Kivételkezelés (Exception handling) 2 Mi a kivétel (exception)? A kivétel, olyan hibás állapot vagy esemény, amely

Részletesebben

10. előadás Speciális többágú fák

10. előadás Speciális többágú fák 10. előadás Adatszerkezetek és algoritmusok előadás 2018. április 17., és Debreceni Egyetem Informatikai Kar 10.1 A többágú fák kezelésére nincsenek általános elvek, implementációjuk elsősorban alkalmazásfüggő.

Részletesebben

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok.

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok. ADATBÁZIS-KEZELÉS ALAPOK Főbb Adattípusok: Igen/Nem Bájt Ez az adattípus logikai adatok tárolására alkalmas. A logikai adatok mindössze két értéket vehetnek fel. (Igen/Nem, Igaz/Hamis, Férfi/Nő, Fej/Írás

Részletesebben

Adatbázis, adatbázis-kezelő

Adatbázis, adatbázis-kezelő Adatbázisok I. rész Adatbázis, adatbázis-kezelő Adatbázis: Nagy adathalmaz Közvetlenül elérhető háttértárolón (pl. merevlemez) Jól szervezett Osztott Adatbázis-kezelő szoftver hozzáadás, lekérdezés, módosítás,

Részletesebben

Hardver leíró nyelvek (HDL)

Hardver leíró nyelvek (HDL) Hardver leíró nyelvek (HDL) Benesóczky Zoltán 2004 A jegyzetet a szerzıi jog védi. Azt a BME hallgatói használhatják, nyomtathatják tanulás céljából. Minden egyéb felhasználáshoz a szerzı belegyezése szükséges.

Részletesebben

Adatszerkezetek Bevezetés Adatszerkezet Adatszerkezet típusok Műveletek Bonyolultság

Adatszerkezetek Bevezetés Adatszerkezet Adatszerkezet típusok Műveletek Bonyolultság datszerkezetek Bevezetés datszerkezet adatok rendszerének matematikai, logikai modellje elég jó ahhoz, hogy tükrözze a valós kapcsolatokat elég egyszerű a kezeléshez datszerkezet típusok Tömbök lineáris

Részletesebben

Adatszerkezetek I. 7. előadás. (Horváth Gyula anyagai felhasználásával)

Adatszerkezetek I. 7. előadás. (Horváth Gyula anyagai felhasználásával) Adatszerkezetek I. 7. előadás (Horváth Gyula anyagai felhasználásával) Bináris fa A fa (bináris fa) rekurzív adatszerkezet: BinFa:= Fa := ÜresFa Rekord(Elem,BinFa,BinFa) ÜresFa Rekord(Elem,Fák) 2/37 Bináris

Részletesebben

Segédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez

Segédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez Segédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez Sándor Tamás, sandor.tamas@kvk.bmf.hu Takács Gergely, takacs.gergo@kvk.bmf.hu Lektorálta: dr. Schuster György PhD, hal@k2.jozsef.kando.hu

Részletesebben

SZÓBELI ÉRETTSÉGI TÉMAKÖRÖK

SZÓBELI ÉRETTSÉGI TÉMAKÖRÖK INFORMATIKA SZÓBELI ÉRETTSÉGI TÉMAKÖRÖK Az emelt szint a középszint követelményeit magában foglalja, de azokat magasabb szinten kéri számon. 1. Információs társadalom 2. Informatikai alapismeretek - hardver

Részletesebben

A KÖZÉPSZINTŰ ÉRETTSÉGI VIZSGA INFORMATIKA TÉMAKÖREI: 1. Információs társadalom

A KÖZÉPSZINTŰ ÉRETTSÉGI VIZSGA INFORMATIKA TÉMAKÖREI: 1. Információs társadalom A KÖZÉPSZINTŰ ÉRETTSÉGI VIZSGA INFORMATIKA TÉMAKÖREI: 1. Információs társadalom 1.1. A kommunikáció 1.1.1. A kommunikáció általános modellje 1.1.2. Információs és kommunikációs technológiák és rendszerek

Részletesebben

Adatbázis-kezelés az Excel 2013-ban

Adatbázis-kezelés az Excel 2013-ban Molnár Mátyás Adatbázis-kezelés az Excel 2013-ban Magyar nyelvi verzió Csak a lényeg érthetően! www.csakalenyeg.hu Csak a lényeg érthetően! Microsoft Excel 2013 Kimutatás készítés relációs adatmodell alapján

Részletesebben

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból ÜTEMTERV Programozás-elmélet c. tárgyhoz (GEMAK233B, GEMAK233-B) BSc gazdaságinformatikus, programtervező informatikus alapszakok számára Óraszám: heti 2+0, (aláírás+kollokvium, 3 kredit) 2019/20-es tanév

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA, MATEmATIkA I. 3 III. MEGFELELTETÉSEk, RELÁCIÓk 1. BEVEZETÉS Emlékeztetünk arra, hogy az rendezett párok halmazát az és halmazok Descartes-féle szorzatának nevezzük. Más szóval az és halmazok

Részletesebben

Hibajavító kódok május 31. Hibajavító kódok 1. 1

Hibajavító kódok május 31. Hibajavító kódok 1. 1 Hibajavító kódok 2007. május 31. Hibajavító kódok 1. 1 Témavázlat Hibajavító kódolás Blokk-kódok o Hamming-távolság, Hamming-súly o csoportkód o S n -beli u középpontú t sugarú gömb o hibajelzı képesség

Részletesebben

Hamming-kód. Definíció. Az 1-hibajavító, perfekt lineáris kódot Hamming-kódnak nevezzük. F 2 fölötti vektorokkal foglalkozunk.

Hamming-kód. Definíció. Az 1-hibajavító, perfekt lineáris kódot Hamming-kódnak nevezzük. F 2 fölötti vektorokkal foglalkozunk. Definíció. Hamming-kód Az -hibajavító, perfekt lineáris kódot Hamming-kódnak nevezzük. F fölötti vektorokkal foglalkozunk. Hamming-kód készítése: r egész szám (ellenırzı jegyek száma) n r a kódszavak hossza

Részletesebben

elektronikus adattárolást memóriacím

elektronikus adattárolást memóriacím MEMÓRIA Feladata A memória elektronikus adattárolást valósít meg. A számítógép csak olyan műveletek elvégzésére és csak olyan adatok feldolgozására képes, melyek a memóriájában vannak. Az információ tárolása

Részletesebben

4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI 4. Fuzzy relációk Gépi intelligencia I. Fodor János BMF NIK IMRI NIMGI1MIEM Tartalomjegyzék I 1 Klasszikus relációk Halmazok Descartes-szorzata Relációk 2 Fuzzy relációk Fuzzy relációk véges alaphalmazok

Részletesebben

Az informatika kulcsfogalmai

Az informatika kulcsfogalmai Az informatika kulcsfogalmai Kulcsfogalmak Melyek azok a fogalmak, amelyek nagyon sok más fogalommal kapcsolatba hozhatók? Melyek azok a fogalmak, amelyek más-más környezetben újra és újra megjelennek?

Részletesebben

1. tétel. A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei. Informatika érettségi (diák)

1. tétel. A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei. Informatika érettségi (diák) 1. tétel A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei Ismertesse a kommunikáció általános modelljét! Mutassa be egy példán a kommunikációs

Részletesebben

3. TÖMBÖK A tömb absztrakt adattípus Legyen T az E alaptípus feletti k ( 1) dimenziós tömb típus. Vezessük be az I I1

3. TÖMBÖK A tömb absztrakt adattípus Legyen T az E alaptípus feletti k ( 1) dimenziós tömb típus. Vezessük be az I I1 3. TÖMBÖK Az egyszerű adattípusok ismertetését a tömbökkel kezdjük. Az sem okozna zavart, ha ezt a fejezet nem szerepelne jegyzetünkben, tekintettel arra, hogy a tömböket ismerjük a programozási kurzusokból.

Részletesebben

Számítógép architektúra

Számítógép architektúra Budapesti Műszaki Főiskola Regionális Oktatási és Innovációs Központ Székesfehérvár Számítógép architektúra Dr. Seebauer Márta főiskolai tanár seebauer.marta@roik.bmf.hu Irodalmi források Cserny L.: Számítógépek

Részletesebben

Az adatok a vállalat kulcsfontosságú erőforrásai. Az információs rendszer adatai kezelésének két alapvető változata:

Az adatok a vállalat kulcsfontosságú erőforrásai. Az információs rendszer adatai kezelésének két alapvető változata: ADATSZERVEZÉS Az adatok a vállalat kulcsfontosságú erőforrásai. Az információs rendszer adatai kezelésének két alapvető változata: fájlrendszerek (a konvencionális módszer) és adatbázis rendszerek (a haladóbb

Részletesebben

Erıforrástérkép felhasználói kézikönyv 1.0

Erıforrástérkép felhasználói kézikönyv 1.0 Erıforrástérkép felhasználói kézikönyv 1.0 Budapest, 2010. november 18. Az MTA Közgazdaságtudományi Intézet alapvetı feladata közgazdasági alapkutatások és az ezekhez kapcsolódó alkalmazott kutatások végzése,

Részletesebben

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán Keresés Rendezés Feladat Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán 2016. november 7. Farkas B., Fiala

Részletesebben

2 Access 2016 zsebkönyv

2 Access 2016 zsebkönyv 2 Access 2016 zsebkönyv BBS-INFO Kiadó, 2016. 4 Access 2016 zsebkönyv Bártfai Barnabás, 2016. Minden jog fenntartva! A könyv vagy annak oldalainak másolása, sokszorosítása csak a szerző írásbeli hozzájárulásával

Részletesebben

Adatszerkezetek I. 8. előadás. (Horváth Gyula anyagai felhasználásával)

Adatszerkezetek I. 8. előadás. (Horváth Gyula anyagai felhasználásával) Adatszerkezetek I. 8. előadás (Horváth Gyula anyagai felhasználásával) Kereső- és rendezőfák Közös tulajdonságok: A gyökérelem (vagy kulcsértéke) nagyobb vagy egyenlő minden tőle balra levő elemnél. A

Részletesebben

Programozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék

Programozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék 9. előadás Wagner György Általános Informatikai Tanszék Leszámoló rendezés Elve: a rendezett listában a j-ik kulcs pontosan j-1 kulcsnál lesz nagyobb. (Ezért ha egy kulcsról tudjuk, hogy 27 másiknál nagyobb,

Részletesebben

Matematikai alapok és valószínőségszámítás. Valószínőségi eloszlások Binomiális eloszlás

Matematikai alapok és valószínőségszámítás. Valószínőségi eloszlások Binomiális eloszlás Matematikai alapok és valószínőségszámítás Valószínőségi eloszlások Binomiális eloszlás Bevezetés A tudományos életben megfigyeléseket teszünk, kísérleteket végzünk. Ezek többféle különbözı eredményre

Részletesebben

Számítógép felépítése

Számítógép felépítése Alaplap, processzor Számítógép felépítése Az alaplap A számítógép teljesítményét alapvetően a CPU és belső busz sebessége (a belső kommunikáció sebessége), a memória mérete és típusa, a merevlemez sebessége

Részletesebben

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez Pásztor Attila Algoritmizálás és programozás tankönyv az emeltszintű érettségihez 3. ADATTÍPUSOK...26 3.1. AZ ADATOK LEGFONTOSABB JELLEMZŐI:...26 3.2. ELEMI ADATTÍPUSOK...27 3.3. ÖSSZETETT ADATTÍPUSOK...28

Részletesebben

Operációsrendszerek. 3. elıadás. Állományszervezés, felhasználói felületek

Operációsrendszerek. 3. elıadás. Állományszervezés, felhasználói felületek Operációsrendszerek 3. elıadás Állományszervezés, felhasználói felületek Bevezetés Állományszervezés Fizikai Logikai Stratégiák Felhasználói felületek Parancsmódú GUI X-Windows Állományszervezés Az állományszervezés:

Részletesebben

7. BINÁRIS FÁK 7.1. A bináris fa absztrakt adattípus 7.2. A bináris fa absztrakt adatszerkezet

7. BINÁRIS FÁK 7.1. A bináris fa absztrakt adattípus 7.2. A bináris fa absztrakt adatszerkezet 7. BINÁRIS FÁK Az előző fejezetekben már találkoztunk bináris fákkal. Ezt a központi fontosságú adatszerkezetet most vezetjük be a saját helyén és az általános fák szerepét szűkítve, csak a bináris fát

Részletesebben