nyme informatika int zet
Download
Skip this Video
Download Presentation
NYME Informatika Intézet

Loading in 2 Seconds...

play fullscreen
1 / 50

NYME Informatika Intézet - PowerPoint PPT Presentation


  • 108 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' NYME Informatika Intézet' - hetal


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

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 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
ad