Adatbázis-kezelés Dr. Fülep Dávid SELECT id FROM tantargy WHERE intezmeny = sze ORDER BY hasznossag 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 Szorgalmi hét Előadás napja Előadás 10 2017. 04. 11. 1. előadás 11 2017. 04. 18. 2. előadás 12 2017. 04. 25. 3. előadás 13 2017. 05. 02. 4. 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 Példa: Egy gyógyszer fő hatóanyagának képlete Példa: A ZH feladattípusai Fordítottan arányos a valószínűséggel A meglepetés ereje Példák: A ZH kérdések az órákra nem járóknak a legérdekesebbek... Melyik a hír? (Miért?) 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 Folyamatjelző sáv, % 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 Elveszett módosítás (lost update) jelenség: a számítógépek véges sebességgel dolgoznak 10
Adatkezelési elvárásaink Adatintegritás az adatok következetességének (integritásának) 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 Adatintegritá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
Modellek 15
Modellek Modell = a valóság leképezése, a fontos tulajdonságok alapján Forrás: Internet :-) 16
Modellek Modell = a valóság leképezése, a fontos tulajdonságok alapján 17
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 18
Adatbázis modellek Dr. Edgar F. Codd (IBM), 1970. függetlenedési kísérlet a fizikai tárolástól, az adatok logikai szintű kezelése 3 fő komponens: 1. adatstruktúra, 2. műveletek, 3. integritási feltételek Adatbázis := az adott adatkezelési- tárolási feladathoz tartozó összes adat Példa: a könyvtár könyv-adatbázisa (valószínűleg dolgozói bérek nem itt...) 19
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, adatintegritás, az adatvédelem biztosítását szolgálják. Jelölése: DB (database) 20
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. 21
Általános adatkezelés A DBMS tématerület független 22
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 23
Adatbázis-rendszer A DB, a DBMS és az alkalmazói programok együttese Szinte minden számítógépes rendszer mögött DBMS áll... 24