Adattól az adatbázisig
Tartalom:
1. Adatbázis
2. A kezdetek...
3. Egyedi adattól adatbázisig
4. Adatbázisarchitektúra 3 szintje
5. Elemi adatszerkezetek
Tannenbaum: „vannak olyan folyamatok, ahol a legnagyob sávszélessége a biciklisfutárnak van”
pl.: biciklisfutár a RTGtomográffelvételekkel dvd-n
↑
Adatbázis
programfüggetlen(),
rendezett (gyorsabb keresés)
adat, ábrátolási mód, összefüggéseik, hozzáférés ellenőrzési mód
=> Data Base Management Systen (DMBS)
↑
A kezdetek...
keret
adatdefiníciók
- anno a programokba írták → adatmódosítás = programmódosítás; ez nehézkes
=> adatot külön tárolóra rakták (mágnesdob => adattároló mai jelölése) =⇒ külön adatkiszolgáló jobb (Data Base)
programban benne feltételek (if A then B else ...), de így a program továbbra is merev ⇒ tegyük ezt is egy másikra (Knowledge Base)
Biz. be: Szokratész meghalt:
if A then B
if D then H
if B then C
if C then D
⇒ if A then H
szabálybázis
sok szabálynál jön az if H then B típusú... ez egy végtelenciklus, ami nekünk nem jó
=⇒ ez a rossz a szabályalapú programokban
"azonnal látszik a programon, hogy magyarországon csinálták...
- Miért?
- mert a húgyúti fertőzések diagnosztizálására használják, és az első kérdés úgy szól, hogy a fertőzést a kórházban kapta-e...."
⇒ liftkezelőprogram hibájának ellenőrzésére még jó lehet egy ilyen.......
↑
Egyedi adattól adatbázisig
több program használ egy adatforrást
Program A és B használja C adattáblát
B használja D adattáblát is.... stb...
nem a programohoz állítjuk össze az adatokat, hanem a programokat a már meglévő adatokhoz
adatfeldolgozás alapja: bejegyzés (=rekord): ehhez férünk hozzá adatfeldolgozás közben, fe kell majd törni valahogy
a sor elemei pedig mezők, (mert: régen a lyukkártyán egy adathoz tartozó lyukmezők)
rendezett valamilyen mező szerint... akkor az a kulcs...
másik program rendezheti más szerint
1. csinálhatunk egyik vagy másik szerint rendezettet is...
de így ha új rekordot teszek bele, mindkettőt rendezni kell..
„az ördög soha nem alszik, másutt a részletekben van, de itt még nem is alszik!”
tehát áramszünet → egyik rendezve, másik nincs rendezve... elkezdenek különbözni
⇒ igény: legyen meg csak egyszer az adat, mert könnyebb kezelni
DBMS
Hardvert kezeli az operációs rendszer,
[felhasználó] ←úgy szervíroz, hogy a felhazsnáló mosolyogjon!-↓ [DBMS][oprendszer[hardver]]
DBMS-követelmények
- adatfüggetlenség
- adatok közti komplex kapcsolatok ábrázolása
- redundanciamentesség, illetve annak ellenőrzése... redundancia akkor áldás, ha mi rakjuk bele.... pl. adószámban van kontrollkarakter... bankjegyszámban is van ellenőrzés.... ⇒ van ilyen az adatbázisban is: integrációellenőrzés (számelméleti megoldás: régebben kidolgozták, most tökjó)
- adatvédelem... privacy
4fajta privacy kód: ki(k) hozhat(ják) létre, ki(k) olvashat(ják), ki(k) módosíthat(ják), ki(k) törölheti(k) le
- integrity: hülyebiztos adatrendszer kell; pl.: Lomtár; ne ronthassuk el az adatbáist
- helyreállíthatóság: áramszünetnél legyen visszaállítható (pl. automatikus mentés)
- többfelhasználós adatbázis: egyidejű hozzáférés és ennek ellenőrzése
Domus-nál bevezették Mo.-n a rendszert... mainframe gép, hozzá minden szinten egy terminál.... mi a valsz. hogy egy ütemidőn belül ketten használnak két terminált? szinte semmi... de sikerült ⇒ elhasalt a rendszer
- osztott adatbázisnál lehetővé kell tenni az adatok szétosztását és megtalűálását különböző helyekről, egyidejű hozzáférés ellenőrzését ls az adatforgalom optimalizációját is.. PL: több cipőbolthoz hozzáférő adatbázis
↑
Adatbázisarchitektúra 3 szintje
belső vagy fizikai szint:
tényleges fizikai tárolást és elérési módot írja
külső szint
miként látják az egyes felhasználók az adatbázist
koncepcionális szint
logikailag egységbe ötvözve hogyan néz ki ténylegesen az adatbázis.
ennek különböző vetületei
HF: egy dvdkölcsönző adatbázidának legkülső szintjét kell
milyen dvd
ki kérte ki, meddig
egy felhazsnálónál hányféle dvd
fizetett-e az illető, mennyivel tartozik, túlfizetés
szállító címe, elszámolás vele
mit láthat...
↑
Elemi adatszerkezetek
Tömb
láncolt lista
verem
tömb:
normál táblázat gyk.
láncolt lista:
- bevezetjük a rendezési kulcsot...
rendszám...
VAGY
- létrehozunk mögötte néhány mezőt, amibe a pointereket rakják:
„komámasszony hol az olló?”
megmutatja, melyik a következő elem
többféle pointert is bele lehet rakni, annak megfelelően, hogy többflée rendezési szempontot definiálhassak
áramszünet: megszakad a pointerlánc, azt akarja visszaállítani
ha egy adatot ki akarok haygni a láncolt listából, akkor átcímzi az arra címző poibtert a következőre... az előző pointert meg átdobja egy poolba
ha új adatot akarok beleilleszteni... akkor először a megfelelő elem pointerét átláncolom oda, neki meg adok egy pointert, ami a megfelelő helyre mutat
előny: könnyű beillesztés, törlés
hátrány: végig kell szaladni rajta (vagy kikap egy adatot, s megnézi, előtte van-e vagy utána... így keres gyökhelyet is a gép, ha tudja, hogy cska egy gyökjel van ott)
verem (stack ≠= steak; LIFO = Last In First Out):
beledobáljuk az adatokat, és beledoblálssal ellentétes sorrendben lehet kiszedni
zárójelezett kifejezések átrendezése... meg kell keresni a legbelső zárójelet... ha nyitózárójel, akkor azt a verem tetejére teszi... amikor záró zárójelet talál, akkor elkezdi végrehajtani, majd továbbmegy
kétféle sor van: normáls ember, FIFO: first in, first out; és LIFO, az életművészeké