ADATBÁZISOK, ADATTÁRHÁZAK 1 Adattárolás Háttértárak Fájlok Fájlkezelő rendszer 2 Adattárolás Az adatok, információk bináris formában kerülnek tárolásra. Értelmezés kérdése, hogy egy bitsorozatnak milyen jelentést tulajdonítunk. 1
Adattípusok Bitsorozat: 00100001 Jelentése: Bináris szám: 65 Szöveg: A Dátum: 1900.03.05. Adatszervezési alapfogalmak Logikai adatleírás Adatmező Jellemzői: mezőnév, típus, méret Példa: Mezőnév: Név Születési dátum Átlag Típus: szöveg dátum szám Méret: 40 3,2 (3 jegy, amiből 2 a tizedes) Adatszervezési alapfogalmak Rekord Az összetartozó adatmezők összessége. Példa: Kis Jolán 1992.02.03. 4,2 2
Adatszervezési alapfogalmak Fájl Azonos típusú rekordok összessége. Kis Jolán 1992.02.03. 4,2 Nagy Zoltán 1991.04.06. 3,9 Tóth Mari 1992.05.15. 4,4 Az adatbázis fogalma Az adatbázis együtt tárolt, egymással kapcsolatban levő adatok rendszere. Az adatok meghatározott szerkezet szerint kerülnek tárolásra, ez a szerkezet az adatbázis struktúrája. A struktúra leírását szintén az adatbázisban tárolják, ezt az adatbázis sémájának nevezzük. A séma leírására szolgáló adatokat metaadatoknak nevezzük. 8 Adatmodellezés Az adatmodellezés olyan eljárás, melynek során a valós világ tényeit és összefüggéseit tükröző adatok lényeges sajátosságait és lényeges összefüggéseit emeljük ki. Eredménye az adatmodell. Az adatbázisok mindig valamilyen adatmodellen alapulnak. 9 3
Adatmodellezés Egyed Tulajdonságok Egyedhalmaz Kulcs Kapcsolatok Megszorítások 10 Kapcsolatok 1:1 típusú kapcsolat 11 Kapcsolatok 1:N típusú kapcsolat 12 4
Kapcsolatok N:M típusú kapcsolat 13 Megszorítások Kulcsok Egyértékűségi megszorítások Hivatkozási-épség megszorítások Értékkészlet megszorítások Általános megszorítások 14 Relációs adatbázisok Azt az adatmodellt, amely az adatok táblázatos ábrázolásán alapul, relációs adatmodellnek nevezzük. A relációs adatmodellben minden egyes reláció egy névvel ellátott táblázat. 15 5
Relációs adatbázisok Az adatmodell elemeinek megfeleltethetők a reláció elemei Oszlopok (tartományok) tulajdonságok Sorok egyedek Táblázat - egyedhalmaz 16 Relációs adatbázisok A reláció tulajdonságai Minden cellában egyetlen érték szerepel A sorok és oszlopok sorrendje a modell szempontjából közömbös Egy relációban nem lehet két teljesen azonos sor Rendelkeznie kell kulccsal 17 Relációs adatbázisok A táblázat struktúrájának leírása Oszlopnév Típus Karakteres Numerikus Dátum Hosszú karakteres OLE, BLOB Méret Megszorítások 18 6
Relációs adatbázisok Egyszerű kulcs egyetlen tulajdonságból áll Összetett kulcs két, vagy több tulajdonság alkotja 19 Relációs adatbázisok Elsődleges kulcs az a tulajdonság, vagy tulajdonságcsoport, amelyet a tábla sorainak azonosítására használunk (a lehetséges kulcsok közül választjuk) Idegen kulcs egy másik tábla elsődleges kulcsa 20 Példa idegen kulcsra A Hallgatók táblában a karkód idegen kulcs 21 7
Kapcsolatok megvalósítása a relációs adatmodellben 1:1 kapcsolat Az egyik egyedhalmazban szerepel a másik egyedhalmaz elsődleges kulcsa, és egyértékűségi megszorítás vonatkozik rá. 22 1:1 típusú kapcsolat egyetemek rektorok Egyetem tábla Egyetemkód Név Cím Rektorkód SZIE Szent István Egyetem Gödöllő R1254 2006 BCE Budapesti Corvinus Egyetem A rektorkódra egyértékűségi megszorítást kell tenni. Budapest R4215 2005 Kinevezés éve 23 Kapcsolatok megvalósítása a relációs adatmodellben 1:N kapcsolat Abban az egyedhalmazban szerepel idegen kulcsként a másik egyedhalmaz elsődleges kulcsa, amelyik egy egyedéhez csak egy egyed kapcsolódhat a másik egyedhalmazból 8
1:N típusú kapcsolat általános iskolák tanulók Tanuló tábla Tanulókód Név Születési dátum Iskolakód T1230 Kis Pál 1998.01.01. OM1425 T5436 Nagy Edit 1996.02.02. OM2235 25 Kapcsolatok megvalósítása a relációs adatmodellben N:M kapcsolat Kapcsolótáblát kell bevezetni, amelynek sorai a két egyedhalmaz összetartozó egyedeinek elsődleges kulcsát tartalmazzák. A kapcsolótábla mindkét egyedhalmazzal 1:N típusú kapcsolatban áll. 26 N:M típusú kapcsolat hallgatók tantárgyak Kapcsolótábla Hallgatókód H123 H123 H215 Tantárgykód T45 T56 T45 27 9
Normalizálás, normál formák Cél: az adatok felépítésében rejlő logikai és strukturális problémák kiszűrése A szükségtelen redundancia megszüntetése A legszűkebb kulcs kiválasztása Az adatok közötti belső függések csökkentése 28 Függőségek Függés B B 1 B 2 B 3 A A 29 Teljes függés B 1 B 2 B 3 A Vizsga Hallgatókód, Tárgykód, Dátum Jegy 10
Tranzitív függés B C A Munkabér Dolgozókód, Órabér, Hónap, Óraszám, Bér Elsődleges kulcs: Dolgozókód, Hónap Órabér, Óraszám -> Bér Tranzitív függés! Normál formák Első normál forma Minden cellában egy elemi érték szerepel Második normál forma Minden tulajdonság az összetett kulcs teljes egészétől függ Harmadik normál forma Nem tartalmaz tranzitív függést, vagyis minden tulajdonság csak az elsődleges kulcstól függ 32 Normál formák 33 11
Normalizálási eljárás 34 Egy normalizálási feladat RENDELÉSEK (Rendelés száma, dátuma, vevő neve, vevő kódja, vevő címe, számlaszáma, cikkszám, megnevezés, mennyiségi egység, egységár, megrendelt mennyiség, szállítási határidő) 35 Egy normalizálási feladat RENDELÉS-1 1NF (Rendelés száma, dátuma, vevő neve, vevő kódja, vevő címe, számlaszáma) RENDELÉS-TÉTEL (Rendelés száma, cikkszám, megnevezés, mennyiségi egység, egységár, megrendelt mennyiség, szállítási határidő) 36 12
Egy normalizálási feladat TÉTEL-1 2NF (Rendelés száma, cikkszám, megrendelt mennyiség, szállítási határidő) CIKK (Cikkszám, megnevezés, mennyiségi egység, egységár) 37 Egy normalizálási feladat RENDELÉS 3NF (Rendelés száma, dátuma, vevő kódja) VEVŐ (Vevő kódja, vevő neve, vevő címe, számlaszáma) 38 A normalizálás előnyei Kevesebb redundancia Kiküszöböli a módosítási és a törlési anomáliákat 39 13
Az információs rendszer adatai Törzsadatok (Master data Reference data) Az információs rendszer alapadatai. Általában egy fizikai, vagy virtuális objektumot írnak le. Értékük viszonylag állandó. Törzsadat-menedzsment (Master Data Management MDM) 40 Az információs rendszer adatai Tranzakciós adat (Transaction data) Egy eseményt, tranzakciót ír le, mindig tartozik hozzá egy időérték, és hivatkozik a rendszer egy, vagy több objektumára (törzsadatára). 41 Az információs rendszer adatai Törzsadatok: Termékek, Vevők Tranzakciós adatok: Rendelés, Rendelés részletei 42 14
Az adatbáziskezelő rendszer Az adatbázisok speciális szerkezetű fileokból épülnek fel. Az adatbáziskezelő rendszer egy programcsomag, amely egy bonyolult filekezelő rendszer. 43 Az adatbáziskezelő rendszer 44 Az adatbáziskezelő rendszer feladatai Létrehozás Karbantartás Visszakeresés, feldolgozás Adatvédelem Szinkronizáció 45 15
Tranzakciókezelés A tranzakció egy felhasználó által végzett karbantartó műveletek sorozata. A tranzakció lezárása COMMIT megerősítés ROLLBACK törlés Autocommit 46 Tranzakciókezelés Commit Rollback 47 Adatvédelem Integritás Az adatok helyességének, összefüggéseinek ellenőrzése Illetéktelen hozzáférés kizárása Felhasználói jogok Objektum jogok Fizikai védelem Mentés Tükrözés 48 16
Mentés Teljes mentés Részleges mentés 49 On-line mentés Adatbázis Teljes mentés 50 Tükrözés Az adatbázis több példányban létezik fizikailag más más adathordozókon A módosítások párhuzamosan megtörténnek minden példányon 51 17
Interaktív adatbáziskezelő rendszerek Az interaktív adatbáziskezelés egyik legnagyobb problémája az adatok olyan fizikai szervezésének kialakítása, amely nagy mennyiségű adat esetén is gyors válaszadást biztosít. 52 Az adatbázis belső szerkezete Index készítése 53 Hallgatókód szerinti index Index-tábla 54 18
Név szerinti index Index-tábla 55 Több szintű index 56 Konkurens műveletek Mi történne, ha ugyanazt a sort egy időben két felhasználó módosítaná? 57 19
Konkurens műveletek 58 Konkurens műveletek 59 Konkurens műveletek Zárolás (lock - unlock) A legkisebb zárolható egység a sor Zárolható egy tábla, vagy az egész adatbázis A zárolt sort más felhasználó olvashatja 60 20
Konkurens műveletek Patthelyzet (deadlock) A B Sor1 Sor2 61 Konkurens műveletek Optimisztikus konkurenciakezelés Kódmező, amely minden visszaíráskor megváltozik 62 Aktív elemek az adatbázisban Működő elemek, programok Megszorítások ellenőrzése Triggerek meghatározott adatmódosulások esetén működésbe lépő programok 63 21
Adatbáziskezelő rendszerek A különböző adatbáziskezelő rendszerek különböző belső felépítésű adatbázist hoznak létre A belső felépítés gyakran verziónként is változik Egy adatbázist csak a saját adatbáziskezelő szoftverével (ABKR) lehet működtetni 64 Adatbáziskezelő rendszerek Az adatbázisok átalakíthatók Egy újabb verzió által kezelt felépítésre Esetenként másik ABKR által kezelt felépítésre 65 Relációs adatbáziskezelő rendszerek SQL lekérdező nyelv A relációs adatbáziskezelő rendszerek döntő többsége ezt használja DDL DML DQL TCL Interpreter 66 22
A legelterjedtebb relációs adatbáziskezelő rendszerek ORACLE Oracle Database 12c (c - cloud) IBM DB2 Informix Microsoft SQL Server 2012 Access felhasználói felület Microsoft Jet MSSQL szerver Sybase 67 Relációs adatbáziskezelő rendszerek Fejlesztő cég Gartrner IDC Oracle 33,8 % 46 % IBM 30 % 23,6 % Piaci részesedés 2012-ben két piackutató cég becslése szerint Microsoft 13,9 % 6,7 % Gartner Inc. - Informatikai piackutató és tanácsadó cég International Data Corporation (IDC) - Piackutató és tanácsadó cég 68 Kliens szerver architektúra Az adatbáziskezelő rendszer a szerveren működik 69 23
Alkalmazás-szerver 70 Alkalmazás-szerver Front-end alkalmazások A kliens gépeken futó alkalmazások Egyszerű programok, alapvetően az adatbevitelt és az adatok megjelenítését végzik Back-end alkalmazások Az alkalmazásszerveren futó alkalmazások Bonyolultabb feldolgozások 71 Osztott adatbázisok Az osztott adatbázis: különböző adatbázis-szerverek által vezérelt adatbázisok hálózata, amely a felhasználó számára egy logikai adatbázisként jelenik meg. 72 24
Osztott adatbázisok 73 Osztott adatbázisok 74 Osztott adatbázisok Tranzakciókezelés Két fázisú COMMIT 75 25
Internetes adatbázisok Web-es felület JDBC protokoll Lehetővé vált, hogy az adatbázis és az adatbáziskezelő rendszer nem a felhasználó cég számítógépén, hanem egy szolgáltató, vagy az alkalmazást fejlesztő szoftver-ház számítógépén kerüljön elhelyezésre, ott működjön. 76 Adattárházak OLTP (Online Transaction Processing) műveleti adatbázisok OLAP (OnLine Analitical Processing) adattárházak 77 Adattárházak OLTP Aktuális állapot Kisebb adatmennyiség Karbantartás Sok rövid tranzakció Sok konkurens művelet Homogén adatforrás Archívum OLAP Nagy adatmennyiség Lekérdezés Kevesebb, hosszabb időt igénylő lekérdezések Kevés konkurens művelet Heterogén adatforrás 78 26
Adattárház Az adattárház rendszer egy témaorientált, integrált adatrendszer, melynek elsődleges célja az adatok lekérdezésének, elemzésének támogatása. Az adattárházban a különböző forrásból származó adatok egy adatmodellbe kerülnek integrálásra. 79 Adattárház 80 Adattárház Kezelő rendszerének feladatai Adattisztítás Betöltés, frissítés Lekérdezések adatbányászat (data mining) o összegzés felfelé (aggregálás, drill up) o az adatok bontása lefelé (lefúrás, drill down) 81 27
Többdimenziós (multidimenzionális) adatmodell Egy 3 dimenziós modell 82 Többdimenziós (multidimenzionális) adatmodell Szeletelés 83 Többdimenziós (multidimenzionális) adatmodell Szeletelés 84 28
Többdimenziós adatmodell Csillag séma 85 Többdimenziós adatmodell Hópehely séma 86 Adattárházkezelő rendszerek Teradata ORACLE IBM 87 29
88 Az adatbáziskezelő rendszerek üzemeltetése Az adatbázis-felügyelő fő feladatai: Az adatbázis kialakítása Az adatbázis struktúrájának igény szerinti módosítása A felhasználók segítése Az adatok védelme mentés, helyreállítás Az adatbázis használatának figyelése, a hatásfok csökkenése esetén az adatbázis újraszervezése. 89 Adatbázis-felügyelő Adatadminisztrátor az adatbázis megszervezésével és alkalmazásával kapcsolatos feladatokat látja el, konzultál a felhasználókkal Rendszeradminisztrátor a számítógéppel kapcsolatos feladatokkal foglalkozik 90 30
Üzleti szoftverek Ügyviteli szoftverek Üzleti Intelligencia (BI) Felhő technológia Big data technológia Big data technológia Nagyméretű adathalmazok hatékony kezelésére kidolgozott technológia Osztott adatkezelés Párhuzamos feldolgozás Üzleti szoftverek Microsoft Oracle SAP 31