Adatbázis-kezelés Fülep Dávid
SELECT id FROM eloadas WHERE intezmeny = ”sze” ORDER BY unalomfaktor LIMIT 1 → NGB_SZ_003_9
Adatbázis-kezelés
Első előadás
2
Célok
● Válaszok a következőkhöz hasonló kérdésekre: ○ Hogyan tárolja a Neptun a tárgyaimat és jegyeimet? ○ Hogyan követi és összesíti a bank a kártyás vásárlásaimat? ○ Hogyan válaszol a google kereső a másodperc törtrésze alatt a kérésemre? ○ Miképpen tárolódnak a C100 belépési adatai? ● Hogyan kezelhetők a fenti rendszerek adatai?
3
Ütemterv Előadás napja
Előadás (kedd)
Gyakorlatok (csütörtök)
Beszámoló
2015. 04. 07.
1. előadás
1. gyakorlat
word
2015. 04. 14.
2. előadás
2. gyakorlat
DB1
2015. 04. 21.
3. előadás
3. gyakorlat
-
2015. 04. 28.
4. előadás
4. gyakorlat
DB2
2015. 05. 05.
5. előadás
4
Adatkezelés alapfogalmai ■
■
Egyre több számítógépen tárolt adat ■
vizsgaeredmények
■
ismerősök
■
bankszámla
■
raktárkészlet
■
kedvenc fotók
■
betegnyilvántartás
■
árfolyam
■
benzinár
A számítógép végzi az adattárolást, de a tárolás mikéntje a mi felelősségünk. 5
Adatkezelés alapfogalmai Adat: valamely tény reprezentálása ■
Objektív
■
Független az adathordozótól, feldolgozótól
■
Számítógépen tárolt adatok
6
Adatkezelés alapfogalmai Információ: jelentéssel bíró adat ■
Szubjektív, függ a feldolgozótól Más-más jelentést/jelentőséget kapcsolhatunk egyes adatokhoz
■
egy gyógyszer fő hatóanyagának képlete
■
a ZH feladattípusai
■
■
■
Fordítottan arányos a valószínűséggel A meglepetés ereje a ZH kérdések az órákra nem járóknak a legérdekesebbek Kutya-postás Melyik a hír? 1. A kutya megharapja a postát 2. A postás megharapja a kutyát
7
Adatkezelés alapfogalmai ■
■
A számítógépen tárolt adatokból jellemzően a feldolgozás során nyerünk információt (a saját szubjektív szempontjaink alapján) Adattárolás számítógépen ■
Sokféleképpen megvalósítható ■
Fájlok, mappák A legnyilvánvalóbb adattárolási mód
Szöveges adatok, fotók ■
Van, amit nem tárolhatunk külön fájlokban Felmerül az igény egy egységes, struktúrált adatkezelési módszerre Tipikusan sok hasonló, azonos struktúrájú adat esetén pl. névjegyek bank: aláírásminta, szerződések, utalások adatai
8
Adatkezelési elvárásaink Nagymennyiségű adatok hatékony kezelése ● ”Korlátlan” mennyiségű adat tárolása (Neptun, Google, Youtube, Amazon) ● Helyszükséglet: elfogadható maximális méret (megtűrt redundancia) ○ pl. GPS készülék háttértár-igénye ● Egyes funkciók gyorsításához sokszor további helyfoglalás árán redundáns adatokat tárolunk ● Tömörítés: lassabb működés ● Egyensúly kialakítása (GPS útvonaltervezés, memóriaigény) ○ Válaszidő: optimális 1 s, megtűrt pl. 20 s, 1 h vagy 1 nap ● Progress bar, % kijelzés, email értesítés
9
Adatkezelési elvárásaink ● Konkurens hozzáférés támogatása jellemzően nem személyes használat, hanem sok felhasználó ○ Az egyes felhasználók műveletei egymástól függetlenek ○ Egyidejű hozzáférések nem vezethetnek hibákhoz ○ Lost update: a számítógépek véges sebességgel dolgoznak (A: fizetésemelés, B: jutalom)
10
Adatkezelési elvárásaink ● Integritásőrzés az adatok következetességének megőrzése ○ ○ ○ ○
raktárkészlet >= 0 az Info2 tárgyat csak az veheti fel, aki levizsgázott Info1-ből lopott autó tulajdonosát nem lehet átírni halott ember nem kaphat nyugdíjat
11
Adatkezelési elvárásaink ■
Adatvédelem (Safety + Security) 1. adatvesztés lehetőségének minimalizálása, kizárása fizikai védelem, izolált mentések mentések gyakorisága (feladatfüggő: banki ingatlanok, tranzakciók) 2. jogosulatlan hozzáférések megakadályozása írási és olvasási jellegű hozzáférések jelszavak védelem a hálózat felől helyszín szerinti védelem (igazgatói iroda vs. könyvtár)
12
Adatkezelési elvárásaink Szabványosság ● Gyors betanulás, kezelés, fejlesztés ○ Új mobiltelefon, autó, szoftver használata ○ Fejlesztés új operációs rendszer alá, új szoftverekkel ● Adatcsere különböző eszközök, szoftverek között ○ jó és rossz példák ○ nemzetközi nyilvántartások... Kényelem az előzőekből következik...
13
Adatkezelési elvárásaink ■
Nagymennyiségű adatok hatékony kezelése
■
Konkurens hozzáférés támogatása
■
Integritásőrzés
■
Adatvédelem (Safety + Security)
■
Szabványosság
■
Kényelem
Az adatainkat kényelmesen, bármikor, bárhonnan el akarjuk érni úgy, hogy a rugalmas rendszer egyébként minden véletlen hibát és szándékos károkozást akadályozzon meg, az adataink pedig csak a jogosultaknak legyenek hozzáférhetők. Mindezt gyorsan és minimális erőforrásigénnyel… 14
Adatbázis modellek Modell: a valóság leképezése, a fontos tulajdonságok alapján
A valóság olyan matematikai vagy tárgyi leképezése, ami a modellalkotó számára fontos tulajdonságokban egyezést utat a valósággal.
Modellalkotás: a tudományos élet, kutatás, fejlesztés bevált vizsgálati módszere Matematikailag kidolgozott fogalmak, eszközök Áttekinthető, rugalmas
15
Adatbázis modellek Codd (IBM), 1970. függetlenedési kísérlet a fizikai tárolástól, az adatokat logikai szinten kezelte ■
3 fő komponens: adatstruktúra, műveletek, integritási feltételek
■
Adatbázis := az adott adatkezelési- tárolási feladathoz tartozó összes adat pl. a könyvtár könyv-adatbázisa (valószínűleg dolgozói bérek nem itt...)
16
Adatbázis fogalma ■
Adatbázis Integrált adatrendszer, mely több különböző egyed előfordulásainak adatait valamely adatmodell szerinti struktúrában tárolja a kapcsolatleíró elemekkel és egyéb metaadatokkal együtt, melyek a hatékonyság, integritásőrzés, az adatvédelem biztosítását szolgálják. Jelölése: DB (database)
17
Adatbáziskezelő fogalma ■
Adatbáziskezelő rendszer (database management system, DBMS):
Olyan programrendszer, amelynek feladata az adatbázishoz történő szabályozott hozzáférés biztosítása és az adatbázis belső karbantartási műveleteinek végrehajtása. Más szóval:
Az a program, amivel az adatbázishoz hozzáférhetünk és azt használni tudjuk. 18
Általános adatkezelés A DBMS tématerület független
19
Ismert adatbáziskezelők ■
■
A teljesség igénye nélkül néhány ismert név: Oracle Hagyományos nagyvállalati, minden igényt kielégítő (1977-től)
■
Microsoft SQL (1989-től)
■
IBM DB2
■
MySQL: rendkívül jól skálázható professzionális rendszer (1995-től) Ingyenes (közösségi) változat is! Igény szerint céges support A LAMP része (Linux-Apache-MySQL-PHP/Python) apt-get install apache2 php5 mysql-server
■
PostgreSQL
■
Desktop adatbáziskezelők Microsoft Access Libreoffice Base 20