Az információ feldolgozás alapvetı módszerei
|
|
- Ágnes Pásztor
- 8 évvel ezelőtt
- Látták:
Átírás
1 Az információ feldolgozás alapvetı módszerei I. Folyamat szemlélető információ feldolgozás: E rendszerek legfıbb jellemzıje hogy azok célorientáltak, azaz készítésükkor elıször az elérendı célt kell meghatároznunk, majd a cél ismeretében tervezzük meg az ahhoz vezetı folyamatot, s a folyamat által használandó adatállományokat (file). Az állományok csak adatokat tartalmaznak: kapcsolatokat a folyamat írja le. Tervezés sorrendje: cél folyamat állományok Az ilyen módon megtervezett adatállományok nem igényelnek túl nagy tárolókapacitást, hiszen csak a valóban felhasználandó adatokat kell tárolnunk. Másrészt az adatállományok feldolgozása igen gyors lehet, hiszen azok szerkezete optimálisan illeszkedhet az adott feladathoz. Ugyanakkor a folyamat szemlélető információ feldolgozás minden célhoz új folyamatot és állományokat kíván, függetlenül az esetleges közös adatok elıfordulásától. Az így keletkezı redundancia rossz tárkihasználást eredményez - és ami még nagyobb baj - felidézi az inkonzisztencia veszélyét, vagyis azt, hogy egy-egy több helyen elıforduló adat egyes példányainak különbözik a tartalma. Hátránya az effajta feldolgozásnak az is, hogy csak az eredeti kérdésre ad választ, a rendszernek ad hoc jellegő kérdések nem tehetık fel. Elınyök: -csak a szükséges adatokkal dolgozik -optimális adatstruktúra használható Hátrányok: -többszörös tárolás (inkonzisztencia) -csak egy cél Optimális struktúra Keresés A keresés idıigényét két tényezı szabja meg: 1. az átlagosan szüksége lépésszám (hány keresési lépést kell végrehajtanunk átlagosan egy-egy keresés alkalmával) 2. az egyes lépések idıigénye. Egy N elemő file-ban egy rekord keresésének lépései: S n (T a +T b +T c ) T a : algoritmus idı (az algoritmusnak az átlagos végrehajtási ideje) T b : "behozási" idı (a tárolóról való beolvasás átlagos idıigénye) T c : összehasonlítási idı (komparálási idı, mely a beolvasott rekord kulcsának megvizsgálásához szükséges) S n : átlagosan szüksége lépésszám Belátható, hogy központi tár esetén elesik a behozási idı, míg az általánosan használt mozgófejes lemezeknél az algoritmus idı és az összehasonlítási idı elhanyagolható a behozási idıhöz képest. Másrészt míg az 1
2 összehasonlítási idıt nem tudjuk befolyásolni, az algoritmus idı, behozási idı és az átlagos lépésszám értéke a választott algoritmustól függ. Azt pedig, hogy milyen keresési algoritmusok között választhatunk az állomány szervezési módja, szerkezete határozza meg. Fontos a hardware, a tároló szerkezete! RAM: a címek sorrendje közömbös. Mozgófejes lemez: pozícionálás, forgás, beolvasás. A keresést meghatározó tényezık Struktúra Algoritmus Például ha egy adott nevő személy létezı rekordját akarjuk egy rendezetlen állományból kikeresni, a lineáris keresést alkalmazhatjuk, azaz sorban meg kell vizsgálnunk a rekordokat, hogy azonosak-e az általunk keresettel. Ez esetben átlagosan a rekordok felét kell megvizsgálnunk (azaz S N = N/2). Ha az illetı rekordja nem található meg az állományban, ennek megállapításához már az egész állományt végig kell keresnünk (vagyis S' N = N). Ha az állomány a névre rendezett, az utóbbi esetben is elég a rekordok felét megvizsgálni (S' N = N/2). Így a struktúra megváltoztatása önmagában gyorsított az eljáráson. Más kérdés, hogy az ilyen módon strukturált állományokban már sokkal hatékonyabb keresési algoritmusok használatára is van remény. A legfontosabb állomány struktúrák 1. Szekvenciális 2. Hierarchikus 3. Hálós 4. Nem konzekutív (asszociatív) Szekvenciális állomány struktúrák -logikailag a rekordok mindegyikének egy megelızıje és egy rákövetkezıje van (az elsı és az utolsó elem kivételével) 1. Fizikai szekvenciális állomány struktúrák 2. Logikai szekvenciális állomány struktúrák Fizikai szekvenciális állomány struktúrák: A rekordok logikai és fizikai sorrendje megegyezik. Keresési módok: 1. Lineáris keresés 2. Bináris, logaritmikus keresés 3. Peterson-féle keresés Bináris, logaritmikus keresés: E közismert keresési eljárás lényege, hogy a megvizsgálandó állomány ill. állományrész középsı rekordjának kulcsát hasonlítjuk össze a keresett rekordéval, s így eldönthetjük, hogy a.) megtaláltuk a keresett rekordot, b.) a keresett rekord a vizsgált állomány bal felében van, c.) a keresett rekord a vizsgált állomány jobb felében van. Minden lépésben hosszra nézve felezzük a vizsgálandó állományt. A keresést ezután már csak az elızılépésben vizsgált állomány felében kell folytatnunk (ha egyáltalán). Belátható hogy bináris keresés esetén az átlagosan szükséges lépésszámra mind sikeres, mind sikertelen esetben S N = log 2 N. Peterson-féle keresés: Minden lépésben az elıfordulás valószínőségére nézve felezzük a vizsgálandó állományt. Az állományt az egyes lépésekben ne két hosszra egyenlı részre osszuk, hanem két olyan részre, melyekben a keresett rekord elıfordulása egyenlıen valószínő. (Pl. egy nevekre rendezett nyilvántartásban Ács Aba rekordját 2
3 nyilván az állomány elején, Zöld Zoltánét a végén célszerő keresni.) Az ilyen felezéshez nyilván ismerni kell a kulcsok eloszlását. Feltehetjük pl., hogy azok eloszlása egyenletes. Ekkor S N = 1/2 log 2 N. Mindebbıl nem következik azonban, hogy a Peterson-féle keresés mindig hatékonyabb a binárisnál. Ennek egyik oka az, hogy kulcsaink eloszlása messze eshet az egyenletestıl, s ilyenkor e módszer hatékonysága jelentısen romlik. A másik ok, hogy a Peterson módszer minden lépése arányosítást, azaz "igazi" osztást igényel. A bináris keresésnél erre nincs szükség, az itt használt felezés a rendkívül gyors léptetéssel megvalósítható. Mivel központi tárbeli használatnál, az egyes lépések idıigényét az algoritmusidı határozza meg, hiába igényel a Peterson-féle keresés kevesebb lépést, ha azok jóval lassabban hajthatók végre. Az átlagos lépésszám a Petersonnál kisebb, de 1. az eloszlás nem feltétlenül egyenletes, 2. Petersonnál valódi osztás kell, a binárisnál a léptetés alkalmazható. A leggyorsabb, ha N = 2 k 1 alakú. Ha nem ilyen: 1. két részre osztás 2. kiegészítés álrekordokkal A fizikai szekvencialitás Elınye: a keresés lépésszáma kicsi, de a rendezettség biztosítása idıigényes Hátránya: bonyolult beszúrási algoritmus, rendszeres fizikai rendezés Logikai szekvenciális állomány struktúrák: A rekordok logikai és fizikai sorrendje nem egyezik meg. A logikai sorrendet ez esetben legtöbbször a rekordokban elhelyezett pointerek adják meg. A mutatórendszerek lehetnek egy és kétirányúak, ill. győrősek. Az állomány, és a sokszor ugyancsak speciális listaként kezelt üres helyek kezdetét egy indító tábla tartalmazhatja. Elınye: -az állomány logikai struktúrájának megváltoztatása igen könnyő, nem igényli a rekordok mozgatását, csupán a mutatók módosítása szükséges. -fizikailag ugyanaz az állomány több mutatórendszer alkalmazásával többféle logikai szekvenciális rendbe is szervezhetı. Hátránya: -nem állnak rendelkezésünkre olyan hatékony keresési algoritmusok mint a bináris, vagy a Peterson féle -ha a rekordok véletlenszerően helyezkednek el az állományban a keresés során szükséges pozícionálások száma a feldolgozást nagyon lelassítja -véletlenszerő elhelyezkedésnél C cilindernyi anyagnál átlagosan C/3 cilindernyi pozícionálás kell A fenti hátrányok kiküszöbölésére, vagy legalább csökkentésére használhatóak az u.n. "csaknem fizikai szekvenciális" struktúrák. E struktúrák lényege, hogy az állományt - mely logikai szekvenciális, így mutatókkal rendelkezik - létrehozásakor fizikailag is szekvenciálisan helyezzük el. Beszúráskor nem szükséges a fizikai szekvencialitást megtartani, az új rekordot a cilinder túlcsordulási területre helyezzük, és a logikai rendbe a mutatók segítségével illesztjük be. Kupacos keresés: A keresési módszer lényege, hogy a rekordokat (N db.) G kupacra osztjuk, majd elıször e kupacok elsı elemeit hasonlítjuk össze a keresett rekorddal. Így vagy megtaláljuk a keresett rekordot, vagy legalább meghatározhatjuk, hogy melyik kupacban van. Ezután ezt a kupacot kell végigkeresnünk. Természetesen kulcskérdés a kupacok méretének megválasztása. A logikai szekvenciális struktúra esetén azonban alkalmazhatóak az önrendezı algoritmusok is, melyek a gyakoriság ismerete nélkül, ill. változó gyakoriság mellett is lehetıvé teszi a gyakoriság szerinti szervezést. Gyakoriság szerint rendezett file Hierarchikus struktúrák 3
4 A hierarchikus (faszerő) struktúrák számítógépes ábrázolására egyaránt elterjedtek mind a belsı mutatós (pointeres), mind a külsı mutatós (táblázatos) eljárások. Nyelvi leírás: COBOL, LISP Ábrázolás: A.) Belsı mutatós módszerek 1. Left-list: -a fa egy megadott módon való bejárását rögzítjük -információvesztéssel jár: az eredeti fastruktúra nem állítható vissza belıle egyértelmően 2. Több pointer -A rekordokban lehet annyi mutatót elhelyezni, ahány rákövetkezıje (gyermeke) van az illetı rekordnak. -Az ábrázolás teljesen egyértelmő, -hátránya, hogy vagy igen rossz tárkihasználással, vagy változó hosszú rekordok használatával kell számolnunk 3. Segédrekordok Egy-egy rekordban legfeljebb két mutató legyen, sıt az is, hogy ezek egyike "oldalra", a másik lefelé" mutasson, ami a struktúrát igen áttekinthetıvé teszi 4. Győrők Szokásos megoldás a fában "függıleges" és "vízszintes" győrőket szervezni, melyekkel ugyancsak megoldható, hogy egy-egy rekord ne tartalmazzon kettınél több pointert B.) Külsı mutatós módszerek 1. Táblázatok E táblázatokban az egyes rekordokhoz tartozó bejegyzések adják meg a rákövetkezıket 2. Bináris mátrixok Bináris mátrixokban ábrázolhatjuk, hogy egyes rekordok között van-e kapcsolat elég a mátrix felét tárolni (a másik félmátrix csak 0 elemeket tartalmaz) Hálós struktúrák Logikailag a rekordok mindegyikének több megelızıje és több rákövetkezıje lehet A.) Belsı mutatós módszerek 1. Több pointer B.) Külsı mutatós módszerek 1. Táblázatok 2. Bináris mátrixok Nem konzekutív struktúrák Nem a rákövetkezés ill. megelızés adja az állomány struktúráját. Más logikai szempont szerint lehet a rekordokat ill. rekordok egy csoportját kiválasztani. Indexelt szervezés 1. Sőrő indexelés E szervezési formánál az adatállomány minden tételéhez tartozik az index állományban egy index bejegyzés: egy kulcs cím pár. Ilyen módon több szempont alapján több index is szervezhetı, az adatállományhoz új rekordok könnyen főzhetık az index bejegyzés ismeretében a keresés gyors. Sok szempontból a bináris fák (olyan fák, melyek miden elemének legfeljebb két gyermeke van) használata tőnik elınyösnek. Ha egy bináris fa kiegyensúlyozott (azaz az utolsó ill. és az utolsó elıtti szint kivételével minden elemnek valóban két leszármazottja van), a keresés igen gyors benne: közelítıleg log 2 N lépésre van szükség átlagosan. Ugyanakkor a kiegyensúlyozottság megtartása új elemek beszúrásánál igen idıigényes. A gyakorlatban indexállományok készítésére elsısorban a B+ fákat (Bayer fákat) használják. 4
5 A B+ fa egy olyan B fa, melyben azok a pointerek, melyek adatokra (adatok címére) mutatnak, s amelyeket keresünk, valamennyien a levéllapokon helyezkednek el, így a levéllapok és a többi lap struktúrája különbözik. n a B+ fa rendje: 1. Minden lap legfeljebb 2n tételt tartalmaz. 2. Minden lapon a gyökér kivételével legalább n tétel van. 3. Ha egy lapon m tétel van, vagy levéllap, vagy m+1 utódja van. 4. Minden levéllap ugyanazon a szinten van. A kereséshez szükséges átlagos lépésszám a laphivatkozásoktól függ, ezek száma N elemnél n rendő fában: log n N A B+ fa lényege, hogy az indexállomány lapokra van osztva, egy-egy lapon (a gyökérelemet kivéve) n és 2n közé esı számú bejegyzés, és a bejegyzéseknél eggyel több pointer van. Az ilyen állományok könnyen karbantarthatóak, és a bennük való keresés elég gyors: közelítıleg logn N lépésre van szükség átlagosan. -minden rekordhoz tartozik index bejegyzés -elıny: több index szervezhetı -hátrány: nagyok az index file-ok 2. Ritka indexelés - Jelzı cölöpök mutatják a rekord helyét. -Rendezettség kell! -Több szintő index rendszer is készíthetı. -Gyors elérés, de csak egy szempont szerint. Index-szekvenciális szervezés: A ritka indexelés egy megvalósítása. A fizikai architektúrának megfelelıen: Sáv; cilinder; fıindex. Index; elsıdleges; túlcsordulási terület. Szervezés: az elsıdleges területen fizikai, a túlcsordulási területen logikai szekvenciális szervezés. Az állomány létrehozásakor a rekordok az elsıdleges adatterületre kerülnek, melyet csak részben töltenek fel. A feltöltés rendje fizikai szekvenciális. Ekkor rögzítik az indexeket. Ha az elsıdleges adatterület betelik, a rekordok a túlcsordulási területre kerülnek, mutatókkal ellátva, azaz logikai szekvenciális rendben. Az adatok keresése az index rendszeren keresztül történik. Természetesen az index-szekvenciális állományokat idırıl idıre újra kell szerveznünk, azaz valamennyi rekordot az elsıdleges területre kell tölteni. Ellenkezı esetben a feldolgozás nagyon lelassulhat. Direkt szervezés A direkt szervezésnél a rekordok kulcsai és címei között egy leképezés hozza létre a kapcsolatot (természetesen kívánatos lenne, hogy ez a leképezés egy-egy értelmő legyen). 1. Közvetlen leképezés: igen rossz a tárkihasználás. 2. Hashing algoritmusok: megengedik, hogy különbözı kulcsokhoz ugyanaz a cím tartozzék (ezek a szinonimok) Maradék módszer: a kulcsot egy M modulussal osztjuk, s a sorszám az osztás maradéka lesz. (Célszerő modulusként prímszámot választani.) Csonkítás: a kevés információt hordozó jegyek elhagyása. Szinonimok kezelése A hashing algoritmusok nem egy-egy értelmőek, így szinonimok keletkezhetnek. 5
6 Szinonim kezelımódszerek: 1. Külsı láncolás -egy külön területen tároljuk a szinonimokat, melyeket mutatólánc köt össze az eredeti címmel -rossz tárkihasználás -az elsıt nem lehet törölni 2. Belsı láncolás -mutatórendszer köti össze a szinonimot eredeti címével, azonban azt az elsıdleges terület egy üres helyére tesszük -tárkihasználás jó, de másodlagos szinonimok keletkezhetnek 3. Nyílt (Peterson) módszer -a rekordok ugyanott helyezkednek el, mint a belsı láncolásnál, azonban nem használunk mutatókat -a keresésnél szükséges lépésszám nagyobb, mint a belsı láncolásnál 4. Többszörös hashing - Ha a leképezés szinonimra vezet, egy másikkal próbálkozunk. -A gyakorlatban két hashing algoritmust, majd a korábban ismertetett módszerek valamelyikét használják. 5. Bucket-ek használata -E módszernél nem egy-egy rekordnak, hanem egy-egy rekord csoportnak van külön címe. Kevesebb szinonimkezelésre van szükség, de a csoportokon belül is kell keresnünk. Hasznos akkor lehet, ha hardware szempontok (szektor) indokolják. Összehasonlítás Központi tárban való használat esetén, elınytelen a többszörös hashing számára a jelentıs algoritmusidı. A nyílt módszer több lépést igényel, mint a láncolások, s algoritmusideje azokéval összemérhetı. Jóllehet a belsı láncolás hajszállal több lépést igényelhet a külsınél (a "mőszinonimok" miatt), nagyobb súllyal esik latba a jó tárkihasználás. Így általában a belsı láncolást tudjuk javasolni. Mozgófejes lemeznél elınytelenek a sok fejmozgást igénylı módszerek: ilyen a többszörös hashing és a külsı láncolás. Bár a belsı láncolás elméletileg kevesebb lépést igényel a nyílt módszernél, ha a szinonim rekord ugyanazon a sávon van, mint az eredeti helye, a gyakorlatban ez az elıny nem érvényesül. Ugyanakkor, ha a szinonim az eredeti helyet közvetlenül követi, a nyílt módszer gyorsabb is lehet (nem kell a mutatókat feldolgozni). Végeredményben tehát ilyen esetekben többnyire a nyílt módszer javasolható. Gyors véletlen eléréső (pl. RAM) tárolónál: TH: nagy algoritmusidı. NyM: több lépés mint BL-nél. BL: másodlagos szinonimok miatt több lépés, mint KL-nél. KL: leggyorsabb, de rossz tárkihasználás. Mozgófejes tárolónál: TH, KL: sok fejmozgás. NyM: több lépés mint BL-nél. De NyM-hez nem kell CPU, így a leggyorsabb lehet. II. Az adatbázis szemlélető információfeldolgozás alapelve A rendelkezésre álló adatokból indulunk ki, az összes adatot (entity) és a közöttük fennálló összes kapcsolatot (relationship) egy integrált adatbázisba győjtjük, és valamennyi felhasználó valamennyi kérdéséhez ezt az adatbázist (vagy ennek egy részét) használhatja. Adatreprezentáció Az összes adat egy mini világra vonatkozik. Ennek leírása több szintő: -konceptuális (magas szintő), -implementációs (reprezentációs), -fizikai modell. 6
7 Egyed-kapcsolat leírások Az alapvetıen használt modell az egyed-kapcsolat (entity-relationship), azaz ER modell. Az egyedeknek tulajdonságaik (attribute) vannak, ezek egyike, vagy ezekbıl egy készlet az egyedet egyértelmően azonosító kulcs. A kapcsolatok lehetnek 1:1, 1:n, m:n jellegőek. A kapcsolatokat sokszor egyedhalmazzá alakítjuk (kapcsoló rekord: a kapcsolat mint egyed). Adatbázis felügyelı A felhasználókénál nagyobb hatáskörrel rendelkezve, a jogokat kiossza és a munkát felügyeli. Az ı joga és kötelessége az adatbázist megtervezni, elkészíteni a teljes logikai struktúrát leíró sémát, valamint az egyes nézetek által látott adatbázis-rész logikai struktúráit leíró alsémákat. Ugyancsak az adatbázis felügyelı feladata az adatbázis mőködtetése során a felhasználókkal való kapcsolattartás, az adatbázis logikai és fizikai struktúrájának a felhasználói igényeknek megfelelı módosítása, valamint az adatbázis tartalmának rendszeres mentése. Védeni kell a rendszert a felhasználóktól és ıket is egymástól. Üzemeltetési feladatai közé tartozik a mentések, karbantartások valamint a kapcsolattartás a felhasználókkal. Eszköz: DDL (Data Definition Language) Adatfüggetlenség Logikai: az adatok logikai struktúrájában (konceptuális, implementációs modell) történı változtatás ne érintse az ezen változtatást nem igénylı felhasználók munkáját. Fizikai: a fizikai modell változtatása ne kényszerítse ki az implementációs modell változtatását. A kettı együtt az adatfüggetlenség. Tervezési szempontok -Kapcsolat múlttal, jövıvel. -Biztonság, titkosság, pontosság. -Konkurens folyamatok kezelése. -Válaszidı. -Kényelmes használat. -Költségek. DML (Data Manipulation Language) A felhasználó eszköze. 1. Alkalmazott nyelv szerint: Host language Self Contained Language 2. A felhasználás jellege szerint: Procedurális Deklaratív Host Language (Beépített, nyelvő) rendszerek Azoknak a programozóknak áll rendelkezésére, akik az általuk korábban jól megismert magas szintő nyelven kívánnak dolgozni, ezt a nyelvet egészíti ki a rendszer adatbázisok kezelésére alkalmas utasításokkal, eljárásokkal. Megoldások: Eljárás győjtemények könyvtárban. Eljárás győjtemény elıfordítóval. Eljárás győjtemény interpreterrel. Self Contained (Önálló) nyelvő rendszerek Teljesen kerek önálló rendszer, ami lehet programozási nyelv éppúgy, mint egy paraméterezéssel kezelhetı felhasználói felület. Lehet: -külön programozható nyelv. 7
8 -csak paraméterezendı rendszer. -4GL fejlesztı rendszer. Procedurális rendszerek Egy lépésben egy rekordot dolgoznak fel (record-in-time feldolgozás). Deklaratív rendszerek Egy lépésben egy meghatározott tulajdonságú halmazt (pl. egy táblázatot) dolgoznak fel (set-in-time rendszerek: ilyen pl. az SQL). Alapvetı ABKR modellek (approach) 1. Hierarchikus 2. Hálós (CODASYL, DBTG) 3. Relációs A hierarchikus modell A legelsı modell, ma már nem használják. Az adatokat fákban tároljuk, ahol a fák egy-egy szögpontja a szegmens (segment) adatokat és a további szegmensekre utaló mutatókat tartalmaz. A fák gyökérelemei hagyományos állományokba vannak szervezve. Az egyes nézetek a számukra érzékeny szegmenseket (sensitive segment) látják. Jellegzetes képviselıje az IMS (IBM). A hierarchikus modell tulajdonságai Igazi ABKR, hisz többfelhasználós, az egyes felhasználók nem ugyanazt látják. Nem igazi ABKR, mert a lekérdezés hatékonysága erısen függ az adatstruktúrától. A hálós modell A CODASYL bizottság által létrehozott DBTG (Data Base Task Group) jelentései ( ) hozták létre. Két évtizedig szinte kizárólag ezt használták. Terminológiai és metodológiai javaslatokat tartalmaz. Már bevezetett fogalmak: DDL, DML, séma, alséma. Új fogalmak: Area: valamilyen szempontból egységesen kezelendı adathalmaz. Set: kétszintő fa, melynek gyökéreleme a tulajdonos (owner), levelei a tagok (members). A set-ek segítségével a legbonyolultabb hálós kapcsolatok is leírhatók. Séma hálós modellben -Séma név. -Zárak, kulcsok. -Rekord leírások (kalkulált mezık, kódolt mezık). -Kapcsolat leírások: SET-ek. -AREA leírások. Alséma hálós modellben A séma leírás valódi része. Újdonság nem szerepelhet, de mindent át lehet nevezni. Lekérdezés hálós modellben Az eredeti javaslat a COBOL nyelvet javasolta (BATCH feldolgozás!), ezt váltotta fel a PL1, majd az interaktív felhasználás. Fontos reprezentáns: IDMS (IBM 360 és 370: ESzR 1. és 2.). Az IDMS specialitásai 8
9 -Member-ek rendezése -Indexek készítése -Hashing algoritmus haználata. A relációs modell A relációs modell ötlete Codd 1970-es cikkébıl származik, így lényegében egyidıs a DBTG jelentéssel. Két évtized után átvette a vezetı szerepet, ma szinte kizárólag ezt használják, ezért ezt vizsgáljuk részletesen. A reláció ebben az értelemben tulajdonképpen egy táblázat (table). A táblázat oszlopai a tulajdonságok (domains), a sorai az n-esek (tuples). Gyakran nevezik azonban a sorokat rekordnak, az egyes oszlopokhoz tartozó értékeket mezınek (field). Az R reláció sorainak hosszát r-el jelöljük. Alapfeltételek relációkkal kapcsolatban 1. Ne legyenek teljesen megegyezı tartalmú sorok vagy oszlopok, 2. A sorok és az oszlopok sorrendje ne hordozzon információt. Azt a mezıt, vagy mezıkészletet, mely a sort (a sor többi elemét) egyértelmően meghatározza, szuperkulcsnak nevezzük. A nem szőkíthetı szuperkulcs neve kulcs. (1. miatt van ilyen.) Anomáliák 1. Módosítási anomália: egy attribútum értéke több helyen szerepel, így több helyen kell módosítani (inkonzisztencia). 2. Beírási anomália: hiányos adatok miatt valamit nem lehet bevinni (információvesztés). 3. Törlési anomália: egy sor törlésével olyan információ is elvész, amire még szükség lenne (információvesztés). Az anomáliák kiküszöbölése A felsorolt anomáliák kiküszöbölhetik, a relációk olyan felbontásával (dekompozíció), melyek eredményei normalizált relációk. 1. Normálforma A reláció 1NF értelemben normalizált, ha minden sorának minden mezı értéke egy elemi érték. (Újabb rendszerek lehetıvé teszik a figyelmen kívül hagyását.) 2. Normálforma A reláció 2NF értelemben normalizált, ha 1NF értelemben normalizált, és ha egy mezıérték meghatározásához összetett kulcs szükséges, egy másik mezıérték meghatározásához nem elegendı ennek egy része. 3. Normálforma A reláció 3NF értelemben normalizált, ha 2NF értelemben normalizált, és ha egy mezıérték sem függ olyan attribútum értéktıl, vagy ezek olyan halmazától, mely nem kulcs. Boyce-Codd (BCNF) normálforma A 3NF tovább gondolása. A reláció BCNF értelemben normalizált, ha 3NF értelemben normalizált, és ha egy összetett kulcs egy részét sem határozza meg más attribútum érték (nincs kulcstörés). Ha egy reláció BNCF, akkor 3NF is. Többértékő függıség Fennáll, ha az R reláció soraiból tekintve azokat, melyek minden Ai értéken megegyeznek, ezek Bj-ken felvett értékei függetlenek az A-któl és B-ktıl különbözı attribútumok értékeitıl. A többértékő függıség nem triviális, ha: 1. egyik B sincs az A-k között, 2. az A-k és a B-k együttesen sem tartalmazzák R összes atribútumát. 4. Normálforma Egy reláció 4NF-ben van, ha valahányszor az A1A2...An- ->B1B2Bm nem triviális többértékő függıség fennáll, akkor {A1A2...A} szuperkulcs. 9
10 Ha a reláció 4NF, akkor BNCF is. Példa többértékő függıségre Pl. legyenek az R reláció oszlopai: Tanár Tantárgy Kar Egy tanár több tárgyat taníthat, egy tárgyat többen taníthatnak, egy tárgyat több karon tanítanak, egy karon több tárgyat tanítanak. Tanár->->Tantárgy és Tantárgy- ->Kar fennáll, és nem triviális. A lekérdezés elve relációs rendszerekben A relációk legfontosabb tulajdonsága, hogy azok exakt matematikai eszközökkel kezelhetıek. Ilyen eszközrendszer a relációs algebra és a relációs kalkulus. A relációs algebra Alapmőveletek: 1. Unió: R U S 2. Különbség: R S 3. Direkt szorzat: R x S 4. Projekció: π i1,i2...ik (R) (elhagyjuk a felsoroltakon kívüli oszlopokat) 5. Szelekció: σ F (R) (csak az F feltételnek eleget tévı sorokat hagyjuk meg) ahol: Az F feltétel az [i]θ[j], és az [i] Θ c elemi kifejezések logikai mőveletekkel (/\,\/, ) való összekötésébıl állhat. Θ tetszıleges összehasonlító operátort (=,!=,<,>,<=,>=) jelenthet. Következmény mőveletek: 6. Metszet: R S [R S = R (R S)] 7. Hányados: R S Feltesszük, hogy r > s, és s!=0 Legyen T= Π 1,2,... r-s (R), továbbá V= Π 1,2,... r-s ((T x S) R) Ekkor belátható, hogy R S = T - V 8. Belsı kapcsolat (inner join) 8a. Feltételes kapcsolat (Θ join): R*S= σ [i] Θ [r+j] (R x S) 8b. Természetes kapcsolat (natural join): R * S Hasonló a feltételes kapcsolathoz de itt a szelekció feltétele az, hogy az azonos nevő oszlopokban azonos érték szerepeljen. 9. Külsı kapcsolat (Left, vagy Right Outer join): Tulajdonképpen egy Θ join, de a szelekció valamelyik relációból azokat a sorokat is meghagyja, melyekhez a másikban nem tartozik érték (itt a NULL érték fog szerepelni). 9a. Left Outer Join A baloldali reláció minden sora legalább egyszer szerepel. 9b. Right Outer Join 10
11 A jobboldali reláció minden sora legalább egyszer szerepel. 9c. Full Outer Join Egy Left-és egy Right Outer Join uniója A relációs kalkulus Létezik sor-és oszlopkalkulus, mi csak az elıbbivel foglalkozunk. A kalkulus az alábbi alakú kifejezésekbıl áll: {t Ψ(t)} melynek jelentése: azok a t sorok, melyek kielégítik a Ψ(t) függvényt, azaz amelyekre a Ψ(t) függvény értéke igaz. Atomi formulának, vagy atomnak nevezzük, az alábbi kifejezéseket: 1.) R(s): (azaz az s sor R relációbeli), 2.) s[i] Θ u[j]: (ahol s[i] az s-edik sor i-edik elemét, u[j] az u-adik sor j-edik elemét jelenti, Θ a szokásos összehasonlító operátor), 3.) s[i] Θ c: (ahol c egy konstans). A Ψ(t) függvény, melyet formulának nevezünk, az alábbiak szerint épülhet fel: 1.) Minden atom formula 2.) A formulákból a /\, \/, logikai mőveletekkel képezett kifejezések is formulák. 3.) A ( s)(ψ) alakú (van olyan s, hogy igaz) kifejezések is formulák. 4.) A ( s)(ψ) alakú (minden s olyan, hogy igaz) kifejezések is formulák. 5.) A kifejezések a precedencia (Θ,,, /\, \/, ) megváltoztatása érdekében zárójelezhetik. 6.) Más formula nincs. A relációs algebra és kalkulus összehasonlítása A relációs algebra alapmőveletei kifejezhetık a relációs kalkulus eszközeivel. Unió: {t R(t) \/ S(t)} Különbség: {t R(t) /\ S(t)} Direkt szorzat: {t^(r+s) (Eu^(r)) (Ev^(s)(R(u) /\ S(v) /\ t[1]=u[1] /\...} Projekció: {t^(k) (Eu)(R(u)) /\ t[1]=u[i1]/\... /\ t[k]=u[ik]} Szelekció: {t (R(t) /\ F } {t R(t)}: értelmetlen, de nem írható le a rel. algebrában. DOM fv.: A DOM(Ψ) azon elemek halmaza, melyek közvetlen, vagy közvetett módon Ψ-t alkotják. Biztos kifejezések: 1. Ha t kielégíti Ψ(t)-t, t minden komponense DOM(Ψ)-beli. 2. Ψ minden (( u)(ω(u)) alakú részkifejezésére, ha u kielégíti ω(u)-t minden komponense DOM(ω)-beli. A rel. kalkulus biztos kifejezései ekvivalensek a rel. algebra kifejezéseivel. Lekérdezés relációs rendszerekben (ISBL) Korai IBM termék. Lényegében a relációs algebra kifejezéseinek linearizálása. Nem felhasználóbarát. Lekérdezés relációs rendszerekben (QBE) IBM termék. Tábla vázakat (skeleton) használ, ezeket vektorváltozók segítségével lehet összekapcsolni. Lekérdezés relációs rendszerekben (SQL) Structured Query Language Több részbıl áll: 1. DDL 2. DCL 3. DML 11
12 4. Query SQL verziók 1989 SQL SQL2 -Hibakódok -Adattípusok -Adatbázis struktúrák -Rendszertáblák -Programozható felület -Portabilitás DDL CREATE TABLE ALTER TABLE DROP TABLE CREATE VIEW DROP VIEW CREATE [UNIQUE] INDEX DROP INDEX DDL példa I. Create Database kutya; Drop Database kutya; CREATE TABLE táblanév (oszlopnév oszlopleírás, esetleg index definíció ) Kulcsok legfontosabb jelzıi Táblánként max egy mezı lehet PRIMARY KEY: egyedi, nem lehet NULL értékő. Gyakran egy (elıjel nélküli) egész. AUTO_INCREMENT: automatikusan nı. Minta tábla létrehozása CREATE TABLE allatok (nev varchar(25), fajta varchar(20), szex char(1), szuld date, hald date ); ALTER TABLE allatok ADD COLUMN sorszam Integer Unsigned Primary Key Auto_Increment FIRST DCL Tranzakció kezelés: COMMIT ROLLBACK LOCK UNLOCK Jogosítvány kezelés: GRANT. WITH GRANT OPTION REVOKE DCL példa GRANT jogok ON adatbázisnév[,táblanév] TO felhasználó@ host IDENTIFIED BY jelszó WITH GRANT OPTION REVOKE jogok [, GRANT OPTION] ON adatbázisnév[.táblanév] FROM felhasználó@ host 12
13 Tranzakciók BEGIN WORK-el kezdıdik, COMMIT-al vagy ROLLBACK-al végzıdik. DML INSERT UPDATE DELETE INSERT INTO allatok VALUES ( Sajti, eger, n, ,NULL); UPDATE allatok SET nev= kukac WHERE nev = giliszta QUERY A SELECT utasítás valósítja meg. Legegyszerőbb formája: select [distinct] oszlopnevek from táblanevek [where feltétel] [order by rendezési feltétel] [group by feltétel [having having-feltétel]] SELECT nev, szuld FROM allatok WHERE faj = kutya OR faj = macska ORDER BY szuld DESC Keresés egymásba ágyazott SELECT-ek esetén: A WHERE részben alkalmazható újabb SELECT klauzula: 1. [NOT] IN (selectkifejezés) 2. Θ[ANY ALL] (selectkifejezés) 3. [NOT] EXISTS Több SELECT esetén a kiszámítás belülrıl kifelé történik. Beágyazott (embedded) SQL 1. EXEC SQL <beágyazott SQL utasítás> 2. Változók használata V->:V 3. Vezérlés: -NOT FOUND -- GO TO címke - WHENEVER -SQL WARNING-- CONTINUE - -SQL ERROR -- STOP - Egyetlen sort eredményezı lekérdezések: A SELECT utasításban rendszerint az INTO változónév szerepel Több sort eredményezı lekérdezések: Egy sormutatót (CURSOR) kell deklarálni, ezzel lehet a sorok között lépegetni (NEXT, PRIOR). A CURSOR használatával módosítani is lehet a sorokat. Dinamikus SQL A fordításkor még (részben) nem ismert SQL utasítások. PREPARE 4GL program generátorok 1. FORM (őrlap) 2. REPORT (jelentés) 3. MENU 13
14 Továbbfejlesztett modellek 1. Az EER modell. 2. Nested Relational Model. 3. Structural Data Model. 4. Objektum-orientált adatbázisok. 5. Deduktív adatbázisok. Az EER modell -Subclass, superclass bevezetése. (Közös tulajdonságok, kapcsolatok leírása.) -A hierarchiában a superclass tulajdonságai öröklıdnek (inheritance). -Relációkkal megvalósítható. Az EER modell felosztása 1. A subclass lehet attribútum által meghatározott, vagy felhasználó által definiált. 2. A felosztás lehet diszjunkt (disjoint), vagy átfedı (overlap). 3.) Ugyancsak lehet a felosztás teljes (complett) vagy részleges (partial). A subclass-ok nem diszjunktak, a felosztás részleges! Az EER modell használata 1.) Specializáció (Megkeressük az egy-egy csoportra jellemzı tulajdonságokat.) 2.) Generalizáció (Megkeressük a közös tulajdonságokat. ) Példa Specializációra Superclass=Munkavállaló->Subclasses=(Mérnök, Technikus, Szakm.) Superclass=Munkavállaló->Subclasses=(Havidíjas Órabéres Darabbéres) Példa Generalizációra Subclass=(Autó Kerékpár Motork.)->Superclass=Jármő Kategória az a subclass, melynek több superclassa van. Itt az öröklés szelektív lehet. Adatbázis kezelı architektúrák Három fı rész: 1.) Data processing (fizikai adatkezelés). 2.) Business logic (adatvédelem és integritás, tranzakció kezelés, stb.). 3.) User interface Hol helyezkednek el? Kliens-szerver architektúra: Többrétegő architektúra: Tárolt rutinok 14
15 A szerveren tárolódik és hajtódnak végre. CREATE PROCEDURE procnév (IN OUT INOUT parnév partípus) törzs CREATE FUNCTION funcnév RETURNS rettípus IN OUT INOUT parnév partípus) törzs Tárolt rutinok hívása PROCEDURE esetén CALL procnév(paraméterek) FUNCTION esetén kifejezésben használható (a RETURN utáni érték tér vissza) Utasítások tárolt rutinban BEGIN END több utasítást összefog DECLARE varnév típus [DEFAULT érték] A begin-end között él. SET varnév=kifejezés SELECT oszlopnév INTO varnév táblakif Csak egy sor! Vezérlés tárolt rutinban: IF feltétel THEN utasítások [ELSEIF feltétel THEN utasítások] [ELSE utasítások] END IF CASE case_érték WHEN feltétel THEN utasítások [WHEN feltétel THEN utasítások] [ELSE utasítások] END CASE CASE WHEN feltétel THEN utasítások [WHEN feltétel THEN utasítások] [ELSE utasítások] END CASE [kezdıcimke:] LOOP utasítások END LOOP [végcimke] LEAVE cimke 15
16 ITERATE címke [kezdıcimke:] REPEAT utasítások UNTIL feltétel END REPEAT [végcimke] [kezdıcimke:] WHILE feltétel DO utasítások END WHILE [végcimke] Kurzorok tárolt rutinban DECLARE curnév CURSOR FOR select_ut változó deklaráció után! OPEN curnév FETCH curnév INTO varnév CLOSE curnév Triggerek CREATE TRIGGER név idı esemény ON táblanév FOR EACH ROW utasítás Idı: BEFORE AFTER Esemény: INSERT UPDATE DELETE Több utasítás BEGIN END Változtatásnál OLD.oszlopnév és NEW.oszlopnév használható DROP TRIGGER tábla.név Osztott adatbázisok Megnövekedett a kommunikációs költségek részaránya. Javaslat: helyezzük az adatokat a felhasználóhoz közel. Osztott (distributed) adatbázis: fizikailag megosztott, de logikailag egységes adatbázis. Adatbázis felügyelet: központi, csomóponti. Osztott adatbázisok elınyei 1.) A kommunikációs költségek csökkenése. 2.) Mindenki a számára ismerıs adatokat gondozza. 3.) Egy-egy csomópont kiesése esetén a többi adatai továbbra is elérhetıek. 4.) Lehetséges a moduláris tervezés, a rugalmas konfigurálás. 5.) Hosszabb idı alatt a rendszer gépei akár ki is cserélhetik. 16
17 Osztott adatbázisok hátrányai 1.) A rendszer bonyolultabb és sebezhetıbb lesz, 2.) Nem könnyő minden csomópontra egyformán jó személyzetet találni, másrészt, ha találunk fenyeget a szuboptimalizáció veszélye. 3.) Mindig valamennyi gépnek mőködnie kell. 4.) Többféle hardvert és szoftvert kell a rendszernek kezelnie és "összehoznia". 5.) Bonyolult a jogosultságok ellenırzése. Osztott adatbázisok konzisztenciája Külön problémát jelent, ha feladjuk a redundancia-mentesség elvét. Erre okot szolgáltathat az is, ha nem eldöntheti egy-egy adatról, hogy hol használják legtöbbet, de biztonsági okokból is dönthetünk egy-egy adat többszörözése mellett. Ilyen estekben biztosítanunk kell, hogy az egyes példányok tartalma azonos legyen, azaz a rendszer konzisztens maradjon. Elemzések 1. Forrás nyelı elemzés (A használat gyakorisága, módja) Elsısorban a felhasználás gyakoriságát kell vizsgálnunk. Nem mindegy azonban, hogy a felhasználó csomópont nyelı (azaz csak olvassa az adatot, s így a felhasználáskor elég a legközelebbi példányt megtalálnia), vagy forrás (mely az adatot létrehozza, vagy módosítja). 2. ABC elemzés (A nélkülözhetetlenség foka) Az adatok kategóriákba sorolhatók "nélkülözhetetlenség" szerint. Ezekhez a kategóriákhoz különbözı minimális kópiaszámot rendelhetünk. 3. Érzékenység elemzés (A költség/teljesítmény arány) A különbözı csomópontok költség/teljesítmény aránya más és más lehet. Nyilvánvaló, hogy a teljesítményt "kevésbé érzékeny" csomópontoknál növelni, az "érzékenyebbeknél" csökkenteni kell. Konzisztencia, konvergencia Létezik Erıs konzisztencia Gyenge konzisztencia Koherencia: a konzisztencia mérı száma, mely erıs konzisztenciánál azonosan 1 értékő, gyenge konzisztenciánál pedig 1-hez tart. Szinkronizációs protokollok A. Központosított protokollok a.) A központi zárellenırzés Egy állandó központ végzi el a változtatásokhoz szükséges lezárásokat. Mőködése hasonlít az osztatlan adatbázisoknál megszokotthoz. A központ sérülésére érzékeny, csak statikus adatbázisoknál használható, erısen konzisztens módszer. b.) A zseton módszer Egy, a csomópontok között körbejáró "zseton" jelöli ki az alkalmi központot, mely a változtatásokhoz szükséges lezárásokat elvégezheti. Igen kedvelt, erısen konzisztens módszer. c.) Az elsıdleges példány módszer Egy adat kópiáit egy szekvenciába szervezzük, s a változtatások csak ennek mentében történhetnek. Mivel a tranzakciók nem elızhetik meg egymást, nem okoz gondot, hogy a módszer gyengén konzisztens. Elınye, hogy az ideiglenesen mőködésképtelen csomópontok újra munkába állítása egyszerő. B.) Osztott protokollok Az idıbélyeg módszer 17
18 E módszernél a tranzakciók elindításuk idıpontjából és a csomópont azonosítójából egy idıbélyeget kapnak, mely meghatározza végrehajtásuk sorrendjét. A távolságból adódó félreértéseket rendszeres dummy üzenetek küldésével kerülik el. A módszer gyengén konzisztens. Adatvédelem a.) Fizikai védelem (Zárt, ırzött számítóközpont) b.) Ügyviteli védelem (elsısorban a felelısségkérdését szabályozza) c.) Algoritmikus védelem Algoritmikus védelem a.) felhasználó azonosítás, partner azonosítás b.) hozzáférés védelem c.) rejtjelezés d.) üzenethitelesítés e.) digitális kézjegy Rejtjelezés Régóta ismeretes, hogy a védhetetlen közegen átjuttatandó x üzenetet valamilyen y = E(x) transzformációval torzítani érdemes, természetesen úgy, hogy az üzenet címzettje képes legyen az inverz x = D(y) transzformációra. A transzformációktól elvárjuk, hogy (legalábbis az üzenet "érvényességi idején" belül) kívülálló számára megfejthetetlenek legyenek, a címzett ugyanakkor gyorsan és könnyen megértse azokat. Mivel nem könnyő nagyszámú megfelelı E-D párt elıállítani, nem egy, hanem kétváltozós transzformációkat célszerő alkalmazni, ahol a másik változó az esetenként cserélhetı kulcs. Így a transzformációk akár nyilvánosak lehetnek, csak a kulcsok titkos kezelését kell megoldani. Ha az E transzformációnál alkalmazandó Kr rejtıkulcsból ennek D transzformációnál alkalmazandó K f fejtıkulcs párja könnyen meghatározható, konvencionális kódolásról beszélhetünk, ellenkezı esetben a kódolás nyilvános (rejtı) kulcsú. A rejtjelezés felosztása 1. Konvencionális a rejtjelezés, ha a rejti kulcsból a fejti kulcs meghatározható. 2. Nyílt (nyilvános ) kulcsú a rejtjelezés, ha rejti kulcsból a fejti kulcs nem határozható meg. A konvencionális kódolás a.) Helyettesítés A nyílt szöveg minden betőjét megadott rend szerint egy másikkal helyettesíthetjük. A nyelvi sajátosságok (betők gyakorisága) alapján megfejthetı. b.) Periodikus helyettesítés Az elızıhöz hasonló de több helyettesítési szabályt használunk periodikusan. Ez is megfejthetı: azonos betőkombinációkból lehet a periódus hosszára következtetni, s ezután az egyszerő helyettesítésnél leírtakhoz hasonlóan okoskodni. c.) Kulcsfolyam(at)os rejtés A helyettesítést aperiodikussá tesszük. A helyettesítést egy szöveg vezérli, az abc hosszának megfelelı számú különbözı abc permutációból álló mátrixban a rejtendı szöveg betőjének megfelelı oszlopban és a kulcsszöveg soron következı betőjének megfelelı sorban álló bető lesz a rejtett szöveg következı betője. d.) Rejtjelötvözés vagy keverı transzformációk Több egyszerő transzformáció egymás utáni alkalmazásával élünk. (Shannon, 1949) Lucifer (128 bites blokk, 128 bites kulcs) DES (64 bites blokk, 56 bites kulcs ) 18
19 A nyilvános (rejtı) kulcsú kódolás a.) MIT módszer (prímfelbontás). ahhoz, hogy a rejtıkulcsból a fejtıkulcs meghatározható legyen, egy több száz jegyő számot kell prímtényezıkre bontania b.) Merkle-Hellmann módszer (hátizsák probléma). Kulcsgondozás Ha a kulcsok megfelelı védelme nem biztosított, az egész kódolási rendszer értelmetlen. A kulcsok gondozása három feladatból áll. 1.) kulcsgenerálás 2.) kulcskiosztás 3.) kulcstárolás Kulcsgenerálás Az a mővelet, melynek eredményeképpen a kulcsok elıállnak. Egy valódi véletlenszám generátor segítségével végrehajtható. Kulcskiosztás Példák: a.) Alapkulcsok A kulcsok kiosztása történhet egy alapkulcs készleten keresztül, melyet rendszeren kívüli eszközökkel juttatnak el a résztvevıkhöz. Az alapkulcsokat, melyek gyakran nyilvános kulcsú rendszerhez tartoznak, csak a kulcsok cseréjéhez használják. b.) Merkle rejtvény módszere A hívó fél n db (K i, I i ) párt küld partnerének gyengén kódolva. Ez egyet kiválaszt, feltöri, és I i -t visszaküldi. Ezzel a kommunikáció kulcsa meghatározott. A behatolónak átlagosan a párok felét kell ahhoz feltörnie, hogy megtudja, I i -hez melyik K i tartozik. c.) A "hatványozós" módszer A módszer alapja, hogy az i és a j felhasználó kitalál egy-egy x i ill. x j számot. Egymás között kicserélik az Y i = α xi (mod p), ill. az Y j = α xj (mod p) számokat (p prímszám, a p elemő véges test egy primitív eleme). A kommunikáció kulcsa a xi* xj K= α szám (vagy annak valamilyen függvénye) lehet. Ennek elıállítása α mellett Y j és x i vagy Y i és x j ismeretében egy egyszerő hatványozást igényel, a behatolónak viszont a diszkrét logaritmusképzés a feladata. Kulcstárolás Nehézségeket okozhat, ha a kulcsokat akár túl kevés, akár túl sok ember ismeri. Megoldást jelentenek az (n,k) küszöbrendszerek. E rendszerek lényege, hogy a kulcsot n db. (nem feltétlenül diszjunkt) részre osztva, bármelyik k kulcsrészletbıl a kulcs elıállítható, de nincs olyan k-1 kulcs-részlet, amibıl ez megtehetı lenne. Ilyen küszöbrendszerek készítésére több matematikai módszer is rendelkezésünkre áll. Felhasználó azonosítás Személy azonosítás: a.) jelszóvédelem b.) fizikai azonosító használata c.) személyi jellemzık Partner azonosítás 19
20 A számítógép-számítógép kapcsolatokban is szükség lehet azonosításra. E célra fenntarthat minden számítógép pár egy-egy kulcsot, ez azonban egy n elemő hálózatnál n 2 kulcsot jelent. Folyhatnak az információcserék valamilyen hitelesítı központon keresztül, ez azonban a kommunikáció költségét növeli jelentısen. Megoldás: ha minden csomópont egy, csak a hitelesítı központ által ismert kulccsal tud e központhoz bejelentkezni, s üzenet továbbítási igényét bejelenteni. A központ jelöli ki a kommunikáció kulcsát, melyet a fenti kulccsal kódolva a hívónak visszaküld. Emellett küld egy csomagot, mely a hívandó fél kulcsával kódolva tartalmazza a kommunikáció kulcsát, s a hívó megjelölését. Ha a hívó e csomagot a hívott félhez továbbítja a párbeszéd kettejük között folytatódhat, s az azonosítás is kielégíti biztonsággal történt meg. Hozzáférésvédelem Nem elegendı kiszőrni a jogosulatlan behatolókat, a rendszernek azt is számon kell tartania, hogy a jogos felhasználók hatásköre mire terjed ki. A felhasználó által mőködtetett ügynök folyamatok hatáskörét a hozzáférési mátrix szabja meg. Ennek elemeit akár ügynökökhöz, akár adatokhoz kötötten tárolhatjuk. Üzenethitelesítés Az üzenetek hitelesítéséhez két feltétele van, egyrészt ellenırizni kell, hogy egy-egy blokkban az és csak az érkezett-e a címzetthez amit a feladó feladott, másrészt tudnunk kell azt is, hogy az egyes blokkok abban a sorrendben érkeztek e meg amilyenben feladták ıket (ideértve azt is, hogy nem hiányzik-e közülük). Az elsı célhoz ellenırzı összegeket, a másodikhoz sorszámot célszerő a blokkban elhelyezni még a kódolás elıtt. A digitális kézjegy Arra szolgál, hogy segítségével a címzett megbizonyosodhassék egy üzenet feladójáról és bizonyíthassa, hogy az illetıtıl kapott ilyen üzenetet. Olyasmire van szükség tehát mint az aláírás, ami könnyen azonosítható, de nehezen hamisítható. A cél elérhetı úgy is, hogy a kényes kommunikációt egy hitelesítı központ közbeiktatásával végezzük (mintha tanú elıtt beszélnénk) ez a valódi digitális kézjegy. A valódi digitális kézjegy Ehhez egy nyilvános kulcsú kódolási rendszer lehet felhasználni, mégpedig olyant, mely "megfordítható", azaz E(D(x)) = x (az általunk említett módszerek ilyenek). Rejtsünk a titkos fejtı kulccsal (és fejtsünk a nyílt rejtı kulccsal). A címzett, ha a nyílt kulccsal fejthetı üzenetet kap, biztos lehet abban, hogy azt csak a titkos kulcsot ismerı feladó küldhette. Mivel a címzett nem ismeri a titkos kulcsot, ha rendelkezik az üzenetnek a nyílt kulccsal megfejtheti kódolt változatával, nyilvánvaló, hogy azt ı nem készíthette. Hagyományos igények OLTP (On Line Transaction Processing): -az ábrázolt mini világ minden adatát tartalmazza -az utolsó állapotot mutatja -sok adatmódosítás -egy-egy tranzakció kevés adatot érint -viszonylag egyszerő, de ad hoc kérdésekre is tud válaszolni -a válaszidı kicsi -jellemzı több, párhuzamosan mőködı felhasználó Új igények 1. Adatfolyamok feldolgozása. 2. Elıre elkészített, aggregált adatok a vezetıknek: DSS (Decision Support System) 3. Nem ismert összefüggések kiderítése: Tudásfeltárás (Data Mining, adatbányászat) Adatfolyamok feldolgozása 20
21 Pl. szenzorok állandóan tömegével generálnak adatokat, ezeket nem tároljuk mind le, de kérdéseink lehetnek. Forgalom figyelés: hálózati, banki, közlekedés stb. Naplózás: meteorológiai, egészségügyi, ipar Új eszközök (részben az SQL kiterjesztésé) Stanford University: CQL (Continuus Query Language) Cornell University: COUGAR 1. Az ilyen kérdések hosszú ideig mőködnek 2. Sokszor a megválaszoláshoz hagyományos adatbázis is kell. Probléma: hogyan kezeljük az adatbázis adatainak változását? (Pl. kereskedelmi forgalom vizsgálata, de az árak és az ügyfelek címei hagyományos adatbázisban.) Döntés-támogató rendszer (DSS Decision Support System) OLAP (On Line Analitical Processing) Megoldásai: ROLAP, MOLAP OLAP -nem feltétlenül egészen up-to-date -csak az elemzéshez szükséges adatokat tartalmazza, ezek azonban több mini világból származnak -tartalmazza a régi adatokat (trendek) -jellemzıen olvas, de bonyolult elemzéseket végez -a válaszidı nem kritikus -látványos riportok, ezek könnyen elérhetıek (intra-internet, wap, sms, stb.) ROLAP (Relational On Line Analitical Processing): A jól ismert és bevált relációs eszközöket használja, ezek azonban nem erre a célra készültek. MOLAP (Multidimensional On Line Analitical Processing): Az adatokat egy többdimenziós kockában tárolja. Könnyő megvizsgálni egy kiválasztott élnek a többitıl való függését. -lassan kiépíthetı, hardware igényes rendszer -gyorsan ad választ a várt kérdésekre. Data Warehouse: Adattárház Bill Inmon: Az adattárház rendszer egy témaorientált, integrált, idıben változó, nem átmeneti adatrendszernek tekinthetı, melynek elsıdleges célja a stratégiai döntések támogatása. 21
22 Data Marts: Adatpiacok AB: Operatív adatok; AP: Adatpiacok Adatpiacok: 1. Az adatpiac az adattárház egyik fontos komponense, egy, kiválasztott tárgyaknak osztályhoz kötött részhalmaza. 2. Az adatpiac egy alkalmazás-központú adattárház, a teljes adattárház egy része. 3. Az adattárház nem más, mint adatpiacok összessége. Adatpiacok: elınyök 1. Adatkezelés: minden osztály maga állapíthatja meg az általa használt adatok struktúráját. 2. Relevancia: egy-egy osztály eldöntheti, hogy a historikus adatokból menynyire van szükség. 3. Önálló felhasználás: minden osztály maga döntheti el, mikor, milyen folyamatot futtat. 4. Hatékonyság: a kisebb egységek kezelése olcsóbb. Különféle célokra sok adatpiac építhetı ki egy adattárházból, ezek akár átfedıek is lehetnek. Egymástól függetlenül kiépült adatpiacok egy hálózatban egy virtuális adattárházat alkothatnak. Tudásfeltárás Rejtett, ismeretlen, potenciálisan hasznos tudás kinyerése az adatokból nem triviális módon. Több tudományágat átfogó kutatási terület. 22
23 Adatbányászat: az adatok összefüggéseinek feltárása. Lépések adatkiválasztás adattisztítás bıvítés szőkítés kódolás adatbányászat jelentéskészítés Tisztítás Véletlen kettızıdések Név elírások (Kotsis, Kocsis, Kotsits) Kitöltés hiánya (alapértelmezés) Bıvítés Hozzáveszünk újabb adatokat: születési idı, jövedelem,, van-e autója, van-e háza stb. Szőkítés Kihagyhatunk sorokat: pl. nincs kitöltve (?) Kihagyhatunk oszlopokat: pl. a név nem kell már (a tisztításhoz kellett!) Jól meggondolni, mert elveszíthetünk fontos információkat! Kódolás Fıként, ha az adat túl részletes. Pl. Születési dátum helyett: korkategória Cím helyett: régió kód Elıfizetés kezdete helyett: idıtartam hónapokban Jövedelem helyett: ezerrel(?) osztva Alapvetıen befolyásolhatja az eredményt! Adatbányászat Sokféle technika lehet, néhány ezek közül: -hagyományos lekérdezı eszközök Egyszerő lekérdezések: pl. átlagszámítások. -statisztikai technikák Összefüggéseket keresünk -vizuális technikák segíthet, ha a számítógépen ábrázoljuk a különféle eloszlásokat, esetleg idıben változva -hasonlóság, távolság, szomszédság A rekordokat tekinthetjük egy n dimenziós tér pontjainak (közöttük lehet távolságot definiálni) A k db. legközelebbi szomszéd viselkedése adhat elırejelzést a vizsgált objektum viselkedésére. -döntési fák -társító szabályok Új problémák Nagyon sok a rendelkezésre álló adat: a hálózat maga egy adatbázis. Válogatás kell (felesleges másolat, elektronikus szemét). Keresés (általában túl primitív, sok találat). Ügynök (agent) programok (barátságos, barátságtalan). Kiszolgáltatottság! NAGYISTVÁN: 23
24 Adattárházak kialakulása, építése, elemzése Az adatfeldolgozás forrásai Tranzakciós adatbázis (OLTP On-Line Transaction Processing) Operatív adattár (ODS Operational Data Store) Adattárház (OLAP On-Line Analytical Processing) 24
25 25
26 26
27 27
28 28
Az információ feldolgozás alapvetı módszerei Folyamat szemlélető információ feldolgozás A legfontosabb állomány struktúrák
Az információ feldolgozás alapvetı módszerei Folyamat szemlélető információ feldolgozás Optimális struktúra Keresés Struktúra Algoritmus A legfontosabb állomány struktúrák o Szekvenciális állomány struktúrák:
RészletesebbenAdatbázisok. 1. dia. 2. dia. 3. dia. Cél. Az információ feldolgozás alapvetı módszerei. Dr. Kotsis Domokos. Segédanyag az elıadáshoz
1. dia Dr. Kotsis Domokos Adatbázisok Segédanyag az elıadáshoz 1 2. dia Cél Cél: információ tárolás, feldolgozás, továbbítás. 2 3. dia Az információ feldolgozás alapvetı módszerei Szóbeli Írásbeli Nyomtatott
RészletesebbenDr. Kotsis Domokos. Adatbázisok. Segédanyag az előadáshoz
Dr. Kotsis Domokos Adatbázisok Segédanyag az előadáshoz 1 Cél Cél: információ tárolás, feldolgozás, továbbítás. 2 Az információ feldolgozás alapvető módszerei Szóbeli Írásbeli Nyomtatott Elektronikus 3
RészletesebbenCélorientált: cél meghatározása célhoz vezető folyamat folyamathoz szükséges adatállomány
Figyelem! Akiknek ezt elküldtem, azoknak szól, hogy ez csak egy vázlat, feltételezi a Kotsis által írt, Az információfeldolgozás alapja című doksi ismeretét, az anyag megértésére pedig nem elég. Ez csak
RészletesebbenA relációs kalkulus 1.
A relációs kalkulus 1. Létezik sor- és oszlopkalkulus, mi csak az előbbivel foglalkozunk. A kalkulus az alábbi alakú kifejezésekből áll: t (t) melynek jelentése: azok a t sorok, melyek kielégítik a (t)
RészletesebbenBEVEZETÉ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észletesebbenTartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2
Tartalomjegyzék Tartalomjegyzék 1 Az SQL nyelv 1 Az SQL DDL alapjai 2 Adatbázis parancsok 2 Táblaparancsok 2 A táblázat létrehozása 2 A táblázat módosítása 3 A tábla törlése 3 Indextábla létrehozása 3
Részletesebben8. 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észletesebbenSQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai
SQL ALAPOK Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai BEVEZETÉS SQL: Structured Query Language Strukturált Lekérdező Nyelv Szabvány határozza meg, azonban számos nyelvjárása létezik
RészletesebbenAdatbá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észletesebbenBGF. 4. Mi tartozik az adatmodellek szerkezeti elemei
1. Mi az elsődleges következménye a gyenge logikai redundanciának? inkonzisztencia veszélye felesleges tárfoglalás feltételes függés 2. Az olyan tulajdonság az egyeden belül, amelynek bármely előfordulása
RészletesebbenAdatbá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észletesebbenAdatmodellezé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észletesebbenAdatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17
Adatbázisok 8. gyakorlat SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT 2015. október 26. 2015. október 26. Adatbázisok 1 / 17 SQL nyelv Structured Query Language Struktúrált lekérdez
RészletesebbenAdatbázis kezelés Delphiben. SQL lekérdezések
Adatbázis kezelés Delphiben. SQL lekérdezések Structured Query Language adatbázisok kezelésére szolgáló lekérdező nyelv Szabályok: Utasítások tetszés szerint tördelhetők Utasítások végét pontosvessző zárja
RészletesebbenProgramozás. Adatbázis-kezelés (alapok) Fodor Attila
Programozás Adatbázis-kezelés (alapok) Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. április 22. Bevezetés Adatbáziskezelés
RészletesebbenTranzakciókezelés PL/SQL-ben
Tranzakciókezelés PL/SQL-ben ACID tulajdonságok: Tranzakció Atomosság, Konzisztencia, Izoláció, Tartósság A tranzakció állhat: - Több DML utasításból - Egy DDL utasításból A tranzakció kezdete az első
RészletesebbenBevezetés: az SQL-be
Bevezetés: az SQL-be Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása SQL-ben, adattípusok, kulcsok megadása 02B_BevSQLsemak
RészletesebbenGazdasá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észletesebbenAdatbá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észletesebbenAdatbázis-lekérdezés. Az SQL nyelv. Makány György
Adatbázis-lekérdezés Az SQL nyelv Makány György SQL (Structured Query Language=struktúrált lekérdező nyelv): relációs adatbázisok adatainak visszakeresésére, frissítésére, kezelésére szolgáló nyelv. Születési
RészletesebbenAdatbázisok-1 előadás Előadó: dr. Hajas Csilla
Adatbázisok-1 előadás Előadó: dr. Hajas Csilla Áttekintés az I.zh-ig Áttekintés az 1ZH-ig // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1 Hol tartunk? Mit tanultunk
RészletesebbenB 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észletesebbenADATBÁZIS-KEZELÉS. Adatbázis-kezelő rendszerek
ADATBÁZIS-KEZELÉS Adatbázis-kezelő rendszerek Adat (Data) Észlelhető, felfogható ismeret Jelsorozat Tény, közlés Valakinek vagy valaminek a jellemzője Adatbázis (Data Base, DB) Hosszú ideig évekig meglévő
RészletesebbenSQL parancsok feldolgozása
Az SQL nyelv SQL nyelv szerepe Sequental Query Language, deklaratív nyelv Halmaz orientált megközelítés, a relációs algebra műveleteinek megvalósítására Előzménye a SEQUEL (IBM) Algoritmus szerkezeteket
RészletesebbenAdatbáziskezelő-szerver. Relációs adatbázis-kezelők SQL. Házi feladat. Relációs adatszerkezet
1 2 Adatbáziskezelő-szerver Általában dedikált szerver Optimalizált háttértár konfiguráció Csak OS + adatbázis-kezelő szoftver Teljes memória az adatbázisoké Fő funkciók: Adatok rendezett tárolása a háttértárolón
RészletesebbenADATBÁ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észletesebbenCélkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése
BEVEZETÉS Célkitűzések Az Oracle10g felépítésének, használatának alapszíntű megismerése A relációs adatbázis-kezelés elméleti és gyakorlati vonatkozásainak áttekintése Az SQL, PL/SQL nyelvek használatának
RészletesebbenAdatbá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észletesebbenAdattípusok. Max. 2GByte
Adattípusok Típus Méret Megjegyzés Konstans BIT 1 bit TRUE/FALSE SMALLINT 2 byte -123 INTEGER 4 byte -123 COUNTER 4 byte Automatikus 123 REAL 4 byte -12.34E-2 FLOAT 8 byte -12.34E-2 CURRENCY / MONEY 8
RészletesebbenAdatbázisok elmélete 9. előadás
Adatbázisok elmélete 9. 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észletesebbenAz 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észletesebbenAdatbáziskezelı-szerver SQL. Relációs adatbázis-kezelık. Relációs adatszerkezet. Házi feladat 2012.03.05.
1 2 Adatbáziskezelı-szerver Általában dedikált szerver Optimalizált háttértár konfiguráció Csak OS + adatbázis-kezelő szoftver Teljes memória az adatbázisoké Fő funkciók: Adatok rendezett tárolása a háttértárolón
RészletesebbenA 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észletesebbenAdattípusok. Max. 2GByte
Adattípusok Típus Méret Megjegyzés Konstans BIT 1 bit TRUE/FALSE TINIINT 1 byte 12 SMALLINT 2 byte -123 INTEGER 4 byte -123 COUNTER 4 byte Automatikus 123 REAL 4 byte -12.34E-2 FLOAT 8 byte -12.34E-2 CURRENCY
RészletesebbenAdatbá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észletesebbenA relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai
8. gyakorlat Structured Query Language Struktúrált lekérdező nyelv A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai DDL (Data Definition Language) adatstruktúra definiáló
RészletesebbenAdatbá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észletesebbenADATBÁZIS-KEZELÉS FÉLÉVES FELADAT
ÓBUDAI EGYETEM Neumann János Informatikai Kar Nappali Tagozat ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT NÉV: MÁK VIRÁG NEPTUN KÓD: A DOLGOZAT CÍME: Jani bácsi székadatbázisa Beadási határidő: 14. oktatási hét
RészletesebbenSQL. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák
SQL Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák A SELECT UTASÍTÁS ÁLTALÁNOS ALAKJA (ISM.) SELECT [DISTINCT] megjelenítendő oszlopok FROM táblá(k direkt szorzata) [WHERE feltétel]
RészletesebbenRelá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észletesebbenJava 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észletesebbenHaladó DBMS ismeretek 1
Haladó DBMS ismeretek 1 Hasznos információk A tantárgy weboldala: it.inf.unideb.hu/honlap/halado_oracle1 Oracle Junior képzés Gyakorlatok és a neptun Gyakorlat követelmények Ajánlott irodalom Juhász István
RészletesebbenAdatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER
Adatbázisok I 1 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észletesebbenAdatbázis használat I. 5. gyakorlat
Adatbázis használat I. 5. gyakorlat Tudnivalók Jövő hétre a normalizálást hozni vagy e- mailben beküldeni! 7. héten (= két hét múlva!) nagyzh + FF checkpoint: adattáblák feltöltése, megszorítások 2010.
RészletesebbenAdatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN
Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN B IT v: 2016.02.10 MAN SQL felületek Hatékony: SQL parancsok kiadására Eredmények megtekintésére Nehézkes: Nagyobb volumenű, rutintevékenységek
RészletesebbenAdatbázisok elmélete 9. előadás
Adatbázisok elmélete 9. 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észletesebbenAdatbá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észletesebbenAB1 ZH mintafeladatok. 6. Minősítse az állításokat! I-igaz, H-hamis
AB1 ZH mintafeladatok 1. Töltse ki, és egészítse ki! Matematikai formalizmus arra, hogy hogyan építhetünk új relációkat a régi relációkból. Az adatoknak egy jól strukturált halmaza, amelyből információ
RészletesebbenSQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1
SQL 1.rész 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1 SQL története, szabványok Szabvány adatbázis-kezelő nyelv: SQL SQL (angol kiejtésben
RészletesebbenSQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások
SQL haladó Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások 1 Külső összekapcsolás Összekapcsoljuk R és S relációkat: R C S. R azon sorait,
RészletesebbenINFORMATIKA ÁGAZATI ALKALMAZÁSAI. Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP-4.1.2-08/1/A-2009-0010
INFORMATIKA ÁGAZATI ALKALMAZÁSAI Az Agrármérnöki MSc szak tananyagfejlesztése TÁMOP-4.1.2-08/1/A-2009-0010 2. Adatbáziskezelés eszközei Adatbáziskezelés feladata Adatmodell típusai Relációs adatmodell
RészletesebbenADATBÁZIS-KEZELÉS. Relációalgebra, 5NF
ADATBÁZIS-KEZELÉS Relációalgebra, 5NF ABSZTRAKT LEKÉRDEZŐ NYELVEK relációalgebra relációkalkulus rekord alapú tartomány alapú Relációalgebra a matematikai halmazelméleten alapuló lekérdező nyelv a lekérdezés
RészletesebbenA 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észletesebbenAdatbá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észletesebbenSQL DDL-2 (aktív elemek) triggerek
SQL DDL-2 (aktív elemek) triggerek Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 7.fej.: Megszorítások és triggerek 7.4. Önálló megszorítások 7.5. Triggerek
RészletesebbenMagas 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észletesebbenGazdasá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észletesebbenAdatbázis rendszerek SQL nyomkövetés
Adatbázis rendszerek 1. 12. SQL nyomkövetés 1/32 B ITv: MAN 2017.10.26 Nyomkövetési feladat 2/32 Gyakorló feladatok Termék-Vásárlás-Vásárló Oktató-Tantárgy-Hallgató 3/32 Gyakorló feladat: Termék-Vásárlás-Vásárló
RészletesebbenAdatbázis-kezelés. alapfogalmak
Adatbázis-kezelés alapfogalmak Témakörök Alapfogalmak Adatmodellek Relációalgebra Normalizálás VÉGE Adatbázis-kezelő rendszer Database Management System - DBMS Integrált programcsomag, melynek funkciói:
RészletesebbenAdatmodellezés, alapfogalmak. Vassányi István
Adatmodellezés, alapfogalmak Vassányi István Alapok A helyes modell az információs rendszer későbbi használhatóságánakazalapja, olyanmint a jómunkaruha: véd, de nem akadályozza a munkát Objektum-orientált
RészletesebbenAdatbázisok. 2. gyakorlat SQL november november 12. Adatbázisok 1 / 31
Adatbázisok 2. gyakorlat SQL 2016. november 12. 2016. november 12. Adatbázisok 1 / 31 SQL nyelv Structured Query Language Struktúrált lekérdez nyelv A relációs adatbáziskezelés szabványos nyelve Két f
RészletesebbenJava és web programozás
Budapesti M szaki Egyetem 2013. november 20. 10. El adás SQLite SQLite: Adatbázis kezel rendszer SQL standardokat nagyrészt követi Nagyon elterjedt, pl böngész kben is használt Nehéz olyan programnyelvet
RészletesebbenAdatbázisok elleni fenyegetések rendszerezése. Fleiner Rita BMF/NIK Robothadviselés 2009
Adatbázisok elleni fenyegetések rendszerezése Fleiner Rita BMF/NIK Robothadviselés 2009 Előadás tartalma Adatbázis biztonsággal kapcsolatos fogalmak értelmezése Rendszertani alapok Rendszerezési kategóriák
RészletesebbenAdatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) október október 22. Adatbázisok 1 / 14
Adatbázisok 8. gyakorlat SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) 2014. október 22. 2014. október 22. Adatbázisok 1 / 14 SQL nyelv Structured Query Language Struktúrált lekérdez nyelv A
RészletesebbenAdatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán
Adatbázis rendszerek Molnár Bence Szerkesztette: Koppányi Zoltán A mai órán A mai órán SQL (és ami mögötte van) Mi lesz a ZH-ban? SQL Történet 1970-es évek eleje IBM SEQUEL (Structured English QUery Languge)
RészletesebbenAz SQL adatbázisnyelv: DML
Az SQL adatbázisnyelv: DML Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 6.5. Az adatbázis tartalmának módosítása (DML utasítások) INSERT, DELETE, UPDATE
RészletesebbenMarton József BME-TMIT. Adatbázisok VITMAB november 11.
Marton József BME-TMIT Gajdos Sándor diasorának felhasználásával Adatbázisok VITMAB00 2016. november 11. A lekérdezés-feldolgozás folyamata I. Cél: az adatok adatbázisból való kinyerése Mivel: egyértelmű,
RészletesebbenPélda 2012.05.11. Többértékű függőségek, 4NF, 5NF
Többértékű függőségek, 4NF, 5NF Szendrői Etelka datbázisok I szendroi@pmmk.pte.hu harmadik normálformáig mindenképpen érdemes normalizálni a relációkat. Legtöbbször elegendő is az első három normálformának
RészletesebbenUjj Tamás * VALÓS IDEJŐ ADATTÁRHÁZAK
Ujj Tamás * VALÓS IDEJŐ ADATTÁRHÁZAK Az adatbázisok alkalmazási területeit vizsgálva, sokunknak olyan alkalmazási területek jutnak az eszébe, mint egy könyvtári rendszer, jegynyilvántartás, számlák kezelése,
RészletesebbenAz indexelés újdonságai Oracle Database 12c R1 és 12c R2
Az indexelés újdonságai Oracle Database 12c R1 és 12c R2 Szabó Rozalinda Oracle adattárház szakértő, oktató szabo.rozalinda@gmail.com Index tömörítés fejlődése 8.1.3-as verziótól: Basic (Prefixes) index
Részletesebben5. 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észletesebbenInformatikai alapismeretek Földtudományi BSC számára
Informatikai alapismeretek Földtudományi BSC számára 2010-2011 Őszi félév Heizlerné Bakonyi Viktória HBV@ludens.elte.hu Titkosítás,hitelesítés Szimmetrikus DES 56 bites kulcs (kb. 1000 év) felcserél, helyettesít
RészletesebbenAdatbázis-kezelés alapok Adatbázisok című tárgyhoz, ismétlés kapcsán
Adatbázis-kezelés alapok Adatbázisok című tárgyhoz, ismétlés kapcsán Hogyan tároljunk nagy mennyiségű adatot? Redundáns (ismétlődő) adatok Adattípusok konzisztenciáját nem biztosítja Nem kereshető, nehezen
RészletesebbenTitkok. Oracle adatbázisok proaktív es reaktív védelmi eszközei. Mosolygó Ferenc, vezetı technológiai tanácsadó. <Insert Picture Here>
Titkok Belsı támadások Törvényi elıírások Oracle adatbázisok proaktív es reaktív védelmi eszközei Mosolygó Ferenc, vezetı technológiai tanácsadó Proaktív és reaktív védelem Proaktív
RészletesebbenFogalmak: 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észletesebbenADATBÁZISOK gyakorlat: SQL 2. rész SELECT
ADATBÁZISOK 9-10. gyakorlat: SQL 2. rész SELECT SELECT utasítás általános alakja SELECT [DISTINCT] oszloplista FROM táblanévlista [WHERE feltétel] [GROUP BY oszloplista [HAVING feltétel] ] [ORDER BY oszloplista];
RészletesebbenFá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észletesebbenA relációs algebra egy speciális algebra, amely néhány egyszerű, de hathatós. operandusok. Egy reláció megadható a nevével vagy közvetlenül, sorainak
Informatika szigorlat 11-es tétel: Lekérdező nyelvek 1. Relációs algebra A relációs algebra egy speciális algebra, amely néhány egyszerű, de hathatós módszert ad arra nézve, hogy miként építhetünk új relációkat
RészletesebbenAz egyed-kapcsolat modell (E/K)
Az egyed-kapcsolat modell (E/K) Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 4.1. Az egyed-kapcsolat (E/K) modell 4.2. Tervezési alapelvek 4.3. Megszorítások
RészletesebbenAdatbázis rendszerek I
Normalizálás 1NF 2NF BCNF Adatbázis rendszerek I 20111201 1NF 2NF BCNF Ha BCNF 2NF A B B A 2NF BCNF 2NF részkulcsból indul ki FD létezik FD, amely nem jelölt kulcsból indul ki Jelölt kulcs olyan mezőcsoport
RészletesebbenIndexek és SQL hangolás
Indexek és SQL hangolás Ableda Péter abledapeter@gmail.com Adatbázisok haladóknak 2012. 2012. november 20. Miről lesz szó? Történelem Oracle B*-fa Index Felépítése, karbantartása, típusai Bitmap index
RészletesebbenAdatbázisok elmélete 10. előadás
Adatbázisok elmélete 10. 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észletesebbenAz adatbázisrendszerek világa
Az adatbázisrendszerek világa Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 1.1. Az adatbázisrendszerek fejlődése 1.2. Az adatbázis-kezelő rendszerek áttekintése
RészletesebbenII. é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észletesebbenAz SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv)
Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv) Az SQL a relációs adatbázis-kezelő rendszerek ma legelterjedtebb szabványosított adatbáziskezelő nyelve. Az IBM dolgozta ki 1983-ban,
RészletesebbenAdatbá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észletesebbenAdatszerkezetek 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észletesebbenStatisztikai szoftverek Molnár Gábor József
Statisztikai szoftverek Molnár Gábor József SAS-ban megírt programok megvalósítása SQL-lel Bevezetés A SAS, statisztikai szoftver, egy önálló adatkezelési nyelvvel rendelkezik; ez a SAS BASE amely segítségével
RészletesebbenAdatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14
Adatbázisok 9. gyakorlat SQL: SELECT 2015. október 26. 2015. október 26. Adatbázisok 1 / 14 SQL SELECT Lekérdezésre a SELECT utasítás szolgál, mely egy vagy több adattáblából egy eredménytáblát állít el
RészletesebbenADATBÁZISOK, ADATTÁRHÁZAK
ADATBÁZISOK, ADATTÁRHÁZAK 1 Adattárolás Háttértárak Fájlok Fájlkezelő rendszer 2 Adattárolás Az adatok, információk bináris formában kerülnek tárolásra. Értelmezés kérdése, hogy egy bitsorozatnak milyen
RészletesebbenBudapesti 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észletesebbenAdatbá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észletesebbenMS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1
SZE INFORMATIKAI KÉPZÉS 1 ADATBÁZIS-KEZELÉS MS ACCESS 2010 A feladat megoldása során a Microsoft Office Access 2010 használata a javasolt. Ebben a feladatban a következőket fogjuk gyakorolni: Adatok importálása
RészletesebbenAlgoritmuselmélet 2. előadás
Algoritmuselmélet 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 2002 Február 12. ALGORITMUSELMÉLET 2. ELŐADÁS 1 Buborék-rendezés
RészletesebbenTáblakezelés: Open SQL Internal table. Tarcsi Ádám: Az SAP programozása 1.
Táblakezelés: Open SQL Internal table Tarcsi Ádám: Az SAP programozása 1. OPEN SQL Tarcsi Ádám, ELTE SAP Excellence Center: SAP programozás oktatóanyag 2 Open SQL Az Open SQL kulcsszavai: SELECT INSERT
RészletesebbenAlgoritmizálás és adatmodellezés tanítása 1. előadás
Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az
Részletesebben2009.03.16. Ezeket a kiemelkedı sebességő számítógépeket nevezzük szuperszámítógépeknek.
A számítási kapacitás hiánya a világ egyik fontos problémája. Számos olyan tudományos és mőszaki probléma létezik, melyek megoldásához a szokásos számítógépek, PC-k, munkaállomások, de még a szerverek
RészletesebbenObjektumorientá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észletesebbenTartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.
Keresés Rendezés Feladat Keresés Rendezés Feladat Tartalom 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
Részletesebben