online kép - Fájl  tubefájl feltöltés file feltöltés - adja hozzá a fájlokat onlinefedezze fel a legújabb online dokumentumokKapcsolat
  
 

Letöltheto dokumentumok, programok, törvények, tervezetek, javaslatok, egyéb hasznos információk, receptek - Fájl kiterjesztések - fajltube.com

Online dokumentumok - kep
  

Az adatbazis fogalma, fontosabb összetevöi, felhasznalasi módjai

számítógépes



felso sarok

egyéb tételek

jobb felso sarok
 
Programozasi eszközök, vezérlési szerkezetek
A B/K szoftver
Part Design CATIA V5 - Start
Vírusprogramok
AZ INTERNET
Informatika II. gyakorlat Fordítók, fordítasi technikak
Mutató típusok. A Turbo Pascal memória térképe. Lancolt listak.
A programról
Egyszerű objektumok rajzolasa és módosítasa
Specialis alakító eszközök
 
bal also sarok   jobb also sarok

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

1. Adatbáziskezelö rendszer (DBMS - DataBase Management System)

A DBMS komplex SW-HW rendszer, mely adatok magas szintü kezelését szolgálja. A "magas szintü" jelzö igényes felhasználói felületre utal.

Jellemzöi

nagy adatmennyiség: ez mega-, újabban pedig már terrabyte-os (1012 byte) adatmennyiséget jelent. A tárolás eszköze lehet diszk, dob vagy CD.

gazdag struktúra: ez adatmodell felállítását teszi lehetövé. Pl. a ¶ Newton-közelítése 16 jegyre pontosan nem szolgáltat adatbázist, csupán strukturálatlan bitfolyamot. Adatbázisról akkor beszélhetünk, amikor a biteknek struktúrája és íg 454e49e y jelentése van.

hosszú életciklus: fontos az adatok permanens megörzése, mert az együtt lévö adatmennyiség értéket képvisel.

2. A DBMS felhasználásával szembeni követelmények

Új adatbázis (a továbbiakban DB) létrehozása, ún. séma kialakítása és kezelése

Séma: adatok fogalmi struktúráját rögzíti. Ennek nyelvi eszköze a DDL (Data Definition Language), az adatdefiníciós nyelv. Erre a létrehozáskor ill. a rendszer változásakor van szükség.

Adatok beillesztése, törlése, módosítása, lekérdezése

Ennek nyelvi eszköze a

DML (Data Management Language), az adatmanipulációs nyelv, és a

QL (Query Language), a lekérdezö nyelv. (Ilyen pl. az SQL - Structured QL, ami felvállal DDL funkciókat is.)

Hatékony tárolás, kezelés, hozzáférés

Biztonság és védelem

Biztonság a meghibásodásokkal (Security), és védelem az illetéktelen hozzáférésekkel szemben (Privacy).

Felügyelje több felhasználó egyidejü konfliktusmentes munkáját

A '90-es évektöl kezdve a komolyabb rendszerek már ezt is figyelembe veszik.

3. A DBMS vázlatos modellje

















A DBMS-hez az alábbi müveletekkel fordulhatunk

Sémamüveletek: a DB logikai vázának kialakítását, módosítását jelentik (a DDL igénybevételével).

2. Lekérdezések: kérdéseket fogalmazunk meg a DB tartalmával kapcsolatban. Ennek kétféle (bár nem teljesen független) változata:

a.) lekérdezö nyelven (QL) megfogalmazott kérdésekkel (pl. SQL), vagy

b.) alkalmazói programon keresztül feltett kérdésekkel nyerünk ki adatokat. Ez utóbbi esetben beszélhetünk gazdanyelvröl (host language), mely egy, a DBMS-hez hívásokat intézö általános célú programozási nyelv.

3. Adatmüveletek: adatok beillesztését, törlését, módosítását célozzák - ezek a DML funkciói is egyben. Az adatmüveletekben is érvényes a lekérdezéseknél megismert két ("a.)" és "b.)") változat. ("b.)"-re példa: banki rendszerekben kamatok jóváírása.)



A DBMS architektúra komponensei:

1. Tárkezelö: a diszkre ír és onnan olvas.

Részei:

File-kezelö: a fizikai szintü I/O-ot végzi, ami az állomány nyilvántartására és elemeinek kezelésére szolgál. (DB-környezetben az adatvesztés veszélye miatt nem megengedett a "nem fizikai" írás/olvasás, így például a UNIX-ban használt lapozás, ami nem mindig jár konkrét I/O-tal. Vagyis a módosításokat azonnal rögzíteni kell!)

(2.) Puffer-kezelö: ez a file-kezelö belsö memóriás kiegészítése; elkülönülést tesz lehetövé az operációs rendszer tárkezelö mechanizmusaitól és kezeli az I/O számára rendelkezésre álló belsö memóriát.


A puffer felépítése



A blokk egy ütemben írható/olvasható terület, mérete leggyakrabban 212-214 byte (ez egy rendszerfüggö paraméter).

A tárkezelö puffer-blokkjai elkülönülésének oka a fizikai adatfüggetlenség elve: ha igényeinkben változások állnak be, akkor a továbbiakban is használható legyen az adatbázis, vagyis logikai vázát ne kelljen átszervezni. Célunk tehát az, hogy a fizikai kérdéseket a többitöl nagyrészt függetlenül tudjuk kezelni.


2. "Lekérdezés" processzor (lekérdezés feldolgozó): magas szintü (pl. szelektor) kérdések átalakítását végzi egyszerü utasítások sorozatára. A "mit"-et bontja le kisebb elemekre, amelyek válaszolnak már a "hogyan"-ra is.

Ebben a lebontásban fontos az optimalizálás, a lehetséges végrehajtások közül az "intelligens" feldolgozó választ: végrehajtási tervet készít. A standard formában megfogalmazott kérdéseket lehetöséghez mérten átalakítja, majd a már végrehajtható utasításokkal a tárkezelö felé fordul.


Példa: ÜGYFÉL tábla


NÉV

CÍM

EGYENLEG

NEMZETISÉG






SELECT név

FROM ügyfél

WHERE egyenleg < 0 AND

nemzetiség = 'DOGON'


Azokra az nevekre vagyunk kíváncsiak az ÜGYFÉL táblából, akikhez negatív egyenleg tartozik és nemzetiségük "dogon" (<- afrikai népcsoport).


A feltétel szürése hatékonyabb, ha elsöként a nemzetiség szerint szelektálunk (mert példánkban egy ritka népcsoportot keresünk, s így a kiszürt hátralékos ügyfelek közül sokat kéne az eredményböl kizárni, mert nemzetiségük más), és csak ezután az egyenleg szerint. Látható tehát, hogy a jó szelektor-kérdések kialakítása nagyon fontos.


Lényeges a tábla elérési mechanizmusa is, ami lehet szekvenciális vagy indexelt, esetleg B-fával megoldott, stb.


A rendszerek nem törekszenek valódi optimum megtalálására - hiszen a szürési feltételek egymástól és az adatoktól való függése, hatékonysági sorrendje nagyon bonyolult lehet -, ezért inkább csak valamilyen módon közelítik az optimumot.


3. Tranzakció-kezelö: célja az, hogy egyidejüleg több folyamat párhuzamos hozzáférését biztosítsa az adatbázishoz. Kulcsfogalma a tranzakció: ez utasítások egybetartozó sorozata, ami felfogható egy program-egységnek is (amit egyes nyelveken -ek között írunk le).

Alapvetö követelmény a rendszerben a tranzakciók atomisága. A tranzakcióhoz tartozó utasítás-sorozat a "mindent vagy semmit" elven hajtódik végre, vagyis megszakíthatatlanul, oszthatatlanul. Vagy az összes, egy tranzakcióhoz tartozó utasítás lefut, vagy közülük egy sem. Ez a követelmény ahhoz, hogy teljesülhessen, a valós alkalmazásokban gyakran abortálást igényel (amikor a "semmit" ágon folytatódik a végrehajtás), mivel ütköztek az adatokhoz való hozzáférési igények.

A tranzakció határait képezö elvi -ek a belül lévö utasítás-sorozat védelmét szolgálják. Ezek elhelyezése a tervezés lényeges kérdése.

A tranzakció-kezelö feladatai:

atomiság biztosítása

következetesség (konzisztencia) biztosítása: adatok "közbülsö", tranziens állapota nem megengedett

tranzakciók elkülönítése: a véletlenszerüen, keveredve érkezö tranzakciók hatását el kell szeparálni

tranzakció-tartósság: egy sikerrel befejezödött tranzakció hatása legyen permanens, állandó; lehessen késöbb is erre a hatásra, eredményeire építeni. Komoly rendszerhibák ellen is legyen biztosítva a védettség, a DB ne sérüljön.


A tranzakció-kezelö alapeszközei:

zárak: egy tranzakció "lelakatol" egy adatot, adatelemet, és biztosítja, hogy más tranzakció ne dolgozhasson a használt adattal. A tranzakció végeztével a zár feloldódik. A zárral ellátható adatelemek mérete rendszerenként változik, a méret meghatározása külön tervezési szempontokkal rendelkezik.

naplózás: a naplóból végigkövethetök és "elszállás" esetén rekonstruálhatók a végzett tranzakciók, azaz a DB konzisztens állapotba hozható.

érvényesítés: a tranzakciók eredményének érvényességét igazolja. Például a "piszkos adatok" káros hatásait kiszürö protokollok tartoznak ide.


Vázlatos modellünket bizonyos árnyaló tényezök teszik a valódi rendszerekhez hasonlóvá. Ezek közül egy hatékony munkamegosztási eszköz a kliens-szerver architektúra:







A kliens elöfeldolgozott SQL kérdést ad a szervernek és táblát kap vissza. Célszerü tehát, ha a kliens oldal minél több munkát elvégez, hogy a szervertöl gyors válaszidökkel kaphassa meg az eredményt. A szerverhez való fordulás e módja trendként is felfogható.

4. A DBMS-sel kapcsolatos tevékenységek szintjei

Naiv felhasználó

Egyszerü lekérdezéseket intéz a rendszerhez vagy alkalmazói programokat indít.


DB-programozó

Összetett kérdéseket állít össze, alkalmazói programokat ír. Lehetösége van arra, hogy árnyaltabban, összetettebben használja ki a rendszer lehetöségeit.


DB-tervezö

Tevékenységi körébe tartozik a DB séma kialakítása, az adatok szerkezetének meghatározása, az adatok kapcsolatainak és a fizikai felépítésnek a tervezése.


(Itt húzhatunk egy képzeletbeli vonalat, mert nagy az ugrás a szakmai felkészültségben:)



DBMS-megvalósító

Tudja, hogyan kell DBMS-t készíteni, ami már komoly, specializált tudást igényel.

5. Amivel mi foglalkozunk

Tervezés: ez az adatmodellezés feladatköre. Ezen belül is szó lesz a következökröl:

ODL: objektumos adatmodellezés

Egyed/Kapcsolat megközelítés, modellezés

hálós és hierarchikus adatmodellezés

relációs adatmodellezés (fontos eleme a modell normalizálása)

Programozás: ORACLE/SQL és alkalmazása (a Szg.labor 6 keretében)

Megvalósítás: szisztematikusan nem, de az alapötletek szintjén vizsgálni fogjuk a kérdést. Szó lesz:

a fizikai szervezésröl,

a lekérdezés feldolgozásáról,

és a tranzakciókról.

Találat: 2000


Felhasználási feltételek