Nyme informatika int zet
This presentation is the property of its rightful owner.
Sponsored Links
1 / 50

NYME Informatika Intézet PowerPoint PPT Presentation


  • 78 Views
  • Uploaded on
  • Presentation posted in: General

NYME Informatika Intézet. Számítógépes alkalmazások 5. előadás. Adatbázis-kezelő rendszerek. Tartalom. Adatbázis fogalma Adatbázis-kezelő rendszerekkel szembeni elvárások Repülőgép helyfoglalás Banki rendszerek Vállalati nyilvántartások Relációs adatbázisok – számlák példa

Download Presentation

NYME Informatika Intézet

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Nyme informatika int zet

NYME Informatika Intézet

Számítógépes alkalmazások

5. előadás


Adatb zis kezel rendszerek

Adatbázis-kezelő rendszerek


Tartalom

Tartalom

  • Adatbázis fogalma

  • Adatbázis-kezelő rendszerekkel szembeni elvárások

  • Repülőgép helyfoglalás

  • Banki rendszerek

  • Vállalati nyilvántartások

  • Relációs adatbázisok – számlák példa

  • Adatbázis-kezelő rendszerek felépítése

  • Adatok, metaadatok, indexek

  • A tárkezelő feladata

  • A lekérdezés-feldolgozó feladata

  • A tranzakció-kezelő feladata

  • Adatbázis-tervezés

  • Adatbázis-programozás

  • Adatbázis-megvalósítás

  • Az ACCESS adatbázis objektumai

  • ACCESS definíciók

  • ACCESS lekérdezés típusok


Adatb zis

Adatbázis

Mi egy adatbázis?

  • A valós világ egy meghatározott részének leírásá-hoz használt, adott formátumú és rendszer szerint tárolt adatok (adatelemek) együttese.

  • Olyan adatok együttese, amit egy adatbázis-kezelő rendszer kezel (tárol, lekérdez, módosít)


Adatb zis kezel rendszerekkel szembeni elv r sok

Adatbázis-kezelő rendszerekkel szembeni elvárások

  • Tegye lehetővé új adatbázisok létrehozását, az adat-bázis logikai struktúrájának (sémájának) egy speci-ális nyelven (adatdefiníciós nyelv) való megadását.

  • Biztosítsa, hogy a felhasználók az adatokat egy meg-felelő nyelv (adatmanipulációs nyelv, lekérdező nyelv) segítségével lekérdezhessék, módosíthassák.


Adatb zis kezel rendszerekkel szembeni elv r sok1

Adatbázis-kezelő rendszerekkel szembeni elvárások

  • Támogassa nagyon nagy mennyiségű adat hosszú időn keresztül történő tárolását.

    Garantálja az adatok biztonságát a meghibásodá-sokkal és az illetéktelen felhasználókkal szemben.

    Tegye lehetővé a hatékony adathozzáférést a le-kérdezések és módosítások számára.


Adatb zis kezel rendszerekkel szembeni elv r sok2

Adatbázis-kezelő rendszerekkel szembeni elvárások

  • Támogassa több felhasználó egyidejű munkáját.

    Figyelje a több felhasználó által egy időben törté-nő adathozzáféréseket úgy, hogy azok ne vezes-senek az adatok hibássá vagy következetlenné válásához.


Els adatb zis kezel rendszerek

Első adatbázis-kezelő rendszerek

  • 60-as évek végén jelentek meg.

  • Nem támogattak semmilyen magas szintű lekérde-ző nyelvet.

  • Első jelentős alkalmazási területek azok a rendsze-rek voltak, amelyekben sok kis adatelem szerepelt és a rendszerben sok lekérdezés és módosítás volt.


Rep l g p helyfoglal s

Repülőgép helyfoglalás

Adatelemek:

  • Egy vevő helyfoglalása egy adott járatra (ülőhely, választott menü).

  • Járatokra vonatkozó információ (indulás, érkezés, honnan, hová, repülőgép).

  • Jegyárak, előjegyzések, még kapható jegyek.


Rep l g p helyfoglal s1

Repülőgép helyfoglalás

Lekérdezések:

  • Egy adott városból egy másikba mely járatok indul-nak egy hozzávetőlegesen megadott időpontban.

  • Mely ülőhelyek szabadok.

  • Mennyi egy jegy ára.


Rep l g p helyfoglal s2

Repülőgép helyfoglalás

Adatmódosítások:

  • Egy vevő helyfoglalása egy adott járatra.

  • Egy ülőhely kiadása.

  • Egy menüválasztás bejegyzése.


Banki rendszerek

Banki rendszerek

Adatelemek:

  • Ügyfelek nevei és címei.

  • Folyószámlák és hitelszámlák egyenlegei.

  • Az ügyfelek és a számlák között fennálló kapcso-latok (pl. kinek melyik számla felett van aláírási joga).


Banki rendszerek1

Banki rendszerek

Lekérdezések:

  • Egy adott számla egyenlege.

    Adatmódosítások:

  • Egy adott számlára vonatkozó befizetés vagy ki-fizetés.


V llalati nyilv ntart sok

Vállalati nyilvántartások

Adatelemek:

  • Eladásokra vonatkozóak.

  • Kimenő és bejövő számlákra vonatkozóak.

  • Dolgozókra vonatkozóak (név, cím, fizetés, nye-reség-részesedés).


V llalati nyilv ntart sok1

Vállalati nyilvántartások

Lekérdezések (jelentések):

  • Kinnlevő számlák.

  • Dolgozók havi fizetése.

    Adatmódosítások:

  • Minden egyes eladás, vásárlás, számlakibocsátás, számlakifizetés.

  • Dolgozók felvétele, elbocsátása, előléptetése.


Adatb zis kezel rendszerek1

Adatbázis-kezelő rendszerek

Kezdetben egyedi programok készültek az egyes válla-latoknál a különböző adatok nyilvántartására.

A tömeges alkalmazási igény kikényszerítette az adat-formátumok szabványosítását, és általános célú adatbá-ziskezelő szoftverek kifejlesztését.


Rel ci s adatb zis kezel k

Relációs adatbázis-kezelők

E. F. Codd:

A relational model of data for large shared data banks.

Communications of the ACM, 13 (1970), 377-387.

Az adatokat a felhasználók felé táblázat (reláció) for-májában jelenítjük meg (a háttérben persze bonyolult struktúrák is lehetnek).

A lekérdezések magas szintű nyelv segítségével való-sulnak meg, amely jelentősen növeli az adatbázis programozók hatékonyságát.


Rel ci s adatb zisok

Relációsadatbázisok

Számlák


Rel ci s adatb zisok1

Relációs adatbázisok

Számlák nevű reláció

Attribútumok (oszlopok, mezők): számlaszám, egyenleg, típus

Lekérdezés (SQL):

SELECTegyenleg

FROM Számlák

WHEREszámlaszám = 67890;


Rel ci s adatb zisok2

Relációs adatbázisok

  • Vizsgáld meg a FROM után szereplő reláció min-den sorát.

  • Válaszd ki azokat a sorokat, amelyek a WHERE után megfogalmazott követelményeknek eleget tesznek.

  • Add meg eredményként ezeknek a soroknak a SELECT után megadott attribútumait.


Rel ci s adatb zisok3

Relációs adatbázisok

Még egy lekérdezés (SQL):

SELECTszámlaszám

FROM Számlák

WHEREtípus='betétszámla'ANDegyenleg < 0;


Rel ci s adatb zisok4

Relációs adatbázisok

A gyakorlatban a rendszernek optimalizálnia kell a lekérdezést: hatékony végrehajtási módot kell találni még akkor is, ha a lekérdezésben szereplő relációk nagyon nagyok.

Az IBM volt az első olyan cég, amely relációs adat-báziskezelő rendszereket árusított.

Ma is a relációs adatbázis-kezelő rendszerek a legel-terjedtebbek a piacon.


Adatb zis kezel rendszerek fel p t se

Adatbázis-kezelő rendszerek felépítése

„Lekérdezés”-

feldolgozó

Tranzakció-

kezelő

Tárkezelő

Adatok, metaadatok


Adatok metaadatok

Adatok, metaadatok

Az ábra alján az adatok tárolására szolgáló hely látható.

Ez a rész nem csak adatokat, hanem metaadatokat is tar-talmaz, ami az adatok szerkezetét írja le (relációs adat-báziskezelő esetén a relációk nevei, attribútumok nevei, attribútumok típusai).


Indexek

Indexek

Az adatbázis-kezelő rendszerek gyakran indexeket hasz-nálnak az adatok elérésére.

Az index olyan adatstruktúra, amely lehetővé teszi, hogy az adatelemeket gyorsan megtaláljuk, ha ismerjük a hoz-zá tartozó értékek bizonyos részét.


Indexek1

Indexek

A leggyakrabban előforduló példa olyan index, ame-lyiknek a segítségével egy reláció azon sorait keres-hetjük meg, amelyekben az egyik attribútum értéke adott.

Az indexek a tárolt adatok közé tartoznak, viszont az, hogy mely attribútumokra léteznek indexek, a meta-adatok részét képezik.


T rkezel

Tárkezelő

A tárkezelő feladata a kért információk beolvasása a tá-rolóhelyről, illetve az adatok módosítása, ha a felette ál-ló rendszerszintek ilyen irányú kérést fogalmaznak meg.

Lehetne az operációs rendszer fájlkezelő része is, de a hatékonyság érdekében az adatbázis-kezelők általában közvetlenül felügyelik az adatok lemezen való tárolását.


T rkezel1

Tárkezelő

A tárkezelő két részből áll:

  • Fájlkezelő: fájlok lemezen való elhelyezkedését tartja nyilván, az állomány blokkjait írja/olvassa ha a puffer-kezelő erre kéri.

  • Pufferkezelő: a fájlkezelő segítségével adatblokkokat olvas be a lemezről és kiválaszt egy memóriaterületet, ahol az adott blokkot tárolni fogja;

    Egy lemezblokkot a memóriában tarthat egy ideig, de ha a blokk által foglalt memóriára egy másik blokknak van szüksége, akkor a blokkot visszaírja a lemezre.


Lek rdez s feldolgoz

Lekérdezés-feldolgozó

A lekérdezés-feldolgozónak nevezett egység feladata, hogy a lekérdezéseket, illetve egyéb adatbázis-műveleteket (adatok és metaadatok módosítása), amelyek gyakran egy magas szintű nyelven vannak megfogalmazva, egyszerű utasítások sorozatává alakítsa.

Gyakran a lekérdezés-feldolgozás legnehezebb része a le-kérdezés optimalizálása, vagyis egy megfelelő végrehajtási terv kiválasztása.


P lda

Példa

Tegyük fel, hogy egy bank adatbázisában a követke-ző két reláció található:

Az ÜGYFELEK reláció tárolja az egyes ügyfelek ne-vét, címét és személyi azonosítóját.

A SZÁMLÁK reláció tárolja az egyes számlák szám-laszámát, egyenlegét és a számla tulajdonosának sze-mélyi azonosítóját (feltesszük, hogy minden számlá-nak csak egy tulajdonosa van).


P lda1

Példa

A következő kérdésre szeretnénk választ kapni:

Adjuk meg az összes számla egyenlegét, amelynek tulajdonosa Kovács István.

Egy meglehetősen költséges terv a következő:

Nézzük végig az ÜGYFELEK táblát, amíg meg nem találjuk Kovács Istvánt (remélhetőleg csak egy van), majd a SZÁMLÁK táblából gyűjtsük ki azokat a sorokat, amelyekben Kovács István személyi azonosítója szerepel.


P lda2

Példa

Ha az ÜGYFELEK táblához van indexünk az ügyfél nevére, akkor az első fázis gyorsan megy.

Ha a SZÁMLÁK táblához is van indexünk, méghoz-zá a személyi azonosítóra, akkor a második fázis sem tart sokáig.

Általában 8-10 lemezolvasásnál nincs többre szükség, ha mindkét index rendelkezésre áll, ellenkező esetben viszont több százezer lemezolvasásra is szükség lehet.


Lek rdez s feldolgoz1

Lekérdezés-feldolgozó

Bár ebből a példából úgy tűnhet, hogy egy lekérdezés optimalizálása mindössze annyiból áll, hogy használ-junk indexeket, ha léteznek, valójában a dolog ennél sokkal összetettebb.

A bonyolult lekérdezések sokszor lehetővé teszik, hogy átrendezzük az elemi műveleteket, és így nagyon sok végrehajtási terv adódik.


Tranzakci kezel

Tranzakció-kezelő

A tranzakció-kezelő rész felelős a rendszer sértetlen-ségéért. Ennek kell biztosítania, hogy az egy időben futó lekérdezések és módosítások ne ütközzenek össze egymással, és hogy a rendszer még rendszer-hiba esetén se veszíthessen adatokat.


Tranzakci kezel1

Tranzakció-kezelő

A tranzakció-kezelő kapcsolatot tart a lekérdezés-feldolgozóval, hiszen a konfliktusok elkerüléséhez tudni kell, hogy az aktuális lekérdezések éppen mely adato-kon dolgoznak, és épp a konfliktusok megakadályozá-sáért késleltethet bizonyos műveleteket (zárolás).

Kapcsolatot tart a tárkezelővel is, mert az adatok védel-mére szolgáló módszerek többnyire magukban foglalják a módosítások naplózását.


Tranzakci kezel2

Tranzakció-kezelő

Az adatbázis-kezelők többnyire megengedik a felhasz-nálóknak, hogy egy vagy több lekérdezést vagy módo-sítást egy tranzakcióba csoportosítsanak.

A tranzakció tulajdonképpen olyan műveletek egy cso-portja, amelyeket egymás után egy egységként kell vég-rehajtani.

Az adatbázisrendszerek gyakran sok tranzakció egyide-jű végrehajtását engedik meg, ezek helyes lefutásának biztosítása is a tranzakció-kezelő feladata.


Tranzakci k

Tranzakciók

A tranzakciók „helyes” lefutásával szembeni elvárá-sokat négy pontban szokták összefoglalni:

  • Atomosság. Megköveteljük, hogy egy tranzakció vagy teljes egészében hajtódjon végre, vagy sem-mi ne hajtódjon végre belőle.

    Például az automatából történő pénzfelvétel és a hozzá kapcsolódó megterhelés az ügyfél számlá-ján egyetlen atomi tranzakciót kell, hogy alkosson.


Tranzakci k1

Tranzakciók

  • Következetesség. Egy adatbázisban akkor beszélhe-tünk a következetes állapot fogalmáról, amikor az adatok megfelelnek bizonyos elvárásoknak (feltételek-nek).


Tranzakci k2

Tranzakciók

Például egy repülőgép-helyfoglalási adatbázisban egy megfelelő következetességi feltétel, hogy egyetlen ü-lőhelyet se rendeljünk hozzá két különböző utashoz.

Noha ezt a feltételt megsérthetjük a tranzakció alatt (pl. utasok átrendezése), a tranzakció-kezelőnek biz-tosítania kell, hogy a tranzakció befejezése után az adatbázis ismét következetes állapotba kerüljön.


Tranzakci k3

Tranzakciók

  • Elkülönítés. Amikor két vagy több tranzakció egyi-dejűleg fut, azok kihatását el kell különíteni egymás-tól.

    Ez azt jelenti, hogy semmiféle olyan eredményt vagy kihatást nem tapasztalhatunk az adatbázisban, amit a két tranzakció egyidejű futása okozott, és ami nem fordult volna elő, ha a két tranzakció egymás után fut le.


Tranzakci k4

Tranzakciók

Például ha két ügynök éppen ugyanarra a járatra ad el jegyet és a járaton már csak egy hely van, akkor az e-gyik kérést teljesíteni kell, a másikat pedig vissza kell utasítani.

  • Tartósság. Ha egy tranzakció befejeződött, akkor an-nak eredménye nem veszhet el rendszerhiba esetén sem, még akkor sem, ha a rendszer közvetlenül a tranzakció befejezése után hibásodik meg.


Adatb zis kezel rendszerek2

Adatbázis-kezelő rendszerek

Az ábra tetején három különböző fajta input látható:

  • Lekérdezések (adatokra vonatkozóan):

    • Egy általános lekérdező-interfészen keresztül. Például a rendszer megengedi SQL lekérdezé-sek begépelését.

    • Egy alkalmazói program interfészén keresztül. Általában nem tehetünk fel akármilyen kérdést, de amit igen, azt általában egyszerűbben tehet-jük meg (mezők kitöltése ACCESS-ben).


Adatb zis kezel rendszerek3

Adatbázis-kezelő rendszerek

  • Módosítások (adatokra vonatkozóan): hasonló, mint a lekérdezéseknél.

  • Sémamódosítások: az ezekre vonatkozó utasításokat csak az arra illetékes személyek, az adatbázis admi-nisztrátorok adhatják ki.


Adatb zis kezel rendszerekkel kapcsolatos f bb tev kenys gek

Adatbázis-kezelő rendszerekkel kapcsolatos főbb tevékenységek

Adatbázis-tervezés

  • Hogyan alakítsunk ki egy jól használható adatbázist?

  • Mely információk kerüljenek be az adatbázisba?

  • Milyen legyen az adatok szerkezete?

  • Milyen feltételezésekkel éljünk az adatelemek típusára és értékeire vonatkozóan?

  • Hogyan kapcsolódjanak egymáshoz az adatelemek?


Adatb zis kezel rendszerekkel kapcsolatos f bb tev kenys gek1

Adatbázis-kezelő rendszerekkel kapcsolatos főbb tevékenységek

Adatbázis-programozás

  • Hogyan fejezzük ki az adatbázisra vonatkozó lekérde-zéseket és egyéb műveleteket?

  • Hogyan használjuk ki az adatbázis-kezelő rendszerek egyéb lehetőségeit, mint amilyenek a tranzakciók vagy a triggerek (ellenőrző procedurák)?


Adatb zis kezel rendszerekkel kapcsolatos f bb tev kenys gek2

Adatbázis-kezelő rendszerekkel kapcsolatos főbb tevékenységek

Adatbázis-megvalósítás

  • Hogyan készítsünk el egy adatbázis-kezelő rendszert?

  • Hogyan valósítsuk meg a lekérdezés-feldolgozót, a tranzakció-kezelőt?

  • Hogyan szervezzük meg az adatok tárolását, hogy az adathozzáférés hatékony legyen?


Az access adatb zis objektumai

Az ACCESS adatbázis objektumai

  • TÁBLA:Az adatokat tárolja (reláció).

  • LEKÉRDEZÉS:Szelektálja, rendezi, elemzi, módosítja az adatokat, új táblát hozhat létre. Jelentések, űrlapok alapját képezheti.

  • ŰRLAP:Adatok bevitele, megjelenítése és módosítása rekordonként, diagram.

  • JELENTÉS:Táblák és lekérdezések adatait összegzi elemzés, nyomtatás végett.

  • MAKRÓ:Műveletsort tárol automatikus végrehajtáshoz.

  • MODUL:ACCESS Basic programot tartalmaz.


Fogalom defin ci k

Fogalom-definíciók

  • REKORD: az adattábla egy sora (egy entitásra vonatkozó adatokkal)

  • MEZŐ: az adattábla egy oszlopa (azonos típusú adatokkal - attributum)

  • MEZŐNÉV: az adatoszlop elnevezése

  • INDEX: olyan mező (oszlop), mely szerint a szűrést felgyorsítjuk

  • KULCS: olyan indexelt mező, melyben nincs két agyforma érték


Fogalom defin ci k1

Fogalom-definíciók

  • KIFEJEZÉS: képlet, mely az adattábla adataiból új információt vezet le

  • KIFEJEZÉS-SZERKESZTŐ: olyan eszköz, mellyel egyszerűen hozhatók létre képletek

  • SZÁMÍTOTT MEZŐ: az adattábla olyan oszlopa, melyet kifejezés állít elő. Ennek kiszámítása csak futtatással (jele „!”) lehetséges

  • SZŰRÉS: rekordok (sorok) szelekciója, melynek logikáját a szűrési feltétel írja elő


Lek rdez s t pusok

Lekérdezés típusok

  • Módosító: átírja az adattábla adatait

  • Törlő: rekordokat (sorokat) töröl a táblából

  • Választó: új táblát hoz létre levezetett adatokból

  • Tábla-készítő: mint a választó, de az eredmény valódi tábla lesz

  • Kereszttáblás: sor és oszlopfejléccel kombinált összesítő lekérdezés

  • Hozzáfűző: egyik táblából másikba tehetünk át rekordokat


  • Login