Ajánlott irodalom Adatbázisok I. Szendrői Etelka főiskolai docens Rendszer- és Szoftvertechnológia Tanszék szendroi@pmmk.pte.hu Ullmann, Jeffry David, Adatbázisrendszerek: Alapvetés Kovács László (2004) Adatbázisok tervezésének és kezelésének módszertana, Computerbooks, Budapest Joe Celiko (2002) SQL Felsőfokon, Kiskapu Kiadó, Budapest Bódy Bence (2003) Az SQL példákon keresztül, Jedlik Oktatási Stúdió, Budapest 2 Információk kezelése Az alkalmazói programok döntő többsége információk sokaságát kezeli. Alkalmazási területek: Ipar, kereskedelem: Számlázó rendszerek raktári készlet és rendelések nyilvántartása termelésirányítás, anyaggazdálkodás ügyfél nyilvántartás Kultúra, oktatás, egészségügy: könyvtári információs rendszerek hallgatók nyilvántartása betegek nyilvántartása Közigazgatás: adónyilvántartás Közlekedés: helyjegy foglalási rendszerek Bankok: ügyfelek, pénzügyi tranzakciók nyilvántartása Tudomány: szakadatbázisok Internet szolgáltatók (Google, Yahoo, Amazon.com) követelményei (1) nagy adatmennyiség VLDB (www.vldb.org) : 400 GB < kínai telefontársaság: 1TB-os tábla 10 8 lap, 5 km hosszú polc >400 év Petabájtnyi anyagok (10 15 bájt): Google Műholdak által küldött adatok YouTube kép és videó megosztó 3 4 1
követelményei (2) hatékonyság időbeli: optimális válaszidő: < 2 s megtűrt válaszidő: < 20 s helyszükségleti: minimális redundancia szabályozott redundancia követelményei (3) konkurens hozzáférés konfliktus az erőforrások párhuzamos használatánál lost update jelensége A prog.: jutalom elhelyezése (5) B prog.: fizetés elhelyezése (3) Egymás után Párhuzamosan 5 6 követelményei (4) integritás őrzés az adatrendszer ne sértse meg az előre definiált szabályokat Szabályok: statikus: a megkötés a tárolt adatértékre vonatkozik az életkor 0 és 100 közé eső érték lehet bruttóár = nettóár + 25% áfa dinamikus: a megkötés az elvégezhető műveletekre, illetve ezek sorrendjére vonatkozik utazási iroda törlésekor törlődnek az általa szervezett utak is nem lehet felvinni tantárgyat, ha nem rendelünk hozzáoktatót követelményei (5) védelem adatvesztés elleni védelem másolatok, naplózás hozzáférés védelem bejelentkezés, titkosítás hozzáférés kontroll (jogkörök) hatékony fejlesztés rugalmasság szabványosság magas szintű programozási elemek gyorsaság 7 8 2
Adatkezelés információs rendszerekben Felvitel Törlés Módosítás Lekérdezés A nagytömegű adatok feltételeknek eleget tévő kezelését biztosító rendszereket adatbázis-kezelő rendszereknek nevezzük. Adatbázis Az adatbázis egy integrált adatrendszer, mely több különböző egyed előfordulásainak adatait adatmodell szerinti struktúrában, perzisztens módon tárolja a kapcsolat leíróelemek mellett a metaadatokkal együtt, melyek a hatékonyság, integritásőrzés, az adatvédelem biztosítását szolgálják. Jelölés : DB (database) 9 10 Adatbázis-kezelő rendszer Az adatbázis-kezelő rendszer 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. Jele: DBMS (database management system) Adatbázis rendszer Az adatbázis-kezelő rendszer, az adatbázis és az alkalmazói programok együttesét adatbázis rendszernek nevezzük. Jele: DBS (database system) parancsfelület 3 GL program A DB csak a DBMS-en keresztül érhető el legálisan. 11 4GL program 12 3
Adatbázisok használatának előnyei (1) az egyedtulajdonságok, kapcsolatok és meta-adatok egységes(integrált) tárolási rendszere: nem egy speciális alkalmazói programhoz készült, több alkalmazói program adatait összefogja nagyobb adatabsztrakció: az adatok a felhasználó szemszögéből tekintve adatmodellben tárolódnak, ezért a felhasználónak nem kell törődnie a fizikai tárolás részleteivel, egy magasabb absztrakciós szinten értelmezheti az adatrendszert 13 Adatbázisok használatának előnyei (2) adatfüggetlenség fizikai: a fizikai adatszerkezet, az elérési mód megváltoztatható anélkül, hogy a programot is módosítani kellene szintjei: rekord szintű, mezőszintű logikai: a letárolt logikai adatmodell maga is bővíthető, ill. bizonyos mértékben módosítható anélkül, hogy az alkalmazói programokat is módosítani kellene 14 Adatbázisok használatának előnyei (3) integrált adatokhoz történő párhuzamos és osztott hozzáférés: az adatmegosztás révén a helyigény is csökkenthető, és mindenki a legaktuálisabb adatokhoz férhet hozzá ellenőrzött redundancia: több alkalmazás is ugyanazt az adatbázist használja, ezért a felhasznált adatok is egy helyen, egy kézben összpontosulnak: könnyebb megőrizni a konzisztenciát, nincs felesleges helyfoglalás Adatbázisok használatának előnyei (4) hozzáférési jogosultságellenőrzés adatvédelem(statikus: mentés, dinamikus: naplózás) optimalizált fizikai adatszerkezeteket használ (javítható a műveletek gyorsasága, hatékonysága) integritási feltételek érvényesítése: az adatbázisban tárolhatjuk az adatrendszerre vonatkozó megszorításokat (integritási szabályokat); az adatbázis módosításakor automatikusan ellenőrzi a DBMS, hogy neme sérült meg valamely integritási szabály 15 16 4
Adatbázisok használatának előnyei (5) DBMS belső struktúrája szabványosság: szabványos adatmodellek és kezelőfelületek hatékony fejlesztés: számos fejlesztőeszköz áll rendelkezésre az alkalmazásfejlesztéshez rugalmasság: a szükséges változtatások gyorsan végrehajthatók 17 18 Adatbázis-kezelő rendszerek osztályozása az alkalmazott adatmodell szerint felhasználók száma szerint egyfelhasználós többfelhasználós DBMS csomópontok száma szerint egy gépen fut a DBMS osztott DBMS támogatott hardver és operációs rendszer szerint Adatmodell matematikai formalizmus, mely az adatok és az adatokon értelmezett műveletek leírására szolgál az egyes adatmodellek a kiválasztott formalizmus jellegében különböznek egymástól a gyakorlatban legelterjedtebbek: hierarchikus, hálós, relációs, objektumrelációs, objektum-orientált 19 20 5
Hierarchikus adatmodell az adatokat hierarchikus faszerkezetben tárolja(a fa mindencsomópontja egy rekordtípusnak felel meg) a modell a gyakorlati alkalmazások során fejlődött ki, ezért nincs olyan elméleti megalapozottsága mint a későbbi adatmodelleknek A modellhez kapcsolódó adatkezelő nyelvek rekordorientált adat megközelítést alkalmaztak bonyolultabb kapcsolatok ábrázolása csak kerülőutakon lehetséges a modell előnye, hogy a hierarchikus szerkezet egyszerűen leírható, és tárolása a mágnesszalagos tárolási formához is jól illeszkedik mára háttérbe szorult Hálós adatmodell a hierarchikus modell továbbfejlesztése jobban illeszkedik a bonyolultabb kapcsolatok ábrázolásához is az adatszerkezet leírása nem egy adategységgel, hanem több kisebb, hierarchikus felépítésű adategységgel történik rekordorientált adat megközelítést alkalmaz A hálós modellen alapuló DBMS-ek igen elterjedtek a nagygépes környezetekben nagy adatmennyiségek viszonylag gyors feldolgozását teszi lehetővé A kezelőnyelv bonyolultsága, viszonylag merevebb szerkezete gátolta szélesebb körben történő elterjedését 21 22 Relációs adatmodell sokkal rugalmasabb szerkezetet biztosít az adatbázis azonos rekordtípusokat tartalmazó táblákból épül fel, ahol minden tábla teljesen egyenértékű az adatdefiníciókor nincs véglegesen lerögzített kapcsolat, szerkezeti váz az egyedek közötti kapcsolatok az adatértékeken keresztül valósulnak meg a táblákon értelmezett műveletek halmazorientáltak rekordorientált műveletek is használhatók elterjedt modell: egyszerű, rugalmas, elméletileg megalapozott, szabványos kezelőfelülete van (SQL) Objektum-orientált adatmodell objektum-orientált szemléletmódot alkalmaz az egyedek sokkal szemléletesebben írhatók le az objektumokkal, mint a relációs modellben szereplő rekordokkal az objektumorientáltság a megvalósult rendszerekben lehet teljes vagy részleges(objektumrelációs) A részleges OODBMS-ek rendszerint csak strukturálisan objektum orientáltak, a funkcionális, aktív elemek csak a teljes OODBMS-ekben jelennek meg az OODBMS-ek elterjedését az egységes elméleti alapok hiánya és az implementációs nehézségek fékezik 23 24 6