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