1. Az adatbázis fogalma, fontosabb összetevÿi, felhasználási módjai

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "1. Az adatbázis fogalma, fontosabb összetevÿi, felhasználási módjai"

Átírás

1 4. tétel Az egyed-kapcsolat modell 1. Az adatbázis fogalma, fontosabb összetevÿi, felhasználási módjai 1.1. Adatbáziskezelÿ rendszer (DBMS - DataBase Management System) A DBMS komplex SW-HW rendszer, mely adatok magas szintÿ kezelését szolgálja. A "magas szintÿ" jelz igényes felhasználói felületre utal. Jellemz i: ÿ nagy adatmennyiség: ez mega-, újabban pedig már terrabyte-os (10 12 byte) adatmennyiséget jelent. A tárolás eszköze lehet diszk, dob vagy CD. ÿ gazdag struktúra: ezadatmodellfelállításátteszilehetÿvé. Pl. a Newton-közelítése 16 jegyre pontosan nem szolgáltat adatbázist, csupán strukturálatlan bitfolyamot. Adatbázisról akkor beszélhetünk, amikor a biteknek struktúrája és így jelentése van. ÿ hosszú életciklus: fontos az adatok permanens megÿrzése, mert az együtt lévÿ adatmennyiség értéket képvisel A DBMS felhasználásával szembeni követelmények Új adatbázis (a továbbiakban DB) létrehozása, ún. séma kialakítása és kezelése ÿ Séma: adatok fogalmi struktúráját rögzíti. Ennek nyelvi eszköze a DDL (Data Definition Language), az adatdefiníciós nyelv. Erre a létrehozáskor ill. a rendszer változásakor van szükség Adatok beillesztése, törlése, módosítása, lekérdezése Ennek nyelvi eszköze a ÿ DML (Data Management Language), az adatmanipulációs nyelv, és a ÿ QL (Query Language), a lekérdezÿ nyelv. (Ilyen pl. az SQL - Structured QL, ami felvállal DDL funkciókat is.) Hatékony tárolás, kezelés, hozzáférés Biztonság és védelem ÿ Biztonság a meghibásodásokkal (Security), és védelem az illetéktelen hozzáférésekkel szemben (Privacy) Felügyelje több felhasználó egyidej konfliktusmentes munkáját ÿ A '90-es évektÿl kezdve a komolyabb rendszerek már ezt is figyelembe veszik. 1

2 4. tétel Az egyed-kapcsolat modell 1.3. A DBMS vázlatos modellje sémam veletek lekérdezések adatm veletek "lekérdezés" processzor tárkezelÿ tranzakciókezelÿ DB adatok metaadatok A DBMS-hez az alábbi m veletekkel fordulhatunk: 1. Sémamÿveletek: ÿ a DB logikai vázának kialakítását, módosítását jelentik (a DDL igénybevételével). 2. Lekérdezések: ÿ kérdéseket fogalmazunk meg a DB tartalmával kapcsolatban. Ennek kétféle (bár nem teljesen független) változata: lekérdezÿ nyelven (QL) megfogalmazott kérdésekkel (pl. SQL), vagy alkalmazói programon keresztül feltett kérdésekkel nyerünk ki adatokat. Ez utóbbi esetben beszélhetünk gazdanyelvrÿl (host language), mely egy, a DBMS-hez hívásokat intézÿ általános célú programozási nyelv. 3. Adatmÿveletek: ÿ adatok beillesztését, törlését, módosítását célozzák - ezek a DML funkciói is egyben. Az adatm veletekben is érvényes a lekérdezéseknél megismert két ("a.)" és "b.)") változat. ("b.)"-re példa: banki rendszerekben kamatok jóváírása.) A DBMS architektúra komponensei: 1. Tárkezel : a diszkre ír és onnan olvas. Részei: ÿ File-kezel : a fizikai szint I/O-ot végzi, ami az állomány nyilvántartására és elemeinek kezelésére szolgál. (DB-környezetben az adatvesztés veszélye miatt nem megengedett a "nem fizikai" írás/olvasás, így például a UNIX-ban használt lapozás, ami nem mindig jár konkrét I/O-tal. Vagyis a módosításokat azonnal rögzíteni kell!) ÿ Puffer-kezel : ez a file-kezelÿ belsÿ memóriás kiegészítése; elkülönülést tesz lehetÿvé az operációs rendszer tárkezelÿ mechanizmusaitól és kezeli az I/O számára rendelkezésre álló belsÿ memóriát. A puffer felépítése: blokk 1 blokk 2 2

3 4. tétel Az egyed-kapcsolat modell ÿ A blokk egy ütemben írható/olvasható terület, mérete leggyakrabban byte (ez egy rendszerfüggÿ paraméter). ÿ A tárkezelÿ puffer-blokkjai elkülönülésének oka a fizikai adatfüggetlenség elve: ha igényeinkben változások állnak be, akkor a továbbiakban is használható legyen az adatbázis, vagyis logikai vázát ne kelljen átszervezni. Célunk tehát az, hogy a fizikai kérdéseket a többitÿl nagyrészt függetlenül tudjuk kezelni. 2. "Lekérdezés" processzor (lekérdezés feldolgozó): magas szint (pl. szelektor) kérdések átalakítását végzi egyszer utasítások sorozatára. A "MIT"-et bontja le kisebb elemekre, amelyek válaszolnak már a "HOGYAN"-ra is. Ebben a lebontásban fontos az optimalizálás, a lehetséges végrehajtások közül az "intelligens" feldolgozó választ: végrehajtási tervet készít. A standard formában megfogalmazott kérdéseket lehetÿséghez mérten átalakítja, majd a már végrehajtható utasításokkal a tárkezelÿ felé fordul. Példa: ÜGYFÉLtábla NÉV CÍM EGYENLEG NEMZETISÉG SELECT név FROM ügyfél WHEREegyenleg<0AND nemzetiség = 'DOGON' Azokra az nevekre vagyunk kíváncsiak az ÜGYFÉL táblából, akikhez negatív egyenleg tartozik és nemzetiségük "dogon" (<- afrikai népcsoport). A feltétel szÿrése hatékonyabb, ha elsÿként a nemzetiség szerint szelektálunk (mert példánkban egy ritka népcsoportot keresünk, s így a kisz rt hátralékos ügyfelek közül sokat kéne az eredménybÿl kizárni, mert nemzetiségük más), és csak ezután az egyenleg szerint. Látható tehát, hogy a jó szelektor-kérdések kialakítása nagyon fontos. Lényeges a tábla elérési mechanizmusa is, ami lehet szekvenciális vagy indexelt, esetleg B-fával megoldott, stb. A rendszerek nem törekszenek valódi optimum megtalálására - hiszen a sz rési feltételek egymástól és az adatoktól való függése, hatékonysági sorrendje nagyon bonyolult lehet -, ezért inkább csak valamilyen módon közelítik az optimumot. 3. Tranzakció-kezel : célja az, hogy egyidej leg több folyamat párhuzamos hozzáférését biztosítsa az adatbázishoz. Kulcsfogalma a tranzakció: ez utasítások egybetartozó sorozata, ami felfogható egy program-egységnek is (amit egyes nyelveken {}-ek között írunk le). Alapvetÿ követelmény a rendszerben a tranzakciók atomisága. A tranzakcióhoz tartozó utasítás-sorozat a "mindent vagy semmit" elven hajtódik végre, vagyis megszakíthatatlanul, oszthatatlanul. Vagy az összes, egy tranzakcióhoz tartozó utasítás lefut, vagy közülük egy sem. Ez a követelmény ahhoz, hogy teljesülhessen, a valós alkalmazásokban gyakran abortálást igényel (amikor a "semmit" ágon folytatódik a végrehajtás), mivel ütköztek az adatokhoz való hozzáférési igények. 3

4 4. tétel Az egyed-kapcsolat modell A tranzakció határait képezÿ elvi {}-ek a belül lévÿ utasítás-sorozat védelmét szolgálják. Ezek elhelyezése a tervezés lényeges kérdése. A tranzakció-kezel feladatai: atomiság biztosítása következetesség (konzisztencia) biztosítása: adatok "közbülsÿ", tranziens állapota nem megengedett tranzakciók elkülönítése: a véletlenszer en, keveredve érkezÿ tranzakciók hatását el kell szeparálni tranzakció-tartósság: egy sikerrel befejezÿdött tranzakció hatása legyen permanens, állandó; lehessen késÿbb is erre a hatásra, eredményeire építeni. Komoly rendszerhibák ellen is legyen biztosítva a védettség, a DB ne sérüljön. A tranzakció-kezel alapeszközei: zárak: egy tranzakció "lelakatol" egy adatot, adatelemet, és biztosítja, hogy más tranzakció ne dolgozhasson a használt adattal. A tranzakció végeztével a zár feloldódik. A zárral ellátható adatelemek mérete rendszerenként változik, a méret meghatározása külön tervezési szempontokkal rendelkezik. naplózás: a naplóból végigkövethetÿk és "elszállás" esetén rekonstruálhatók a végzett tranzakciók, azaz a DB konzisztens állapotba hozható. érvényesítés: a tranzakciók eredményének érvényességét igazolja. Például a "piszkos adatok" káros hatásait kisz rÿ protokollok tartoznak ide. Vázlatos modellünket bizonyos árnyaló tényezÿk teszik a valódi rendszerekhez hasonlóvá. Ezek közül egy hatékony munkamegosztási eszköz a kliens-szerver architektúra: Kliens kér teljesít Szerver Aklienselÿfeldolgozott SQL kérdést ad a szervernek és táblát kap vissza. Célszer tehát, ha a kliens oldal minél több munkát elvégez, hogy a szervertÿl gyors válaszidÿkkel kaphassa meg az eredményt. A szerverhez való fordulás e módja trendként is felfogható A DBMS-sel kapcsolatos tevékenységek szintjei Naiv felhasználó Egyszer lekérdezéseket intéz a rendszerhez vagy alkalmazói programokat indít DB-programozó Összetett kérdéseket állít össze, alkalmazói programokat ír. Lehetÿsége van arra, hogy árnyaltabban, összetettebben használja ki a rendszer lehetÿségeit DB-tervezÿ Tevékenységi körébe tartozik a DB séma kialakítása, az adatok szerkezetének meghatározása, az adatok kapcsolatainak és a fizikai felépítésnek a tervezése. 4

5 4. tétel Az egyed-kapcsolat modell (Itt húzhatunk egy képzeletbeli vonalat, mert nagy az ugrás a szakmai felkészültségben:) DBMS-megvalósító Tudja, hogyan kell DBMS-t készíteni, ami már komoly, specializált tudást igényel Amivel mi foglalkozunk Tervezés: ez az adatmodellezés feladatköre. Ezen belül is szó lesz a következÿkrÿl: ODL: objektumos adatmodellezés Egyed/Kapcsolat megközelítés, modellezés hálós és hierarchikus adatmodellezés relációs adatmodellezés (fontos eleme a modell normalizálása) Programozás: ORACLE/SQL és alkalmazása (a Szg.labor 6 keretében) Megvalósítás: szisztematikusan nem, de az alapötletek szintjén vizsgálni fogjuk a kérdést. Szó lesz: a fizikai szervezésrÿl, a lekérdezés feldolgozásáról, és a tranzakciókról. 2. Az ODL-modellez nyelv 2.1. Az adatmodellezésr l általában Az adatmodellezés a DB logikai vázának megalkotását jelenti. Ez fogalmi szint mely az alábbi ábrával írható le: m velet, a valóság egy darabja a. adatmodell leírás b. DB séma adatmodellezÿ eszköz pl. ODL, E/K A folyamat tehát felfogható úgy, hogy egy "a valóság egy darabjáról" - pl. egy cég nyilvántartásáról szeretnénk adatmodellt és arról késÿbb egy DB sémát, azaz konkrét adatbázist készíteni. A DB séma már egy tényleges. értelmezhetÿ kód. A fázisok közötti átmenetek a következÿk: a. adatmodellezÿ eszközöket használva (pl. ODL, E/K) készítjük el az adatmodell leírását 5 DDL

6 4. tétel Az egyed-kapcsolat modell b. DDL segítségével alakítható ki a DB séma. A folyamat legfontosabb része az a.-ban zajló tevékenység; b. ebbÿl már nagyrészt automatikusan adódik. Az adatmodellezÿ eszköz többé-kevésbé formális jelölésrendszert biztosít adatok, kapcsolataik és a rajtuk végzett mÿveletek kifejezésére. Az adatmodellezés egyes eszközeinek kapcsolata és eredménye: ODL obj.db a valóság egy darabja E/K relációk relációs DB 2.2. Az ODL (Object Definition Language) módszertan Az ODL elemei: ÿ Lehetÿvé teszi az objektumos DB-tervezést (a módszer közel áll a szabványossághoz); ÿ és része a CORBA-nak, az osztott objektumos számítások tervezett szabványának Az ODL tulajdonságai ÿ a világot elsÿsorban objektumokkal írja le. Pl.: Emberek, Termékek, stb. ÿ az objektumok tartalmuktól független azonosítóval, OID-vel rendelkeznek. (Az objektumos világban két azonos példány két különbözÿ elem lehet.) ÿ az objektumokat osztályokba csoportosítja: egy adott osztály objektumai hasonlók ábrázolt tulajdonságaik (típusaik, jellegzetességeik) azonosak képet róluk a rekordsablon alapján kaphatunk Az ODL osztály-megvalósításának fÿ tényezÿi: 1. Attribútumok Az osztály-objektumok egyszer bb tulajdonságai egyszer bb típusokkal vannak ábrázolva (egész, valós, mutató, struct, enum, char, string, stb.). Osztály nem számít egyszer típusnak! 2. Kapcsolatok osztályok között Két alapvetÿ formája van: lehet hivatkozás egy (másik) osztály egy objektumára (egyértékÿ kapcsolat), vagy ÿ hivatkozás egy (másik) osztály több objektumára (többértékÿ kapcsolat). 3. Metódusok ÿ Az osztály objektumaira alkalmazott függvények. (A metódusok DB szempontból kevésbé relevánsak, de a modern SW-technológiának központi kérdése a metódusok tervezése és implementálása.) Az osztálydeklaráció formája az ODL-ben: 6

7 4. tétel Az egyed-kapcsolat modell interface < Osztálynév > { < jellemzÿk listája > }; Az "interface" kulcsszó az ún. osztálykonstruktor. Példák 1. filmes példa interface Film { attribute string cím; attribute integer év; attribute integer hossz; attribute enum Szalag {színes, feketefehér} szalagfajta; } Tapasztalatok: az attribútumnak van típusa és neve; enum: felsorolás típusú típusneve: Szalag neve: szalagfajta egy objektum képe ennek megfelelÿen: OID +{"Azerÿszak vége", 1998, 122, színes} 2. színészes példa interface Színész { attribute string név; attribute struct Cím { string város string utca} lakcím} típus rekordkonstruktor attribútumnév mezÿ neve mezÿ típusa Kapcsolatok leírása A kapcsolatok (relationship) osztályszinten más objektumhoz való viszonyokat írnak le. Két alapvetÿ leírási formájuk van: 1. < osztálynév > < kapcsolatnév >, és 2. < kollekció típus > << osztálynév >> < kapcsolatnév >. A kollekció típusa lehet Set, Bag, List, vagy Array. Az 1. leírás azt fejezi ki, hogy az objektum az adott típusú (nev ) kapcsolatban van a megadott osztállyal, a 2. pedig azt, hogy az objektum kapcsolatban van osztályok egy kollekciójával. A kapcsolat megfordítható, annak az objektumnak a szempontjából is megfogalmazható, amivel a kitüntetett objektumunk kapcsolatban áll. Ezt a fordított kapcsolatot (reverse) jelölni is kell, tehát maga a kapcsolat mindkét (ill. valamennyi) érintett objektumnál fel kell tüntetni. Lényeges, hogy a kapcsolat (relationship) - inverz kapcsolat (reverse) páregybetartozó szerkezet, ne válasszuk ÿket külön! Az inverz feltüntetése fontos konzisztencia-tényezÿ. Példák 1. filmes példa (kapcsolat a Film oldaláról) (2.)relationship Set < Színész > szereplÿk; reverse Színész: szerepel benne; 7

8 4. tétel Az egyed-kapcsolat modell A filmben szereplÿ színészek egy halmazba vannak foglalva. A Filmnek annyi kapcsolata lesz a Színésszel, ahány színész benne játszik. Ez a kapcsolatok leírásának 2. formája. (1.)relationship Színész szereplÿje; reverse Színész: szerepel benne; A kapcsolat leírható az 1. módon is, bár ez nem szerencsés. 2. színészes példa (kapcsolat a Színész oldaláról) relationship Set < Film > szerepel benne; reverse Film: szereplÿk; 3. konkrét adatokkal a kapcsolatok így néznek ki: Film Színész Berlin fölött az ég Bruno Ganz Távol s mégis közel Bruno Ganz Távol s mégis közel Peter Falk Columbo Peter Falk Tanulság: egy színész több filmhez is tartozhat, ill. egy filmhez több színész tartozik Kapcsolatok osztályozása Két osztály - pl. C és D - közötti kapcsolat lehet: ÿ egy-több (sok-sok, N:N) típusú: egy C osztálybeli objektumhoz az adott kapcsolatra nézve a D- bÿl több tartozhat, és fordítva. Pl.: C = Film, D= Színész köztük a "szereplÿk", "szerepel benne" kapcsolatok N:N típusúak Ez a kapcsolat-típus a leggyakoribb (strukturálatlan) eset. Az N:N kapcsolat árulkodó jele az ODL-leírásban a két kollekció-operátor. (Színészek halmaza, Filmek halmaza - mindkét oldalon több objektum van megengedve.) ÿ több-egy (sok-egy, N:1) típusú: egy C osztálybeli objektumhoz az adott kapcsolatra nézve legfeljebb egy D-beli tartozhat, de fordított irányban nincs megkötés (egy D-beli több C-belihez is tartozhat). Pl.: C = Film, D = Stúdió köztük a "gyártó" kapcsolat N:1 típusú Jó példa a gyermek-anya kapcsolat is (egy gyereknek legfeljebb egy anyja lehet, de egy anyának lehet több gyereke). Az N:1 kapcsolat árulkodó jele az ODL-leírásban: egyértékÿ kapcsolat C-nél és kollekció D- nél. ÿ egy-több (egy-sok, 1:N) típusú: ez az N:1 kapcsolat fordítottja. ÿ egy-egy (1:1) típusú: egy C osztálybeli objektumhoz az adott kapcsolatra nézve legfeljebb egy D- beli tartozhat, és fordítva. Pl.: C = Stúdió, D = Személy az "elnök" kapcsolat 1:1 típusú, feltéve, hogy egy stúdiónak legfeljebb egy elnöke lehet, és egy személy nem lehet több stúdió elnöke. Figyelem! A"legfeljebb egy" és "pontosan egy" nem ugyanazt jelenti. Az 1:1 kapcsolatban szerencsésebb a "legfeljebb egy"-et kikötni. A kapcsolatok osztályozásánál tehát azt vizsgáljuk, hogy a kapcsolat két oldaláról mennyire függvényszerÿ a kapcsolat (mikor egyértelmÿ a hozzárendelés). Alapvet tehát, hogy "mennyi dolog köt dik mennyihez". A kapcsolatok jó megválasztása rendkívül fontos szemantikai és hatékonysági szempontból is. Megj.: az ODL gyenge értelemben képes többágú kapcsolatot leírni. Pl.: (a felírás megengedi két azonos egyed felvételét) interface Szerzÿdés { attribute integer Gázsi; realtionship Stúdió gyártós; 8

9 4. tétel Az egyed-kapcsolat modell relationship Színész színész; relationship Film film;} Típusok az ODL-ben Az ODL az alaptípusokra és bizonyos építkezési szabályokra (melyeket a bonyolultabb adatszerkezetek kialakításához használ fel) támaszkodik. Ezen készlettel (adattípusok + szabályok) rendkívül sokféle feladat megoldható Alaptípusok: 1. Atomi típusok: a szokásos számítástechnikai adattípusok tartoznak ide, vagyis az egészek (integer), lebegÿpontos számok (float), karakterek (character), karakterláncok (string), logikai értékek (boolean), felsorolt adatok (enum). 2. Interface típusok: ezeket az interface kulcsszó vezeti be (ilyen pl. a Film) Típuskonstruktorok ÿ ezek adják az ODL építkezési szabályait. Tegyük fel, hogy T egy típus. 1. Set < T > típus értéke T típusú elemek véges halmaza. Pl.: Szereplÿk halmaza a Filmnél. 2. Bag < T > típus értéke T típusú elemek véges multihalmaza, vagyis a halmazban lévÿ elemek multiplicitással rendelkezhetnek (az ismétlÿdés megengedett). Akkor használják, amikor a Set nem alkalmazható. 3. List <T > típus értéke T típusú elemek véges - esetleg üres - listája. A Set-tÿl annyiban különbözik, hogy benne fontos az elemek helye, sorszáma. Pl.: string = List < char > 4. Array < T, i > típus értéke T típusú elemek i-hosszú tömbje. 5. Rekordkonstruktor Adott a T 1,...,T n (attribútum) típus-sorozat és az f 1,..., f n mezÿnév-sorozat. Ekkor a Struct N {T1 f1, T2 f2,..., Tn fn} egy N nev, n komponens rekordstruktúra. Az i. komponens (mezÿ) típusa T1, neve fi. Pl. A Színésznél a Cím egy kétkomponens struktúra (rekord). Az típuskonstruktorok az ún. kollekció-operátorok. Ezek valamilyen homogén összességet definiálnak, amelyekben eltérÿ lehet az, hogy megengednek-e ismétlÿdést vagy hogy fontos-e a pozíció, stb. Az attribútumok típusa lehet: ÿ atomi típus, ÿ atomi típusokból álló struktúra, ÿ vagy egy, az elÿzÿekre alkalmazható konstruktor közül. Példa: Array < Struct T...{string név, integer tömeg}, 3 > A kapcsolat típusa lehet: ÿ interface típus ÿ egy, interface típusra alkalmazott konstruktor közül. 9

10 4. tétel Az egyed-kapcsolat modell Alosztályok és öröklÿdés Az alosztály egy osztály speciális tulajdonságú objektumaiból jön létre (differenciális specifikációval). Ehhez a tevékenységhez tartozik a szÿkítés és a részképzés. Alosztály jelölése: feltüntetjük a felettes osztály(oka)t. Pl.: filmes példa interface Rajzfilm: Film {relationship Set (Színész) hangok;}; interface Krimifilm: Film {attribute Set < string > bizonyítékok ;}: interface Krimirajzfilm: Rajzfilm, Krimifilm {}; Az alosztály örökli az összes felettes osztály (ún. "szuperosztály") tulajdonságait. Ezek az attribútumok, metódusok és kapcsolatok. Pl.: a Krimirajzfilm örökli a Filmtÿl acímet. Az alosztály-szerkezet hierarchiát definiál (egy felfelé irányított gráfot). Ez nem feltétlenül fastruktúra, bár ez a legjellemzÿbb. Pl.: a filmes példa öröklÿdési gráfja: Film Rajzfilm Krimifilm Krimirajzfilm Az öröklÿdés révén konfliktus merülhet fel, ha egy alosztály többfelÿl örökölhet tulajdonságokat. Pl.: rajzfilm: vég = boldog / szomorú krimi: vég = ítélet / felmentés. Megoldás: átnevezést hajtunk végre a felsÿbb szinteken, vagy újradefiniáljuk a tulajdonságot az alsóbb szinten. (Például, ha a Sokszög - Négyszög - Négyzet alosztály öröklÿdési struktúrát nézzük, akkor célszer a területet alsóbb szinten definiálni.) Megszorítások modellezése az ODL-ben Általunk az adatok közt további összefüggések is definiálhatók. Ezek ugyanúgy megszorítást jelentenek, mint a séma részei - például az N:1 kapcsolat, mert a kapcsolat másik oldalán egyetlen objektum állhat csak. Amegszorításokfÿtípusai: 1. Kulcsok ÿ Olyan attribútum-halmazok, melyek egyértelm en azonosítják az objektumot. (Ha ismerjük a kulcsok értékét, akkor az azonosítás elvégezhetÿ.) ÿ 0 vagy több attribútum lehet kulcs; ugyanekkor több kulcs is megadható. 10

11 4. tétel Az egyed-kapcsolat modell ÿ A kulcs általános alakja: interface < osztálynév > (key(s) K 1, K 2,..., K n ) {-}; AK i kulcsleírás alakja: < attribútumnév >; vagy (attr 1,..., attr n ) Példák filmes példa interface Film (key (cím, év)) {-}; dolgozói nyilvántartás interface Dolgozó (keys dolgazon, tbszám) {-} 2. Egyérték ségi megszorítások Azt rögzítik, hogy egy érték (-kombináció) az adott helyzetben egyedi. Pl. a termék meghatározza az árat. Attribútumoknál a kollekció-operátorok mellÿzése szolgál az egyérték ség kifejezésére. Kétfajta értelmezés kapcsolódik az egyérték séghez: ÿ "legfeljebb egy": ez felel meg az N:1 felfogásnak ÿ "pontosan egy": ez már egy "hivatkozási épség" (lásd késÿbb) típusú követelmény. A "legfeljebb egy" értelmezés hatására vezették be a NULL értékeket. Ezen érték azt mutatja, hogy adott esetben megengedett "üresen" hagyni egy attribútum-mezÿt. Pl.: {színes, feketefehér, NULL} - ebbÿl ahalmazbólkerülkiafilmszalagtípusa. HaaNULLérték van megadva, az azt jelenti, hogy a szalag típusa nem ismert. 3. Hivatkozási épség (referential integrity) Az a követelmény, hogy a hivatkozott dolognak léteznie kell (vagyis nem fordulhatnak elÿ "lógó" mutatók, hivatkozások). Lényeges, hogy az ODL a hivatkozási épség kérdését nem kezeli, csupán a megvalósítás szintjén ajánl különbözÿ módszereket: ÿ létrehozáskor kötelezÿ a "pontosan egy" kapcsolat kitöltése; ÿ hivatkozott objektum nem törölhetÿ - ez az ún. gyenge törlési elv (az elÿbbi pont inverze); ÿ a hivatkozott objektum csak a hivatkozóval együtt törölhetÿ. 4. Értelmezési tartomány korlátozása Ezen korlátozások a típusok értelmezési tartományára vonatkoznak! 5. Általános megszorítások Általános követelmények, pl. a kapcsolat fokának korlátozása tartozik ide. Megadhatjuk például, hogy legfeljebb hány színész szerepelhet egy filmben. Ha ez történetesen 10, akkor ez így írható le: relationship Array < Színész, 10 > Szereplÿk; 2.3. Adatmodellezési alapelvek Valósághÿ modellezés ÿ a fontos adatelemek és ÿ a fontos kapcsolatok is legyenek benne a modellben! A redundancia elkerülése ÿ Ugyanazt a dolgot két vagy több helyen ne jelenítsük meg az ábrázolt modellben. Ez azért fontos a következ kmiatt: 11

12 4. tétel Az egyed-kapcsolat modell ÿ helygazdálkodás: nem ez a legfontosabb szempont, de mérlegelni kell; ÿ konzisztencia: akétvagytöbbhelyenlév azonos adatnak minden el fordulási helyén mindig ugyanolyan tartalmúnak kell lennie. Ha ez nem teljesül, akkor anomáliák lépnek fel; ÿ egyszerÿség: a redundancia bonyolítja a modellt Megfelelÿ típusú elemek kiválasztása Alapkérdések: ÿ mit reprezentálunk attribútumként? ÿ mit reprezentálunk kapcsolatként? ÿ Amegfelelÿtípusú elemek kiválasztásának szempontjai: ÿ az attribútum: egyszer bb, mint a kapcsolat (hiszen ez direkt köthetÿ alaptulajdonság) ÿ az egyedhalmaz, osztály (azaz a kapcsolat): bonyolultabb, de kifejezÿbb. 3. Az egyed-kapcsolat modell 3.1. Az adatmodellezésr l általában Az adatmodellezés a DB logikai vázának megalkotását jelenti. Ez fogalmi szint alábbi ábrával írható le: m velet, mely az a valóság egy darabja a.) adatmodell leírás b.) DB séma adatmodellezÿ DDL eszköz pl ODL E/K A folyamat tehát felfogható úgy, hogy egy "a valóság egy darabjáról" - pl. egy cég nyilvántartásáról szeretnénk adatmodellt és arról késÿnn egy DB sémát, azaz konkrét adatbázist készíteni. A DB séma már egy tényleges. értelmezhetÿ kód. A fázisok közötti átmenetek a következÿk: a. adatmodellezÿ eszközöket használva (pl. ODL, E/K) készítkjük el az adatmodell leírását b. DDL segítségével alakítható ki a DB séma. A folyamat legfontosabb része az a.)-ban zajló tevékenység; b.) ebbÿl már nagyrészt automatikusan adódik. Az adatmodellezÿ eszköz többé-kevésbé formális jelölésrendszert biztosít adatok, kapcsolataik és a rajtuk végzett mÿveletek kifejezésére. Az adatmodellezés egyes eszközeinek kapcsolata és eredménye: a valóság egy darabja ODL E/K obj.db relációk relációs DB 12

13 4. tétel Az egyed-kapcsolat modell 3.2. Az Egyed/Kapcsolat (E/K) modell Nevezik még Tárgy/Kapcsolat,vagyEntitás-relációs modellnek is. Az E/K modell nem teljeskör, mert nem tartalmaz m veleteket. Elÿnye viszont az, hogy látható formába önti a DB modelljét, vagyis jobban átlátható, mint az ODL formális leírásmódja. Elsÿdleges leírást ad, ami könnyen - jórészt gépiesen - finomítható igazi DB sémáig. Az E/K modell alapfogalmai 1. Egyedhalmazok (tárgy-, entitáshalmazok) Közelítÿleg az egyedek az objektumoknak, az egyedhalmazok pedig az osztályoknak felelnek meg. (A különbség, mint tudjuk, az, hogy az objektumoknak mindig van azonosítójuk.) Egyedhalmaz lehet bármi, aminek egyedei azonosíthatók. Az E egyedhalmaz jelölése: Például: E Film 2. Attribútumok Ezek az egyedek jellemzésére szolgáló egyszer - azaz egyszer típusú - tulajdonságok. (Egyes nézetek szerint attribútum nem lehet rekordtípus - aminek az ODL-ben nem volt akadálya.) Ha az E egyedhalmaz attribútumai rendre az A 1,...,A k attribútumok, akkor a formális jelöléssel: E(A 1,...,A k ). Rajzban: E A k A 1 A 2... Példa: az ODL-nél megismert Film az E/K modellben cím év Film hossz 3. Kapcsolatok 13

14 4. tétel Az egyed-kapcsolat modell Az egyedhalmazok közötti viszonyok kifejezésére szolgálnak. Jelentös eltérés az ODL-hez képest az, hogy az E/K modell megenged sokágú kapcsolatokat - nem úgy, mint az ODL, ami csak kétszereplÿs kapcsolatokat ábrázol. Az E 1,...,E m egyedhalmazok közti R nev kapcsolat jelölése: R(E 1,...,E m ). (Az egyedhalmazok sorrendjének nincs lényegi szerepe.) Rajzban a kapcsolat nevét rombuszba foglaljuk: E m.. Példák 1. Film-Színész kapcsolat:. R E 3 E 2 E 1 cím év név Film Szereplÿk Színész hossz szalagfajt Megj.: az ODL-ben a lakcím rekordként volt definiálva. Itt ez nem megy! 2. Nemzetközi munkamegosztás Cég Ország Termel Termék Egy cég termékeit több országban is termelheti / értékesítheti. Ez egy m=3 komponens kapcsolat. 14

15 4. tétel Az egyed-kapcsolat modell 3. a filmes példa továbbfejlesztése gázsi Film Szerzÿdés Színész Stúdió A filmet egy adott stúdió forgatja; erre a produkcióra szerzÿdik a színész. Ha a "gázsi" attribútumot szerepeltetni akarjuk az ábrán, akkor az csak a Szerzÿdés nev kapcsolathoz köthetÿ,mert: ÿ egy filmhez több színész és így gázsi tartozik; ÿ egy stúdió több filmet forgat; ÿ egy színész több filmben játszik. Tapasztalat: kapcsolatnak is lehet attribútuma. (Bár ez új egyedhalmaz felvételével kiváltható.) Kapcsolatok típusa az E-K modellben A kapcsolatok típusa megegyezik az ODL-ben ismertetett típusokkal, csak a jelöléstechnika más - a függvény-jellegre nyíl utal. 1:1 kapcsolat N:1 kapcsolat N:N kapcsolat R E 1 E 2 R E 1 E 2 Pl.: Személy - Stúdióvezetó kapcsolat ("elnök") mindkét végén nyíl Pl.: Gyermek -Anya kapcsolat ("anyja") csak egy nyíl R E 1 E 2 nincs nyíl Az N:1 (több-egy) kapcsolat értelmes lehet kettÿnél több komponens példa - nyíl a Stúdió felé.) kapcsolatnál is. (Lásd: filmes Általánosan: az R(E 1,...,E k ) több-egy kapcsolatban a nyíl E j felé mutat, ha tetszÿlegesen választott e E(i j) egyedkollekcióhoz legfeljebb egy olyan e j van, amivel (e 1,...,e j,...,e n ) R. Azaz a maradék - nyíl által nem mutatott - komponenseket (egyedeket) egyféleképp egészíthetjük ki úgy, hogy egy relációt kapjunk. 15

16 4. tétel Az egyed-kapcsolat modell Sokágú kapcsolat átalakítása kétágú (több-egy) kapcsolattá Menete: R E 1 E 2 => E 1. E 1-k R ' E 2-k E 2 E k-k. E 2 R' - melyet kapcsoló halmaznak szokás nevezni - elképzelhetÿ úgy, mint egy k mutatót tartalmazó egyedhalmazt. R'-nek gyakran nincs attribútuma (ekkor gyenge egyedhalmazról beszélünk). Példa: a Szerzÿdés kapcsolat átalakítása N:1 típusúvá (számunkra ez jobb) Színész Film Sz Szerz dés F S gázsi Stúdió 16

17 4. tétel Az egyed-kapcsolat modell Örökl dés, alosztályok az E/K modellben Tfh. az E 1 egyedhalmaz sz kítése az E 2 -nek. Ezt jelölhetjük ezekkel: is-a vagy az egy is-a vagy az egy magyar Az alárendelt egyedhalmaz örökli felmenÿi attribútumait. Egy "objektum" nem feltétlen egy "osztályyhoz" tartozik. Példa: Film, Rajzilm, Krimifilm cím év hossz Színész Film Hangok is-a is-a bizonyíték Rajzfilm Krimifilm Itt nincs szükség külön Krimirajzfilm egyedhalmazra. Pl. ha a "Macskafogó" a krimirajzfilm, akkor lesz egy neki megfelelÿ Rajzfilm és egy Krimifilm egyed is, melyek ugyanoda, ugyanarra a filmre fognak mutatni, azaz közös apjuk lesz. Megszorítások az E/K modellben 1. Kulcsok a rajzból indulunk ki, ezért fontos, hogy az egyszer legyen - ami a séma egyszer ségét is mutatja. a rajzon csak egyetlen kulcsot jelölünk: ez az ún. elsÿdleges kulcs (primary key) a nem elsÿdleges (azaz másodlagos) kulcsokat a modell külön leírásban tünteti fel. 17

18 4. tétel Az egyed-kapcsolat modell Pl. a Filmet a címe és a gyártási éve azonosítja, tehát itt a (cím,év) pár az elsÿdleges kulcs (amit aláhúzással jelölünk). Film cím év hossz 2. Egyérték ség ajánlás: használjunk egyérték attribútumokat! a NULL érték alapértelmezésben megengedett, kulcsokban azonban nem (aminek nem is lenne sok értelme, ha jól belegondolunk) a NULL érték tiltását külön leírás tartalmazza az N:1 jelleget nyilak fejezik ki. 3. Hivatkozási épség A "pontosan egy" kapcsolatot lekerekített nyílhegy jelöli. Példák: 1. Egy filmnek kötelezÿen van egy (pontosan egy) gyártó stúdiója Film Gyártó Stúdió 2. Minden stúdiónak pontosan egy elnöke van, azaz nem létezhet stúdió elnök nélkül. Egy elnök legfeljebb egy stúdióhoz tartozhat. Stúdió Vezeti Elnök 3. A kapcsolat fokának korlátozása Pl.: <= 3 Hajóraj Része Flotta (mindkét nyílfajta értelmes) Azt szabályozza, hogy egy egyedhez legfeljebb hány másik kapcsolódhat. A példában: egy flottához legfeljebb 3 hajóraj tartozhat. Gyenge egyedhalmazok Gyenge egyedhalmazról beszélünk, ha egy egyedhalmaz egyedei önmagukban nem, csak kapcsolataikon keresztül azonosíthatók. 18

19 9. tétel Tárolási struktúrák és sémakezelés hálós adatbázisokban Egy több komponens kapcsolat átalakításakor a kapcsoló rekordot így jelöljük: Ennek az azonosításban résztvevÿ kapcsolatait pedig így: Követelmények: ha az F egyedhalmaz hozzájárul az E gyenge egyedhalmaz kulcsához, akkor azt az megfelelÿ R (N:1) kapcsolattal együtt így kell ábrázolni (F is lehet gyenge egyedhalmaz): E R F az E azonosítására szolgáló F-beli attribútumok elemei F kulcsának is. Példa: szervezeti egységek részegységekbÿl - csoportokból - épülnek fel. A csoportokat számukkal írjuk le (ez egyetlen attribútumuk): szám név cím Csoport Része Stúdió A Csoport gyenge egyedhalmazt jelöl: ennyi attribútummal (szám) önmagában nem azonosítható, csak a "Része" kapcsolatot követve a Stúdió alapján. Ha a Csoportba bekerülne a stúdiónév (azonosító!) is, akkor további redundanciaprobléma is felmerülhetne (inkonzisztens nevek: a névváltozást nem minden elÿfordulásában követjük). 3. Adatmodellezési alapelvek 1. Valóságh modellezés a fontos adatelemek és a fontos kapcsolatok is legyenek benne a modellben! 2. A redundancia elkerülése 19

20 9. tétel Tárolási struktúrák és sémakezelés hálós adatbázisokban Ugyanazt a dolgot két vagy több helyen ne jelenítsük meg az ábrázolt modellben. Ez azért fontos a következÿkmiatt: helygazdálkodás: nem ez a legfontosabb szempont, de mérlegelni kell; konzisztencia: a két vagy több helyen lévÿ azonos adatnak minden elÿfordulási helyén mindig ugyanolyan tartalmúnak kell lennie. Ha ez nem teljesül, akkor anomáliák lépnek fel; egyszerÿség: a redundancia bonyolítja a modellt. 3. Megfelelÿ típusú elemek kiválasztása Alapkérdések: mit reprezentálunk attribútumként? mit reprezentálunk kapcsolatként? Amegfelelÿtípusú elemek kiválasztásának szempontjai: az attribútum: egyszer bb, mint a kapcsolat (hiszen ez direkt köthetÿ alaptulajdonság) az egyedhalmaz, osztály (azaz a kapcsolat): bonyolultabb, de kifejezÿbb. 4. Egyed-kapcsolat sémák átalakítása relációs, hálós és hierarchikus sémákká 1 1. E/K - relációs séma átalakítás Az átalakításra van egy teljesen gépies út, ami azonban nem adja mindig a legjobb megoldást. Egyed: E(A 1,...,A k ) R(A 1,...,A k ) Reláció Az egyed egy az egyben átalakítható relációvá (k-oszlopos táblává). E R(A 1,...,A k ) A 1... A k Bonyolultabb átalakítás: E 1 E m R E R(A 1,...,A s,b 1,...,B l,..., S 1,...,S t ) E 1 kulcsa E 2 kulcsa E m kulcsa 1 ez egy innen-onnan összeszedett tétel, a témával kapcsolatban ezt találtam! 20

21 9. tétel Tárolási struktúrák és sémakezelés hálós adatbázisokban Hogyan kaphatunk jó átalakított relációs sémát? ábrázoljunk minden információ-elemet! a fontos igényeket kifejezÿ m veletek legyenek hatékonyak! Például: ne kelljen túl sok helyrÿl összeszedni egy fontos lekérdezés adatait. 2. E/K - hálós séma átalakítás Tétel: minden E/K diagram átalakítható hálós diagrammá, azaz felrajzolható kizárólag kétkomponens N:1 kapcsolatok (kapcsoló rekordok) felhasználásával. Ez a megállapítás már az E/K modellben is szerepelt, amikor a több-több kapcsolatok számunkra kedvezÿbb, több-egy kapcsolatokká való átalakításáról beszéltünk. Mintapélda: E/K - hálós átalakításra Modellünkben egy kereskedelmi adatbázist ábrázolunk, melyben a Szállító és Megrendelÿ közötti kapcsolat az attribútumként felvett terméken ill. az Ár és Rendelés reláción keresztül valósul meg. E/K Hálós sznév szcím Szállító Szállító Ár' SZ_Á TERÁR Ár egys_á Termék TERREN termék Rendelés SZEMREN szám Rendelés menny Személy Megrendel név cím egyenleg 21

22 9. tétel Tárolási struktúrák és sémakezelés hálós adatbázisokban 3. Hierarchikus séma átalakítása Állítás: minden hálós séma átírható hierarchiákká (amely m veletben általában VRT-kre is szükség van). Az állítás bizonyítását egy példán keresztül mutatjuk be: 1. Hálós séma -> hierarchia A D A B C E B C D vd vb E ve va Az átíráskor minden rekordtípust és nyilat ábrázolunk. Kijelöljük az elsÿ gyökeret - ez általában egy nagy be-fokszámú rekordtípus. (Itt: A) Az átalakítással gyakran nem kapunk "szép" fát, sokszor nem is lehet a feladatot egyetlen fával megoldani. Ezért célszer vagy szükséges is lehet több gyökeret választani. 2. Hierarchia -> hálós séma B A B D A C va va vc C D Az eredmény több fa lett. A módszer elvileg jó, de nem ad túl értelmes megoldást. (Hármas lépcsÿben nemigen kérdezünk.) 22

23 9. tétel Tárolási struktúrák és sémakezelés hálós adatbázisokban 5. Az alapvet fizikai tárolási szerkezetek összehasonlítása 1. Alapfogalmak A fizikai szervezés célja, hogy egy rekordokból álló állomány kezelése megoldható legyen a következÿ m veletekkel: beszúrás, törlés, keresésé, módosítás. Ez a külsÿ táras (diszkek, dobok) adatkezelés kérdésköre. A fizikai szervezés elemei: ÿ blokk (lap): fix méretÿ adatterület, tipikusan k. 512 byte (ált. k=1,...,10) méretÿ (ez egy rendszerenként változó paraméter). A blokk számunkra egyetlen I/O mÿvelettel elérhet tárterületet jelent. Egy blokk több rekordot tartalmazhat. A blokkok elérése történhet abszolút vagy relatív cím alapján. A küls táras módszerek hatékonyságát a blokk(lap-)elérések számában mérjük. Tipikus blokkfelépítés: menedzsment információk fej rek 1... rek n maradék ÿ mutató (pointer): bejegyzés, ami egy blokk / rekord címét tartalmazza blokk / rekord ÿ ÿ kötött rekord / blokk: mutat(hat) rá mutató. (Ellentéte: szabad rekord / blokk.) Pl. a 2-3 fáknál a csúcsvágás mÿvelete nem végezhet korlátok nélkül, mert "lógó", semmibe mutató pointerek keletkezhetnek. rekord: kétféle lehet 23

24 9. tétel Tárolási struktúrák és sémakezelés hálós adatbázisokban ÿ ÿ rögzített formátumú (ez a tipikus eset): a mez k száma és hossza fix. Ekkor a rekord felépítése: menedzsment információk fej mezÿ 1 mezÿ 2... fix változó hosszúságú: kétféle alkalmazási módjuk: fix mezÿszerkezet változó hosszúságú mezÿkkel: például regények text adatbázisában egy egész könyv szövege szerepelhet egy mezÿben. szerzÿ cím szöveg fix fix változó Ez a struktúra kizárólag fix hosszúságú mezÿkkel így írható le: A rekordban szerepelhetnek azért fix hosszúságú mezÿk is, ha ezek hosszára található valamilyen ésszer szerzÿ cím szöveg_mutató fix fix Itt a szöveg-mutató mezÿ egy kevéssé struktúrált másodlagos szövegállomány meghatározott mezÿjére tartalmaz egy mutatót. ÿ ismétlÿdÿ mezÿ csoportok (többérték mezÿk): a rekordok mezÿszerkezete nem egységes. Például: filmek adatait tároljuk változó hosszúságú rekordokban. A változó hossz alkalmazását az indokolja, hogy nem lehet elÿre tudni, hogy az egyes filmeknek hány szereplÿje van. További mezÿkre bomlik Azt, hogy egy mezÿt többször (ebben benne van a 0 is!) ismételi kell, a * jelöléssel ábrázoljuk. Itt: Film(Cím, Év, Szereplÿ*) a változó hosszúságú rekord leírása. Ezen felül a többérték mezÿk tárolási módszerei a következÿklehetnek: 1. Foglalt hely technika: minden ismétlÿdésnek elÿre helyet kell foglalni. Például az egy filmben szereplÿ színészek számát 30-ban maximáljuk. Ekkor a Szereplÿkmezÿ30 mezÿre bomlik szét: 2. Mutató módszer: egyetlen mutató mezÿt kell lefoglalni, amely egy, az ismétlÿdÿ elemeket tartalmazó listára fog mutatni. A mutató tehát kimutat az eredeti állományból. Például: fix... szöveg... Film Cím Év... Szereplÿk Film Cím Év... Szereplÿ1... Film Cím Év Szereplÿ-lista

25 9. tétel Tárolási struktúrák és sémakezelés hálós adatbázisokban 3. Kombinált módszer: valamennyi ismétlÿdésnek elÿre helyet foglalunk úgy, hogy az esetek döntÿ többségében a lefoglalt hely elégnek bizonyuljon (de ne legyen feleslegesen nagy), és ne kelljen mutatók mentén keresgélnünk. A bÿvítés lehetÿségét az utolsó lefoglalt mezÿ biztosítja, amiben egy listára mutató pointer foglal helyet. Például: C db színész számára méretezzük a rekordot: Film Cím Év... Szereplÿ1... SzereplÿC állomány: blokkokon elhelyezkedÿ információtárolási szerkezet. Az állomány blokkjai elérésfolytonosan helyezkednek el a diszken - így van értelme a következÿ blokk (lap) fogalmának. A rendszer a következÿ lapot különbözÿ mechanizmusokkal határozhatja meg. Az állomány felépítése: lap 1 lap 2... lap n Szereplÿ-lista ÿ ÿ kulcs: a fizikai szervezés is ismeri a kulcsok fogalmát, de az eddig megismerthez képest más jelentéssel ruházza azt fel. A kulcs bizonyos kitüntetett mezÿk összessége, ami a keresés alapjául szolgál és gyakran - de nem mindig - meghatározza a rekordot. elérési módok: elsÿdleges elérés: a rekordok keresése, elérése elsÿdleges kulcs szerint történik. másodlagos elérés: ide tartozik a rekordok elérésének minden más módja. Az elérési módok tárgyalásánál szokás az állományok "invertálásáról" beszélni. Ha egy állomány nemcsakazelsÿdleges kulcs (pl. név) adta logikával áll rendelkezésünkre, hanem valamilyen másodlagos kulcs szerint is, akkor azt mondjuk, hogy az állomány az adott másodlagos kulcs (pl. telefonszám) szerinti inverzével dolgozhatunk. 2. Alapvetÿ fizikai szervezési elvek Ezek a következÿk: 1. Kupac (heap) (az alábbi kettÿrÿl a következÿ tételben lesz szó:) 2. Hash 3. Indexelt szervezés. 1. Kupac (heap) Általában kis állományok fizikai szervezésére szolgál. Az állomány lapjai így helyezkednek el: Új rekord beillesztése az utolsó rekord utáni elsÿ szabad helyre történik. A módszer a törlést "törölt" bit használatával oldja meg. A keresés elérés-folytonos, az alkalmazott operációs rendszertÿl függetlenül van megoldva a DBMS által. A rendszer a rekordot az állomány elejétÿl keresi mindaddig, míg meg nem találja (legrosszabb esetben az sikertelenül az állomány végére ér). 25 új rekord

26 9. tétel Tárolási struktúrák és sémakezelés hálós adatbázisokban ÿ A sikeres keresés általánosan a blokkok felét érinti; ÿ a sikertelen keresés általánosan az összes blokkot megnézi. A kupac-szerkezet fenntartásához szükséges munka nem túl nagy, de a szerkezet bonyolódásával növekszik. Az adatbázis-állományok "pályafutásukat" kezdhetik kupacos szervezésben, növekedve pedig új formát, szerkezetet kaphatnak. 6. Hashelés és ritka indexes szervezési módszerek 1. Adatbázisok alapvetÿ fizikai szervezési elvei Ezek a következÿk: 1. Kupac (heap) (errÿl azelÿzÿrételben már volt szó) 2. Hash 3. Indexelt szervezés. 2. Hash-szervezés Elsÿsorban a vödrös (bucket) hash-elés és változatai használatosak. Az alapmódszerben adott: Bdbvödör (egy vödör egy kis - kevés lapból álló - lap-láncot jelent); egy vödörkatalógus (0-tól (B-1)-ig indexelt tömb) és a h: {kulcsok} -> [0,B-1] hash-függvény, mely legyen gyorsan számítható és ne okozzon túl sok ütközést (ütközés: két kulcshoz h ugyanazt a tömb-cellát rendeli) Ábrázolva: 0... i vödör vödörkatalógus A hash-függvény a K kulcsú rekordhoz az i. vödröt sorsolja: h(k) = i. A keresés a sorsoláshoz egész hasonlóan zajlik: a K' rekordot keresve ki kell számítani a h(k') értékét és a megfelelÿ vödörhöz kell fordulni. Ez a módszer átlagos értelemben igen jó (a vödrök nem lesznek túl kicsik / túl nagyok); átlagban konstans lapelérés elég. Tipikusan B-t prímnek választják, és a hash-függvényt így határozzák meg: h(k) := K (mod p). Az alapmódszer hibája, hogy statikus: rögzítve a vödörkatalógus méretét elÿfordulhat, hogy túl hosszú lap-láncok alakulnak ki a vödrökben, vagyis a szervezés nem követi dinamikusan az állomány méretváltozásait. Javaslatok a statikusság kiküszöbölésére: 1. Dinamikus hash-elés 26

27 9. tétel Tárolási struktúrák és sémakezelés hálós adatbázisokban Ötlete: a szófa és a vödrös hash-elés ötvözete segít. h(k)-t fogjuk fel úgy, mint egy bitsorozatot. A szerkezet így épül fel: 0 vödör 1 azon rekordokat tárolja, melyekre h(k) = mindegy vödör vödör A vödrök itt is lap-láncok, de méretük fix (bár rendszerenként más és más lehet). Keresés: h(k) bitjeit olvasva lehet megtalálni a kívánt vödröt és benne a megfelelÿ lapot. Kezdÿállapot: vödör Ha egy vödör megtelik, akkor szét kell vágni. Például a kezdet, 2-es számú vödör telt meg. Ebbÿl csinálunk két vödröt a és gyel kezdÿdÿ lapok számára. 0 1 Van értelme a testvér-vödrök összevonásának is. Ha törlünk egy vödörbÿl, akkor megnézzük a testvérét: ha együtt jobban ki vannak töltve, akkor érdemes összevonni ÿket. Természetesen a dinamikus hash-elés az alapmódszernél nehézkesebb és költségesebb. Ez részint attól is függ, hogy mi kerülhet be a belsÿ memóriába (esetleg az egész szerkezet vagy csak a gyökérhez közeli csúcsok, stb.). A költséget ezért nehéz pontosan megbecsülni. 2. Növelhetÿ (extendable) szervezés A módszer paramétere: d pozitív egész szám, ez a katalógus globális mélysége. A katalógusnak ekkor 2 d számú bejegyzése lesz. h(k) továbbra is egy bitsorozatnak tekinthetÿ. A szerkezet így épül fel d=3 esetén: vödör vödör vödör vödör vödör A rendszer fenntart egy-egy vödröt a 0-val és 1-gyel kezdÿdÿ hash-függvény lapoknak. Ha ez az elválasztás nem lehetséges a következÿ (jelen esetben a harmadik) bitnél, akkor egy bittel tovább kell nézni a h(k) értékeket. A legrosszabb esetben ez a megkülönböztetés sosem ejthetÿ meg (de ennek nagyon kicsi a valószín sége). d' 3 vödör d' 2 vödör

28 9. tétel Tárolási struktúrák és sémakezelés hálós adatbázisokban d' a lokális mélység. Pl. d'=3=d => a katalógus elemeit címzÿ háromjegy cím mindhárom bitjére szükség van a vödörben; benne minden rekord 000-val kezdÿdik. Ha d'=2, akkor az azt jelenti, hogy itt elég 2 bit a rekord eléréséhez, elhelyezéséhez. A szervezés során mindvégig igaz, hogy d<= d'. Tehát a globális mélység a használható, alokális mélység pedig a használt bitek számát jelenti. Túlcsordulás esetén a vödör lapjait két vödörben próbáljuk elhelyezni. d nÿ (azaz új, nagyobb táblát készítünk), ha a d' lokális mélységÿ vödör túlcsordult; ÿ d csökken (azaz új, kisebb táblát készítünk), ha minden d' < d. 3. Indexelt szervezés A módszer kihasználja a kulcsok rendezettségét és alapvet Adott a tényleges, tárolni kívánt "fÿ" állomány ("nagy" rekordokkal). Felette helyezkedik el az index állomány, mely(kis) index rekordokból áll. A kett közötti összefüggések segítik a lapok elérését. Az index rekordokból - kis méretük miatt - sok férhet el egy lapon. mÿveletek megvalósítására szolgál. Index állomány F állomány Rekordok rendezettségi sorrendje (a sorrendben lehetnek, s t, jó indexeknél vannak is hézagok) Az index rekord felépítése: Kulcs igazi rekordkulcs általában egy lapra mutat (ez lehet az index [bonyolultabb] vagy a f állomány [egyszerÿbb] egy lapja) Az indexelés fajtái: a. Egyszintes ritka indexelés (ISAM) ÿ az index rekordok kulcs szerint rendezve vannak az index állományban elhelyezve; ÿ mutatójuk a f állományba mutat. Kapcsolat a mutató és a mutatott rekord között: K m index rekord K K'... rek 1 rek 2... a f állomány egy Kazels (legkisebb) kulcsérték a mutatott lapon. 28

29 9. tétel Tárolási struktúrák és sémakezelés hálós adatbázisokban Keresés: a K kulcsú rekordot keresve az index állományban megkeressük a legnagyobb K' kulcsú index rekordot, amelyre K<=K'teljesül. Ekkor biztosak lehetünk abban, hogy K' mutatóját, m- et követve megkapjuk az "esélyes lapot", ahol K rekordja talán megtalálható - feltéve, hogy egyáltalán része a szerkezetnek. A ritka indexrekordok között - kihasználva a rendezettséget - kereshetünk (feltéve, hogy N db index lap van): ÿ lineáris kereséssel: az index állományt az elejét l kezdve szekvenciálisan járjuk be. A keresés id igénye az index lapok számával arányos, ~ N lapelérés (N<<f állomány lapjainak száma). ÿ bináris kereséssel: felezéses módszerrel járjuk be az index állományt. Az id igény ~ logn lapelérés. ÿ interpolációs kereséssel: (pl. a telefonkönyvben így keresünk) szükség van valamilyen tárolt tudásra, statisztikára az index állomány bejárásában. A keresés jósága ennek a tudásnak a min ségéhez mérhet, ~ loglogn lapelérés. A további mÿveletekben lényeges, hogy mennyire mozgathatók a f állomány rekordjai: szabadok avagy kötöttek. Tegyük fel hogy a f állomány rekordjai szabadok, vagyis lógó mutatóktól nem kell tartani (a f állomány rekordjaira csak az index rekordok mutatói mutatnak). ÿ beszúrás: a rekordok helyét kereséssel határozzuk meg. Túlcsordulás esetén lapvágást kell végezni (ez a B-fáknál megismert módszert jelenti) és ennek megfelel en új index rekordot létrehozni - ami esetleg az index állományban is lapvágást okozhat. ÿ ÿ kilistáztatására szolgál. új törlés: a lapvágás inverzét, a lapösszevonást kell alkalmazni szükség esetén. tólig: a szervezés támogatja ezt a mÿveletet, ami adott kulcs-értékek közötti rekordok A stratégia következménye, hogy a lapok legalább félig telítve lesznek a f állományban. Ha a f állomány tömör, akkor a fenti mÿveletek nehézségekbe ütköznek. Ezért találták ki a módszer statikus változatát (kötött rekordokra). b. Egyszintes ritka indexelés - statikus változat Itt az index állomány el re elkészül; az index rekord pedig nem a f állomány egy lapjára, hanem egy "lap-oszlopára", listájára mutat. index állomány lapvágás A B... Itt nincs szükség vágásra és összevonásra; a f állomány rekordja nem mozdul és az index sem változik.... A ritka index szabad és kötött változata között a költség szempontjából drámai különbség van. 29

30 9. tétel Tárolási struktúrák és sémakezelés hálós adatbázisokban További módszerek: (a köv. tétel anyaga) c. Többszintes indexelés d. Sÿrÿ indexelés 7. B-fák és sÿrÿ indexek 1. Adatbázisok alapvet fizikai szervezési elvei Ezek a következÿk: 1. Kupac (heap) 2. Hash 3. Indexelt szervezés (ennek további módjairól lesz most szó). 2. Indexelt szervezés A módszer kihasználja a kulcsok rendezettségét és alapvetÿ m veletek megvalósítására szolgál. Adott a tényleges, tárolni kívánt "fÿ" állomány ("nagy" rekordokkal). Felette helyezkedik el az index állomány, mely(kis) index rekordokból áll. A kettÿ közötti összefüggések segítik a lapok elérését. Az index rekordokból - kis méretük miatt - sok férhet el egy lapon. Index állomány Fÿ állomány Rekordok rendezettségi sorrendje (a sorrendben lehetnek, sÿt, jó indexeknél vannak is hézagok) Az index rekord felépítése: Kulcs igazi rekordkulcs általában egy lapra mutat (ez lehet az index [bonyolultabb] vagy a fÿállomány [egyszer bb] egy lapja) Az indexelés fajtái: a. Egyszintes ritka indexelés (ISAM) b. Egyszintes ritka indexelés - statikus változat (ezekrÿl már az elÿzÿ tételben esett szó) c. Többszintes indexelés Ötlet: az index állomány fölé tegyünk egy (vagy több) újabb index állományt! 30

31 9. tétel Tárolási struktúrák és sémakezelés hálós adatbázisokban Index állomány Index állomány Fÿ állomány A felsÿindex állomány ritka indexe az alatta lévÿnek. Ha az index állomány túl nagy lett (vagyis a fÿ állomány hatalmas), akkor a szerkezet fölé teendÿ egy újabb index állomány. A dinamikus többszint indexek B-fákkal valósíthatók meg Az index állomány szintek ún. index fát alkotnak: Index fa Fÿ állomány gyökér szint i. index szint utolsó index szint Tulajdonságok: ÿ minden lap legalább félig telítve van (ez alól csak az egész kicsi szerkezetek jelentenek kivételt); ÿ a gyökér-levél utak egyforma hosszúak (ez egy kiegyensúlyozottsági tényezÿ); ÿ a keresés logaritmikus; a logaritmus alapszáma attól függ, hogy hány index rekord fér egy lapra (tehát nem az elágazások száma befolyásolja); ÿ a módszer teljesen dinamikus - elkerüljük ezáltal, hogy egy nagy állomány közepébe ugorjunk. Ezt a szervezési módot az egyes SW-cégek többnyire szabványosítják - ilyen például az IBM VSAM szabványa, amelyben B-fákat használnak. d. S r indexelés Afÿállomány minden rekordjához tartozik index bejegyzés. index állomány Fontos, hogy itt nem tételezünk fel semmiféle rendezettséget a fÿ állomány rekordjaival kapcsolatban! rek 1 rek2... rek n fÿ állomány Asÿrÿindexelés célja, hogy a kötött fÿ állományt felszabadítsuk: ritka index A s r indexre építünk valamilyen elérési utat, például egy ritka indexet. s r index szabad rekordok Fÿ állomány kötött rekordok 31

32 9. tétel Tárolási struktúrák és sémakezelés hálós adatbázisokban Asr indexelés tehát önmagában nem egy új elérési technika, hanem csak egy segédeszköz a fÿ állomány felszabadítására. Ez "szabadság" a módszer fÿ elÿnye, hiszen a s r index állomány rekordjait úgy mozgathatjuk, ahogy csak akarjuk. Ha fontos számunkra a fÿ állomány rekordjainak különbözÿ kulcsok szerinti gyors elérése, akkor a fenti s r indexes szervezés egyenesen el sem kerülhetÿ, nem csak praktikus szempontok miatt van rá szükség. Például: többféle elérési logikát használunk a fÿ állomány elérésére (név és telefonszám szerint is akarunk keresni) B-fa név szerint s r index 1. hash tel.szám szerint s r index 2. fÿ állomány [név, telefonszám,...] As r indexek használatának hátránya, hogy a fÿ állomány fölé egy plusz szintet iktat, ami azt jelenti, hogy extra lapelérésekre van szükség. A helyzet azért nem olyan rossz, mert ez a veszteség nem mindig számottevÿ. Ez abból ered, hogy az index rekordok gyakran sokkal kisebbek, mint a fÿ állomány rekordjai - hiszen csak rekord kulcsokat és mutatókat tartalmaznak -, és így több fér belÿlük egy lapra. Ha például B-fával szervezzük az indexet, akkor a fa alapja keskeny lesz és a kiegyensúlyozottsági tulajdonságból fakadóan a magassága sem lehet túl nagy. Mindebbÿl az következik, hogy az extra lapelérések száma sem lesz jelentÿsen nagy, vagyis a keresési sebesség döntÿen nem csökken. 3. Keresés részleges információ (Partial Match) alapján Az elsÿdleges elérések - és a legtöbb másodlagos is - valamilyen rekord kulcs (pl. személyi szám) alapján keresnek az állományokban. Részleges információra alapuló keresésnél azonban az elérés nem kulcs-szer információ alapján történik. Ennek megfelelÿen az elérés már nem lesz olyan gyors, mint a kulcs-alapú kereséseknél. Módszerei: 1. Többszörös (másodlagos) indexek alkalmazása Többféle szempont szerint férünk hozzá az állományhoz, és ennek megfelelÿen többszörös indexeket használunk. (Például egy személy adatainak lekérdezése történhet név, cím, vagy telefonszám alapján is.) Ez egy célravezetÿ, de nagyon sok extra munkát igénylÿ módszer (gondoljunk csak a többszörös indexek követésére és a beillesztések elvégzésére). 2. Particionált hash-függvények alkalmazása A hash-függvényt úgy kell kialakítani, hogy ellenÿrizhetÿ módón a h függvény valamennyi rekord-mezÿbÿl számítható legyen. Vagyis nyomon követhetÿvé kell tenni h(k) kiszámításában az egyes mezÿk hozzájárulását. (K-val most a rekordot jelöljük, h(k)-t pedig egy N-hosszú bitsorozatként foghatjuk fel.) K= m 1 m 2... h 1 h 2... h n "kis" hash-függvények b 1 b 2... b n bitek h(k) = h 1 (m 1 )+h 2 (m 2 )+...+h n (m n ) "nagy" hash-függvény; eredménye Σbi bit hosszú 32

Adatbázisok* tulajdonságai

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

Részletesebben

Adatbázisok I 2012.05.11. Adatmodellek komponensei. Adatbázis modellek típusai. Adatbázisrendszer-specifikus tervezés

Adatbázisok I 2012.05.11. Adatmodellek komponensei. Adatbázis modellek típusai. Adatbázisrendszer-specifikus tervezés Adatbázisok I Szemantikai adatmodellek Szendrői Etelka PTE-PMMK Rendszer és Szoftvertechnológiai Tanszék szendroi@pmmk.pte.hu Adatmodellek komponensei Adatmodell: matematikai formalizmus, mely a valóság

Részletesebben

II. év. Adatbázisok és számítógépek programozása

II. év. Adatbázisok és számítógépek programozása II. év Adatbázisok és számítógépek programozása A programozási ismeretek alapfogalmai a) algoritmus b) kódolás c) program a) algoritmus: elemi lépések sorozata, amely a következı tulajdonságokkal rendelkezik:

Részletesebben

BEVEZETÉS Az objektum fogalma

BEVEZETÉS Az objektum fogalma BEVEZETÉS Az objektum fogalma Program (1) Adat (2) Objektum Kiadványszerkesztés Word Táblázatkezelés Excel CAD AutoCad Adatbáziskezelés Access 1 Program (1) Adat (2) Objektum Adatmodell (2) A valós világ

Részletesebben

Adatmodellek komponensei

Adatmodellek komponensei Adatbázisok I Szemantikai adatmodellek Adatmodellek komponensei Adatmodell: matematikai formalizmus, mely a valóság adatorientált leírására alkalmas Komponensei: strukturális rész: a valóságban megtalálható

Részletesebben

A hierarchikus adatbázis struktúra jellemzői

A hierarchikus adatbázis struktúra jellemzői A hierarchikus adatbázis struktúra jellemzői Az első adatbázis-kezelő rendszerek a hierarchikus modellen alapultak. Ennek az volt a magyarázata, hogy az élet sok területén első közelítésben elég jól lehet

Részletesebben

Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai Tanszék INFORMATIKA 2 ADATBÁZISOK

Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai Tanszék INFORMATIKA 2 ADATBÁZISOK Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai Tanszék INFORMATIKA 2 ADATBÁZISOK Iváncsy Szabolcs és Vajk István 2007 Október Tartalomjegyzék Ábrák jegyzéke Táblázatok

Részletesebben

Adatbázisok és adattárházak az információs rendszerek adatkezelői

Adatbázisok és adattárházak az információs rendszerek adatkezelői Adatbázisok és adattárházak az információs rendszerek adatkezelői (Klárné Barta Éva) Részlet az Adatbáziskezelés és vállalati információs rendszerek című jegyzetből. Az első adatfeldolgozó rendszerek néhány

Részletesebben

Adatbázisok I. Jánosi-Rancz Katalin Tünde tsuto@ms.sapientia.ro 327A 1-1

Adatbázisok I. Jánosi-Rancz Katalin Tünde tsuto@ms.sapientia.ro 327A 1-1 Adatbázisok I. 1 Jánosi-Rancz Katalin Tünde tsuto@ms.sapientia.ro 327A 1-1 1-2 Ajánlott irodalom C. J. Date - An introduction to Database System (6) Békési-Geda-Holovács-Perge : Adatbázis-kezelés, EKF

Részletesebben

A könyv tartalomjegyzéke

A könyv tartalomjegyzéke A könyv tartalomjegyzéke Elıszó Bevezetés Adatbázis-kezelı rendszerek Adatmodellezés Alapfogalmak Egyedhalmaz, egyed Kapcsolat, kapcsolat-elıfordulás, kapcsolat típusa Tulajdonság, tulajdonságérték, értékhalmaz

Részletesebben

ügyfél. Adatbázisok elmélete 2. előadás. Korai modellek. Adatbáziskezelő rendszerek története. Első rendszerek

ügyfél. Adatbázisok elmélete 2. előadás. Korai modellek. Adatbáziskezelő rendszerek története. Első rendszerek Adatbázisok elmélete 2. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2004 ADATBÁZISOK ELMÉLETE

Részletesebben

Az adatmodelleket többféleképpen is csoportosíthatjuk. Egyik csoportosítás:

Az adatmodelleket többféleképpen is csoportosíthatjuk. Egyik csoportosítás: Adatmodellek Minden adatbázis-kezel rendszer egy absztrakt adatmodellel dolgozik, azért, hogy az adatokat ne csak bitek sorozataként lássuk. Egy adatmodell egy matematikai formalizmus mely a következ két

Részletesebben

Gazdasági informatika vizsga kérdések

Gazdasági informatika vizsga kérdések Gazdasági informatika vizsga kérdések 1. Mi az adatbázis? Adatbázisnak a valós világ egy részhalmazának leírásához használt adatok összefüggı, rendezett halmazát nevezzük. 2. Mit az adatbázis-kezelı rendszer?

Részletesebben

ADATBÁZISKEZELÉS ADATBÁZIS

ADATBÁZISKEZELÉS ADATBÁZIS ADATBÁZISKEZELÉS 1 ADATBÁZIS Az adatbázis adott (meghatározott) témakörre vagy célra vonatkozó adatok gyűjteménye. - Pl. A megrendelések nyomon követése kereskedelemben. Könyvek nyilvántartása egy könyvtárban.

Részletesebben

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai: 8. Gyakorlat SQL SQL: Structured Query Language; a relációs adatbáziskezelők szabványos, strukturált lekérdező nyelve SQL szabványok: SQL86, SQL89, SQL92, SQL99, SQL3 Az SQL utasításokat mindig pontosvessző

Részletesebben

B I T M A N B I v: T 2015.03.01 M A N

B I T M A N B I v: T 2015.03.01 M A N Adatbázis Rendszerek MSc 2. Gy: MySQL Táblák, adatok B I v: T 2015.03.01 M A N 1/41 Témakörök SQL alapok DDL utasítások DML utasítások DQL utasítások DCL utasítások 2/41 Az SQL jellemzése Az SQL a relációs

Részletesebben

ADATBÁZISOK ELMÉLETE 2. ELŐADÁS 1/26 Adatbáziskezelő rendszerek története Ősei a file-kezelők; ezek nem teljesítik ugyan azokat az elvárásokat, amiket

ADATBÁZISOK ELMÉLETE 2. ELŐADÁS 1/26 Adatbáziskezelő rendszerek története Ősei a file-kezelők; ezek nem teljesítik ugyan azokat az elvárásokat, amiket Adatbázisok elmélete 2. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2005 ADATBÁZISOK ELMÉLETE

Részletesebben

Vektoros grafikát tároló adatbázisok. Katona Endre Térképi adatbázisok diasorozata alapján

Vektoros grafikát tároló adatbázisok. Katona Endre Térképi adatbázisok diasorozata alapján Vektoros grafikát tároló adatbázisok Katona Endre Térképi adatbázisok diasorozata alapján Vektoros adatábrázolás Kép = rajzelemek sorozata, koordinátageometriai leírással. CAD rendszerekre jellemző (pl.

Részletesebben

Informatikus informatikus 54 481 04 0010 54 07 Térinformatikus Informatikus T 1/9

Informatikus informatikus 54 481 04 0010 54 07 Térinformatikus Informatikus T 1/9 A 10/2007 (II. 27.) SzMM rendelettel módosított 1/2006 (II. 17.) OM rendelet 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 alapján. Szakképesítés,

Részletesebben

2012.05.11. Adatbázisok I A relációs algebra

2012.05.11. Adatbázisok I A relációs algebra Adatbázisok I A relációs algebra 2 3 4 1 Feladatok Tantárgy tkód cím kredit oktató Oktató oktkód név tanszék fizetés Feladatok 1. Az átlagos kreditpontszám: Γ avg(kredit) (Tantárgy) 2. A Matematika tanszéken

Részletesebben

Magas szintű adatmodellek Egyed/kapcsolat modell I.

Magas szintű adatmodellek Egyed/kapcsolat modell I. Magas szintű adatmodellek Egyed/kapcsolat modell I. Ullman-Widom: Adatbázisrendszerek. Alapvetés. 4.fejezet Magas szintű adatmodellek (4.1-4.3.fej.) (köv.héten folyt.köv. 4.4-4.6.fej.) Az adatbázis modellezés

Részletesebben

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek. Programozás III CSOMAGOK Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek. A Java is csomagok halmaza: csomagokban van a fejlesztő környezet és az osztálykönyvtárak is: rt.jar fájl

Részletesebben

Széchenyi István Szakképző Iskola

Széchenyi István Szakképző Iskola A SZAKKÖZÉPISKOLAI SZAKMACSOPORTOS ALAPOZÓ OKTATÁS EMELT SZINTŰ ISKOLAI PROGRAMJA 11-12. évolyam Érvényes a 2003-2004-es tanévtől felmenő rendszerben Átdolgozva, utolsó módosítás: 2004. április 26. Az

Részletesebben

Adatbázis-kezelés. Harmadik előadás

Adatbázis-kezelés. Harmadik előadás Adatbázis-kezelés Harmadik előadás 39 Műveletek csoportosítása DDL adat definiálás Objektum létrehozás CREATE Objektum törlés DROP Objektum módosítás ALTER DML adat módosítás Rekord felvitel INSERT Rekord

Részletesebben

Ingrid Signo Felhasználói kézikönyv. Pénztári használatra

Ingrid Signo Felhasználói kézikönyv. Pénztári használatra Ingrid Signo Felhasználói kézikönyv Pénztári használatra 3.0 verzió Microsoft Windows 98SE, NT 4.0, XP, 2000 operációs rendszerekre 2006. január 20. Tájékoztató a Ingrid Signo felhasználási jogáról A felhasználás

Részletesebben

Helyzet: 1853, London, Soho, kolerajárvány, 700 halott Kérdés: honnan ered a járvány? Adatok: az elhunytak neve, lakhelye Megoldás dr.

Helyzet: 1853, London, Soho, kolerajárvány, 700 halott Kérdés: honnan ered a járvány? Adatok: az elhunytak neve, lakhelye Megoldás dr. Alapfogalmak... - az információáradat idejét éljük - az összes információ több mint 2/3-a valamilyen módon helyhez kötött - a mindennapi életben feltett kérdések nagy része helyhez kötött Hol van a legjobb

Részletesebben

Haladó DBMS Radványi, Tibor

Haladó DBMS Radványi, Tibor Radványi, Tibor Radványi, Tibor Publication date 2011 Szerzői jog 2011 Hallgatói Információs Központ Copyright 2011, Felhasználási feltételek Tartalom 1. Haladó DBMS... 1 1. Előszó... 1 2. Az adatbázis-kezelés-

Részletesebben

Bevezetés a C++ programozási nyelvbe

Bevezetés a C++ programozási nyelvbe Miskolci Egyetem Általános Informatikai Tanszék Bevezetés a C++ programozási nyelvbe Oktatási segédlet Összeállította: Ficsor Lajos 2001. 1. A C++ programozási nyelv története A C++ programozási nyelv

Részletesebben

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN vizsgatételek 1. Az objektumorientált programozás szemlélete, az objektum fogalma 2. Az objektumorientált programozás alapelvei 3. A Java nyelv története, alapvető

Részletesebben

A TAKARNET célja és felépítése 1

A TAKARNET célja és felépítése 1 A TAKARNET célja és felépítése 1 A különbözo földhivatali fejlesztések eredményeként kialakulnak, illetve részben már kialakultak a digitális adatbázisok. Ebbol következik, hogy lehetové válik az adatok

Részletesebben

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.4. Relációs algebra (áttekintés) 5.1.

Részletesebben

ADATBÁZIS-KEZELÉS ALAPOK I.

ADATBÁZIS-KEZELÉS ALAPOK I. ADATBÁZIS-KEZELÉS ALAPOK I. AZ ADATBÁZIS FOGALMA Az adatbázis tágabb értelemben egy olyan adathalmaz, amelynek elemei egy meghatározott tulajdonságuk alapján összetartozónak tekinthetők. Az adatbázis-kezelőknek

Részletesebben

Előszó. Bevezetés. Java objektumok leképzése relációs adatbázisokra OJB-vel Viczián István (viczus@freemail.hu) Viczián István

Előszó. Bevezetés. Java objektumok leképzése relációs adatbázisokra OJB-vel Viczián István (viczus@freemail.hu) Viczián István Java objektumok leképzése relációs adatbázisokra -vel Viczián István (viczus@freemail.hu) Előszó E cikk olyan haladó programozóknak nyújt segítséget, kik tisztában vannak a Java nyelvvel, és többször is

Részletesebben

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén Miskolci Egyetem, Gépészmérnöki és Informatikai Kar Logisztikai Intézet Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén Szakdolgozat Név: Makláry Brigitta Neptun kód: EQP49C

Részletesebben

19. Hasításos technikák (hash-elés)

19. Hasításos technikák (hash-elés) 19. Hasításos technikák (hash-elés) Példák: 1. Ha egy telefon előfizetőket a telefonszámaikkal azonosítjuk, mint kulcsokkal, akkor egy ritkán kitöltött kulcstartományhoz jutunk. A telefonszám tehát nem

Részletesebben

Szakmai program 2015

Szakmai program 2015 2015 Célok és feladatok a szakközépiskolai képzésben A szakközépiskolában folyó nevelés-oktatás továbbépíti, kiszélesíti és elmélyíti az általános iskolai tantárgyi követelményeket. A szakközépiskolában

Részletesebben

IBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.

IBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5. IBM WebSphere Adapters 7. változat 5. alváltozat IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.kiadás IBM WebSphere Adapters 7. változat 5. alváltozat IBM WebSphere

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 1. rész Osztályok és objektumok Mezık és metódusok Konstruktor és destruktor Láthatósági szintek Névterek és hatókörök Osztály szintő tagok Beágyazott osztályok

Részletesebben

SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER Adatbázisok I SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER Módosítás: DML: - rekord felvitel INSERT - rekord törlés

Részletesebben

Relációs adatmodellezés

Relációs adatmodellezés Relációs adatmodellezés Relációs adatmodell A relációs adatmodellt 1970-ben definiálta E. F. Codd amerikai kutató, de gyakorlati alkalmazása csak az 1980- as években vált általánossá. Lényege, hogy az

Részletesebben

Adatbázisok biztonsága

Adatbázisok biztonsága Adatbázisok biztonsága 13 1 Célkitőzések 1. Titoktartás (Secrecy): olyan felhasználó, akinek nincs joga, ne férjen hozzá az információkhoz. pl. egy diák ne láthassa más diák kreditjeit. 2. Sértetlenség

Részletesebben

Gyakorlatok. Megoldások. Fejezet céljai. Üzleti leírás. Tippek és trükkök. Figyelmeztetések. Gyakorlatok és megoldások szimbólumainak magyarázata:

Gyakorlatok. Megoldások. Fejezet céljai. Üzleti leírás. Tippek és trükkök. Figyelmeztetések. Gyakorlatok és megoldások szimbólumainak magyarázata: Gyakorlatok és megoldások szimbólumainak magyarázata: Gyakorlatok Megoldások Fejezet céljai Üzleti leírás Tippek és trükkök Figyelmeztetések A tanfolyamon az ABAP Dictionary objektumok létrehozásakor a

Részletesebben

XmlGessünk 13. rész - Az XML Schema II.

XmlGessünk 13. rész - Az XML Schema II. XmlGessünk 13. rész - Az XML Schema II. Az elz részben láthattuk, hogyan kell közvetlen egymásba ágyazással, referenciákkal és típusok definiálásával egyszerbb sémákat szerkeszteni. Részletesen megnéztük

Részletesebben

OBJEKTUMORIENTÁLT TERVEZÉS ESETTANULMÁNYOK. 2.1 A feladat

OBJEKTUMORIENTÁLT TERVEZÉS ESETTANULMÁNYOK. 2.1 A feladat 2. Digitális óra 28 OBJEKTUMORIENTÁLT TERVEZÉS ESETTANULMÁNYOK 2.1 A feladat Ebben a fejezetben egy viszonylag egyszerő problémára alkalmazva tekintjük át az OO tervezés modellezési technikáit. A feladat

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 1. rész Osztályok és objektumok Mezık és metódusok Konstruktor és destruktor Névterek és hatókörök Láthatósági szintek Osztály szintő tagok Beágyazott osztályok

Részletesebben

9. A FORGÁCSOLÁSTECHNOLÓGIAI TERVEZŐ-RENDSZER FUNKCIONÁLIS STRUKTÚRÁJA

9. A FORGÁCSOLÁSTECHNOLÓGIAI TERVEZŐ-RENDSZER FUNKCIONÁLIS STRUKTÚRÁJA 9. A FORGÁCSOLÁSTECHNOLÓGIAI TERVEZŐ-RENDSZER FUNKCIONÁLIS STRUKTÚRÁJA Egy-egy konkrét forgácsolástechnológiai tervezőrendszer saját, a fejlesztő által megfogalmazott struktúrát testesít meg. Az itt tárgyalt

Részletesebben

A SZOFTVERTECHNOLÓGIA ALAPJAI

A SZOFTVERTECHNOLÓGIA ALAPJAI A SZOFTVERTECHNOLÓGIA ALAPJAI Objektumorientált tervezés 8.előadás PPKE-ITK Tartalom 8.1 Objektumok és objektumosztályok 8.2 Objektumorientált tervezési folyamat 8.2.1 Rendszerkörnyezet, használati esetek

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net

Bánsághi Anna anna.bansaghi@mamikon.net ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 2. ELŐADÁS - C# ÁTTEKINTÉS - 2 2015 Bánsághi Anna 1 of 64 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 64

Részletesebben

MPP Adattárház Teradata alapokon

MPP Adattárház Teradata alapokon MPP Adattárház Teradata alapokon Tanulmány az Adatbázisok haladóknak c. tárgyhoz Lévai Ákos PRISE Kft. 2012/2013 tanév I. félév Tartalomjegyzék BEVEZETÉS...3 ELŐZMÉNYEK...3 AZ MPP ADATTÁRHÁZ...3 ADATTÁRHÁZAKRÓL

Részletesebben

Oracle BI Administration Tool. Repository felépítése

Oracle BI Administration Tool. Repository felépítése Repository felépítése 1 TARTALOMJEGYZÉK 1 Tartalomjegyzék... 2 1.1.1 Ábrajegyzék... 2 2 Bevezetés... 4 3 Leírás... 5 3.1 Fizikai réteg... 5 3.1.1 Fizikai réteg elemei... 6 3.1.2 Importálás... 8 3.1.3 Fizikai

Részletesebben

Adatbázisok elmélete 6. előadás

Adatbázisok elmélete 6. előadás Adatbázisok elmélete 6. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2004 ADATBÁZISOK ELMÉLETE

Részletesebben

ADATBÁZIS ADMINISZTRÁTOR SZAKKÉPESÍTÉS SZAKMAI ÉS VIZSGAKÖVETELMÉNYEI

ADATBÁZIS ADMINISZTRÁTOR SZAKKÉPESÍTÉS SZAKMAI ÉS VIZSGAKÖVETELMÉNYEI ADATÁZIS ADMINISZTRÁTOR SZAKKÉPESÍTÉS SZAKMAI ÉS VIZSGAKÖVETELMÉNYEI I. ORSZÁGOS KÉPZÉSI JEGYZÉKEN SZEREPLŐ ADATOK 1. A szakképesítés azonosító száma: 54 482 01 2. A szakképesítés megnevezése: Adatbázis

Részletesebben

C++ programozási nyelv Struktúrák a C++ nyelvben Gyakorlat

C++ programozási nyelv Struktúrák a C++ nyelvben Gyakorlat C++ programozási nyelv Struktúrák a C++ nyelvben Gyakorlat Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. szeptember A C++ programozási nyelv Soós Sándor 1/12 Input-output

Részletesebben

2. fejezet Hálózati szoftver

2. fejezet Hálózati szoftver 2. fejezet Hálózati szoftver Hálózati szoftver és hardver viszonya Az első gépek összekötésekor (azaz a hálózat első megjelenésekor) a legfontosabb lépésnek az számított, hogy elkészüljön az a hardver,

Részletesebben

Fájl rendszer. Fájl koncepció Elérési módok Könyvtár szerkezet Védelem Konzisztencia szemantika

Fájl rendszer. Fájl koncepció Elérési módok Könyvtár szerkezet Védelem Konzisztencia szemantika 1 Fájl koncepció Elérési módok Könyvtár szerkezet Védelem Konzisztencia szemantika Fájl rendszer 2 Fájl koncepció A számítógépek az adatokat különböző fizikai háttértárakon tárolhatják (pl. mágnes lemez,

Részletesebben

Tanúsítási jelentés. Hung-TJ-025-2004

Tanúsítási jelentés. Hung-TJ-025-2004 Tanúsítási jelentés Hung-TJ-025-2004 az A1-Polysys CryptoSigno JAVA API minősített elektronikus aláíráshoz v1.1.0 aláíró alkalmazás fejlesztő készletről /Polysys Kft./ Tanúsítási jelentés az A1-Polysys

Részletesebben

SSADM. Az SSADM (Structured System Analysis and Desing Method) egy rendszerelemzési módszertan.

SSADM. Az SSADM (Structured System Analysis and Desing Method) egy rendszerelemzési módszertan. SSADM Az SSADM (Structured System Analysis and Desing Method) egy rendszerelemzési módszertan. A struktúrált módszertanok alapelvei: Elemzés felülről lefelé: alrendszerekre, funkciókra, folyamatokra bontás

Részletesebben

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 12. előadás Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto A jegyzet az ELTE Informatikai Karának 2014.

Részletesebben

Programozás C++ -ban 2007/4

Programozás C++ -ban 2007/4 Programozás C++ -ban 2007/4 1. Az adatokhoz való hozzáférés ellenőrzése Egy C programban a struktúrák minden része mindig elérhető. Ugyanakkor ez nem a legkedvezőbb helyzet. Több szempontból is hasznos

Részletesebben

Általános statisztika II. Kriszt, Éva Varga, Edit Kenyeres, Erika Korpás, Attiláné Csernyák, László

Általános statisztika II. Kriszt, Éva Varga, Edit Kenyeres, Erika Korpás, Attiláné Csernyák, László Általános statisztika II Kriszt, Éva Varga, Edit Kenyeres, Erika Korpás, Attiláné Csernyák, László Általános statisztika II Kriszt, Éva Varga, Edit Kenyeres, Erika Korpás, Attiláné Csernyák, László Publication

Részletesebben

6. évfolyam MATEMATIKA

6. évfolyam MATEMATIKA 28 6. évfolyam MATEMATIKA Országos kompetenciamérés 28 Feladatok és jellemzőik matematika 6. évfolyam Oktatási Hivatal Budapest, 29 6. ÉVFOLYAM A kompetenciamérésekről 28 májusában immár hatodik alkalommal

Részletesebben

2. Digitális hálózatok...60

2. Digitális hálózatok...60 2 60 21 Kombinációs hálózatok61 Kombinációs feladatok logikai leírása62 Kombinációs hálózatok logikai tervezése62 22 Összetett műveletek használata66 z univerzális műveletek alkalmazása66 kizáró-vagy kapuk

Részletesebben

Komponens modellek. 3. Előadás (első fele)

Komponens modellek. 3. Előadás (első fele) Komponens modellek 3. Előadás (első fele) A komponens modellek feladata Támogassa a szoftverrendszerek felépítését különböző funkcionális, logikai komponensekből, amelyek a számítógépes hálózatban különböző

Részletesebben

Integrált ügyviteli rendszer: Kettős könyvelés modul

Integrált ügyviteli rendszer: Kettős könyvelés modul Integrált ügyviteli rendszer: Kettős könyvelés modul Használati útmutató 1988-2015. 3100.Salgótarján Fő tér 1. tel.: 36-32-423-912, e-mail minorg@minorg.hu Internet: http://www.minorg.hu/ 1.oldal Tartalomjegyzék.

Részletesebben

Önálló laboratórium beszámoló

Önálló laboratórium beszámoló Önálló laboratórium beszámoló BME-TMIT Készítette: Sümeghy Tamás Pál Neptun-kód: GFHSRE Szak: műszaki informatikus Szakirány: Internet és infokommunikációs alkalmazásai E-mail cím: schumy@sch.bme.hu Konzulens(ek):

Részletesebben

Hálózati protokoll tervezése

Hálózati protokoll tervezése Hálózati protokoll tervezése A gyakorlat célja: Hálózati protokoll tervezésének a megvalósítása Elméleti bevezető: Ahhoz, hogy a hálózatba kötött gépek kommunikálni tudjanak egymással, szükség van egy

Részletesebben

Felvételi vizsga Mesterképzés, gazdaságinformatikus szak BME Villamosmérnöki és Informatikai Kar. 2016. január 7.

Felvételi vizsga Mesterképzés, gazdaságinformatikus szak BME Villamosmérnöki és Informatikai Kar. 2016. január 7. Név, felvételi azonosító, Neptun-kód: GI pont(45) : Felvételi vizsga Mesterképzés, gazdaságinformatikus szak BME Villamosmérnöki és Informatikai Kar 2016. január 7. A dolgozat minden lapjára, a kerettel

Részletesebben

Hálózati biztonság (772-775) Kriptográfia (775-782)

Hálózati biztonság (772-775) Kriptográfia (775-782) Területei: titkosság (secrecy/ confidentality) hitelesség (authentication) letagadhatatlanság (nonrepudiation) sértetlenség (integrity control) Hálózati biztonság (772-775) Melyik protokoll réteg jöhet

Részletesebben

Térinformatika. j informáci. ciós s rendszerek funkciói. Kereső nyelvek (Query Languages) Az adatok feldolgozását (leválogat

Térinformatika. j informáci. ciós s rendszerek funkciói. Kereső nyelvek (Query Languages) Az adatok feldolgozását (leválogat Térinformatika Elemzék 2. Az informáci ciós s rendszerek funkciói adatnyerés s (input) adatkezelés s (management) adatelemzés s (analysis) adatmegjelenítés s (prentation) Összeállította: Dr. Szűcs LászlL

Részletesebben

5. modul - Adatbázis-kezelés

5. modul - Adatbázis-kezelés 5. modul - Adatbázis-kezelés Érvényes: 2009. február 1-jétől Az alábbiakban ismertetjük az 5. modul (Adatbázis-kezelés) syllabusát, amely a gyakorlati modulvizsga követelményrendszere. A modul célja A

Részletesebben

INFORMATIKA 5. évfolyam

INFORMATIKA 5. évfolyam INFORMATIKA 5. évfolyam Heti óraszám: 1 Éves óraszám: 37 Tematikai egység 1. Az informatikai eszközök használata 2. Alkalmazói ismeretek 2.1. Írott és audiovizuális dokumentumok elektronikus létrehozása

Részletesebben

Leggyakrabban használt adatbányászási technikák. Vezetői információs rendszerek

Leggyakrabban használt adatbányászási technikák. Vezetői információs rendszerek Leggyakrabban használt adatbányászási technikák ADATBÁNYÁSZÁS II. 1. A társításelemzés társítási szabályok (asszociációs szabályok) feltárását jelenti. Azt vizsgájuk, hogy az adatbázis elemei között létezik-e

Részletesebben

Történeti áttekintés

Történeti áttekintés Történeti áttekintés Előzmények A számítástechnika kezdetén elterjedt (egyeduralkodó) volt a mérnökpult használata, a gép és az ember kommunikációja bináris nyelven zajlott. A gépi kódú programozás nem

Részletesebben

Objektumorientált adatbázisok

Objektumorientált adatbázisok Objektumorientált adatbázisok Az objektumorientált programozás segítségével, könnyebben, természetesebben modellezhetjük a valós világot, jobban szervezhetjük az adatainkat. Az adatbázisok világa is elmozdult

Részletesebben

A CONCORDE ALAPKEZELŐ ZRT. VÉGREHAJTÁSI POLITIKÁJA

A CONCORDE ALAPKEZELŐ ZRT. VÉGREHAJTÁSI POLITIKÁJA A CONCORDE ALAPKEZELŐ ZRT. VÉGREHAJTÁSI POLITIKÁJA Hatályos: 2008. február 1. 1. Bevezetés A végrehajtási politika az ügyfelek pénzügyi eszközökre vonatkozó vételi vagy eladási megbízásainak, az ügyfél

Részletesebben

Az Oracle rendszer komponensei

Az Oracle rendszer komponensei Az Oracle rendszer komponensei Célok Az Oracle szerver felépítésének és fő komponenseinek megismerése Annak bemutatása, hogy egy felhasználó Oracle példányhoz (instance) kapcsolódása hogy történik A következő

Részletesebben

Az ellenőrzés módszertana

Az ellenőrzés módszertana Az ellenőrzés módszertana Az ellenőrzés elemei a tényhelyzet megállapítása, a tényhelyzet viszonyítása a követelményhez (összehasonlítás) és az összehasonlítás eredményének értékelése. Az ellenőrzés fogalma

Részletesebben

8. Mohó algoritmusok. 8.1. Egy esemény-kiválasztási probléma. Az esemény-kiválasztási probléma optimális részproblémák szerkezete

8. Mohó algoritmusok. 8.1. Egy esemény-kiválasztási probléma. Az esemény-kiválasztási probléma optimális részproblémák szerkezete 8. Mohó algoritmusok Optimalizálási probléma megoldására szolgáló algoritmus gyakran olyan lépések sorozatából áll, ahol minden lépésben adott halmazból választhatunk. Sok optimalizálási probléma esetén

Részletesebben

Csak felvételi vizsga: csak záróvizsga: közös vizsga: Mérnökinformatikus szak BME Villamosmérnöki és Informatikai Kar. 2015. május 27.

Csak felvételi vizsga: csak záróvizsga: közös vizsga: Mérnökinformatikus szak BME Villamosmérnöki és Informatikai Kar. 2015. május 27. Név, felvételi azonosító, Neptun-kód: MI pont(45) : Csak felvételi vizsga: csak záróvizsga: közös vizsga: Közös alapképzéses záróvizsga mesterképzés felvételi vizsga Mérnökinformatikus szak BME Villamosmérnöki

Részletesebben

Poszeidon (EKEIDR) Irat és Dokumentumkezelő rendszer webes felület

Poszeidon (EKEIDR) Irat és Dokumentumkezelő rendszer webes felület Poszeidon (EKEIDR) Irat és Dokumentumkezelő rendszer webes felület Felhasználói dokumentáció Cím: 1111 Budapest, Budafoki út 59. Tel.: +36 (1) 381-0736 Fax: +36 (1) 386-6022 E-mail: poszeidonsupport@sdadms.hu

Részletesebben

Gyakorló feladatok ZH-ra

Gyakorló feladatok ZH-ra Algoritmuselmélet Schlotter Ildi 2011. április 6. ildi@cs.bme.hu Gyakorló feladatok ZH-ra Nagyságrendek 1. Egy algoritmusról tudjuk, hogy a lépésszáma O(n 2 ). Lehetséges-e, hogy (a) minden páros n-re

Részletesebben

Csak felvételi vizsga: csak záróvizsga: közös vizsga: Mérnök informatikus szak BME Villamosmérnöki és Informatikai Kar. 2010. január 4.

Csak felvételi vizsga: csak záróvizsga: közös vizsga: Mérnök informatikus szak BME Villamosmérnöki és Informatikai Kar. 2010. január 4. Név, felvételi azonosító, Neptun-kód: MI pont(90) : Csak felvételi vizsga: csak záróvizsga: közös vizsga: Közös alapképzéses záróvizsga mesterképzés felvételi vizsga Mérnök informatikus szak BME Villamosmérnöki

Részletesebben

Halmazok. Halmazelméleti lapfogalmak, hatványhalmaz, halmazm veletek, halmazm veletek azonosságai.

Halmazok. Halmazelméleti lapfogalmak, hatványhalmaz, halmazm veletek, halmazm veletek azonosságai. Halmazok Halmazelméleti lapfogalmak, hatványhalmaz, halmazm veletek, halmazm veletek azonosságai. 1. lapfogalmak halmaz és az eleme fogalmakat alapfogalmaknak tekintjük, nem deniáljuk ket. Jelölés: x H,

Részletesebben

ADATBÁZISRENDSZEREK. Dr. Radványi Tibor. Készült a TÁMOP-4.1.2-08/1/A-2009-0038 támogatásával.

ADATBÁZISRENDSZEREK. Dr. Radványi Tibor. Készült a TÁMOP-4.1.2-08/1/A-2009-0038 támogatásával. ADATBÁZISRENDSZEREK Dr. Radványi Tibor Készült a TÁMOP-4.1.2-08/1/A-2009-0038 támogatásával. 1 Tartalomjegyzék Tartalomjegyzék... 2 Bevezetés... 5 Alapfogalmak... 7 Az adat és információ... 7 Az adatbázis...

Részletesebben

AZ EURÓPAI PARLAMENT ÉS A TANÁCS 138/2004/EK RENDELETE (2003. december 5.) a közösségi mezőgazdasági számlarendszerről. (HL L 33., 2004.2.5., 1. o.

AZ EURÓPAI PARLAMENT ÉS A TANÁCS 138/2004/EK RENDELETE (2003. december 5.) a közösségi mezőgazdasági számlarendszerről. (HL L 33., 2004.2.5., 1. o. 2004R0138 HU 11.12.2008 003.001 1 Ez a dokumentum kizárólag tájékoztató jellegű, az intézmények semmiféle felelősséget nem vállalnak a tartalmáért B AZ EURÓPAI PARLAMENT ÉS A TANÁCS 138/2004/EK RENDELETE

Részletesebben

Adatbázis-kezelés, információs-rendszerek

Adatbázis-kezelés, információs-rendszerek Adatbázis-kezelés, információs-rendszerek 3. Ea: Eskúel (2011) Structured Query Language v: 2011.09.05 Szűcs Miklós - ME, ÁIT. 1.o Témakörök SQL alapok DDL utasítások DML utasítások DQL utasítás DCL utasítások

Részletesebben

Bináris keres fák kiegyensúlyozásai. Egyed Boglárka

Bináris keres fák kiegyensúlyozásai. Egyed Boglárka Eötvös Loránd Tudományegyetem Természettudományi Kar Bináris keres fák kiegyensúlyozásai BSc szakdolgozat Egyed Boglárka Matematika BSc, Alkalmazott matematikus szakirány Témavezet : Fekete István, egyetemi

Részletesebben

12. tétel. Lemezkezelés

12. tétel. Lemezkezelés 12. tétel 12_12a_1.5 Lemezkezelés (Particionálás, formázás, RAID rendszerek) A partíció a merevlemez egy önálló logikai egysége, amely fájlrendszer tárolására alkalmas. Alapvetően két esetben hozunk létre

Részletesebben

Stratégiai menedzsment

Stratégiai menedzsment Fülöp Gyula Stratégiai menedzsment Elmélet és gyakorlat Perfekt Kiadó Tartalom Bevezetés... 9 1. A stratégia lényege, stratégiai alapfogalmak... 11 1.1. Katonai gyökerek... 11 1.2. Stratégia az üzleti

Részletesebben

PHP5 Új generáció (2. rész)

PHP5 Új generáció (2. rész) PHP5 Új generáció (2. rész)...avagy hogyan használjuk okosan az osztályokat és objektumokat PHP 5-ben. Cikksorozatom elõzõ részében képet kaphattunk arról, hogy valójában mik is azok az objektumok, milyen

Részletesebben

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010 Programozási technikák Pál László Sapientia EMTE, Csíkszereda, 2009/2010 Előadás tematika 1. Pascal ismétlés, kiegészítések 2. Objektum orientált programozás (OOP) 3. Delphi környezet 4. Komponensek bemutatása

Részletesebben

TANÚSÍTVÁNY. tanúsítja, hogy a Polysys Kft. által kifejlesztett és forgalmazott

TANÚSÍTVÁNY. tanúsítja, hogy a Polysys Kft. által kifejlesztett és forgalmazott TANÚSÍTVÁNY A HUNGUARD Számítástechnikai-, informatikai kutató-fejlesztő és általános szolgáltató Kft. a 15/2001.(VIII. 27.) MeHVM rendelet alapján, mint a Magyar Köztársaság Informatikai és Hírközlési

Részletesebben

MATEMATIKA. Tildy Zoltán Általános Iskola és Alapfokú Művészeti Iskola Helyi tanterv 1-4. évfolyam 2013.

MATEMATIKA. Tildy Zoltán Általános Iskola és Alapfokú Művészeti Iskola Helyi tanterv 1-4. évfolyam 2013. MATEMATIKA Az iskolai matematikatanítás célja, hogy hiteles képet nyújtson a matematikáról, mint tudásrendszerről, és mint sajátos emberi megismerési, gondolkodási, szellemi tevékenységről. A matematika

Részletesebben

Lemezkezelés, állományrendszerek

Lemezkezelés, állományrendszerek Lemezkezelés, állományrendszerek A fizikai lemezek területét használat előtt logikai lemezekké kell szerveznünk. A logikai lemez az az egység, amely a felhasználó számára külön lemezként jelenik meg, vagyis

Részletesebben

MATEMATIKA 1-12. ÉVFOLYAM

MATEMATIKA 1-12. ÉVFOLYAM MATEMATIKA 1-12. ÉVFOLYAM SZERZŐK: Veppert Károlyné, Ádám Imréné, Heibl Sándorné, Rimainé Sz. Julianna, Kelemen Ildikó, Antalfiné Kutyifa Zsuzsanna, Grószné Havasi Rózsa 1 1-2. ÉVFOLYAM Gondolkodási, megismerési

Részletesebben

Access 2010 Űrlapok és adatelérés

Access 2010 Űrlapok és adatelérés 2 Minden jog fenntartva, beleértve bárminemű sokszorosítás, másolás és közlés jogát is. Kiadja a Mercator Stúdió Felelős kiadó a Mercator Stúdió vezetője Lektor: Gál Veronika Szerkesztő: Pétery István

Részletesebben

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu Számonkérés 2 Papíros (90 perces) zh az utolsó gyakorlaton. Segédanyag nem használható Tematika 1. félév 3 Óra Dátum Gyakorlat 1. 2010.09.28.

Részletesebben

Debreceni Egyetem Informatikai Kar TANULÓI NYILVÁNTARTÓ SZOFTVER FIREBIRD ADATBÁZIS ALKALMAZÁSÁVAL

Debreceni Egyetem Informatikai Kar TANULÓI NYILVÁNTARTÓ SZOFTVER FIREBIRD ADATBÁZIS ALKALMAZÁSÁVAL Debreceni Egyetem Informatikai Kar TANULÓI NYILVÁNTARTÓ SZOFTVER FIREBIRD ADATBÁZIS ALKALMAZÁSÁVAL Témavezető: Dr. Bajalinov Erik Tudományos főmunkatárs Készítette: Juhász Gergely József Informatikatanári

Részletesebben

TARTALOM AZ INFORMATIKA FOGALMA... 3 1. A fogalom kialakítása... 3 2. Az informatika tárgyköre és fogalma... 3 3. Az informatika kapcsolata egyéb

TARTALOM AZ INFORMATIKA FOGALMA... 3 1. A fogalom kialakítása... 3 2. Az informatika tárgyköre és fogalma... 3 3. Az informatika kapcsolata egyéb TARTALOM AZ INFORMATIKA FOGALMA... 3 1. A fogalom kialakítása... 3 2. Az informatika tárgyköre és fogalma... 3 3. Az informatika kapcsolata egyéb tudományterületekkel... 4 4. Az informatika ágai... 5 AZ

Részletesebben

Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia

Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia Öröklés ism. Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia Szeberényi Imre BME IIT Egy osztályból olyan újabb osztályokat származtatunk, amelyek rendelkeznek

Részletesebben