Online adatbzisok 2012 02 14 Tmakrk Adatbzis alapok
Online adatbázisok 2012. 02. 14.
Témakörök Adatbázis alapok n n Rekord, mező, adattábla, adatbázis Normalizálás OLAP, OLTP Adatbányászat Adatbázisok Offline munka
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.
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.
Adatmodellezés Egyed Tulajdonságok Egyedhalmaz Kulcs Kapcsolatok Megszorítások
Kapcsolatok 1: 1 típusú kapcsolat
Kapcsolatok 1: N típusú kapcsolat
Kapcsolatok N: M típusú kapcsolat
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
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.
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
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
Relációs adatbázisok A táblázat struktúrájának leírása n n Oszlopnév Típus w w w n n Karakteres Numerikus Dátum Hosszú karakteres OLE, BLOB Méret Megszorítások
Relációs adatbázisok Kulcstípusok Egyszerű kulcs Összetett kulcs Elsődleges kulcs Idegen kulcs
Relációs adatbázisok Egyszerű kulcs egyetlen tulajdonságból áll Összetett kulcs két, vagy több tulajdonság alkotja
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
Példa idegen kulcsra A Hallgatók táblában a karkód idegen kulcs
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á. 1: N kapcsolat Abban az egyedhalmazban szerepel idegen kulcsként a másik egyedhalmaz elsődleges kulcsa, amelyik egyedéhez csak egyed kapcsolódhat a másik egyedhalmazból.
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.
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
Függőségek Függés Teljes függés 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
Normál formák
Normalizálási eljárás
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ő)
Egy normalizálási feladat RENDELÉS-1 1 NF (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ő)
Egy normalizálási feladat TÉTEL-1 2 NF (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)
Egy normalizálási feladat RENDELÉS 3 NF (Rendelés száma, dátuma, vevő kódja) VEVŐ (Vevő kódja, vevő neve, vevő címe, számlaszáma)
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
Relációalgebra Projekció (vetítés) Szelekció (kiválasztás) Egyesítés Metszet Összekapcsolás n n Direkt szorzat Természetes összekapcsolás
Az adatbáziskezelő rendszer Az adatbázisok speciális szerkezetű fileokból épülnek fel. Az adatbáziskezelő rendszer egy programcsomag, amely egy bonyolult file-kezelő rendszer.
Az adatbáziskezelő rendszer
Az adatbáziskezelő rendszer feladatai Létrehozás Karbantartás Visszakeresés, feldolgozás Adatvédelem Szinkronizáció
Tranzakciókezelés A tranzakció egy felhasználó által végzett karbantartó műveletek sorozata. A tranzakció lezárása n n COMMIT – megerősítés ROLLBACK – törlés Autocommit
Adatvédelem Integritás n Az adatok helyességének, összefüggéseinek ellenőrzése Illetéktelen hozzáférés kizárása n Felhasználói jogok n Objektum jogok Fizikai védelem n Mentés n Tükrözés
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.
Konkurens műveletek Mi történne, ha ugyanazt a sort egy időben két felhasználó módosítaná?
Konkurens műveletek
Konkurens műveletek
Konkurens műveletek Zárolás (lock - unlock) n n n 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 Patthelyzet (deadlock) Optimisztikus konkurenciakezelés n Kódmező, amely minden visszaíráskor megváltozik
Aktív elemek az adatbázisban Működő elemek, programok Megszorítások ellenőrzése n Triggerek – meghatározott n adatmódosulások esetén működésbe lépő programok
Az adatbázis belső szerkezete Index készítése
Hallgatókód szerinti index Index-tábla
Név szerinti index Index-tábla
Több szintű index
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 Az adatbázisok átalakíthatók n Egy újabb verzió által kezelt felépítésre n Esetenként másik ABKR által kezelt felépítésre
Relációs adatbáziskezelő rendszerek SQL lekérdező nyelv n A relációs adatbáziskezelő rendszerek döntő többsége ezt használja w DDL w DML w DQL w TCL n Interpreter
A legelterjedtebb relációs adatbáziskezelő rendszerek ORACLE n Oracle Database 11 g (2007) IBM n n DB 2 Informix Microsoft n n SQL Server 2008 Access – felhasználói felület w Microsoft Jet w MSSQL szerver Sybase
Relációs adatbáziskezelő rendszerek Fejlesztő cég Oracle Millió dollár 8, 3 44, 3 % IBM 3, 95 21 % Microsoft 3, 47 18, 5 % Sybase 0, 658 3, 5 % NCR Teradata 0, 620 3, 3 % Egyéb 1, 767 9, 4 % Összesen 18, 765 Piaci részesedés 2007 -ben
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.
Osztott adatbázisok
Osztott adatbázisok
Osztott adatbázisok Tranzakciókezelés n Két fázisú COMMIT
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.
Adattárházak OLTP (Online Transaction Processing) OLAP (On. Line Analitical Processing)
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.
Adattárház
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)
Többdimenziós (multidimenzionális) adatmodell Egy 3 dimenziós modell
Többdimenziós (multidimenzionális) adatmodell Szeletelés
Többdimenziós (multidimenzionális) adatmodell Szeletelés
Többdimenziós adatmodell – Csillag séma
Többdimenziós adatmodell – Hópehely séma
Adattárházkezelő rendszerek ORACLE IBM Teradata n Enterprise Data Warehouse Microsoft n Commerce Server 2007
Online adatbázisok Webterületeken elérhető publikus adathalmazok, web-böngészővel hozzáférhetők http avagy https protokollon keresztül Csak kliensprogrammal hozzáférhető adatok és site-ok is vannak (pl. idokep. hu), illetve hozzáférés (login és pwd) esetén különböző interfészeken keresztül: ODBC, DDE, DDLE, JDBC, DBI, OCCI stb – rengeteg van, a kliens szinte minden lehet Excel, SPSS, Minitab, SAS) Tényleges technológia szempontjából: n n Statikus (pl. korábban AKI, KSH) Dinamikus (tényleges adatbázis-szerver háttér)
Technikai háttér A háttérben adatbázis szerver: n MS-SQL, Postgres SQL, Oracle, IBM DB 2, stb. ) Web-szerver (kívülre: pl. Apache) A dinamikusság, avagy a kapcsolat a kettő között (a klasszikus webserver html-eket küld le a kérőnek) különböző programnyelvek segítségével történik: php, perl (cgi-bin), asp – (MS, C#), stb.
Elérhető adatbázisok KSH, AKI, EUROSTAT, FAOSTAT, UNECE, data. un. org portfolio. hu (tőzsdei adatbázis – regisztráció kell, online adatokhoz előfizetés) idokep. hu vs. met. hu Online piacterek (ebay. com. de, Vatera, teszvesz – minden loggolódik) Apróhirdető site-ok: expressz, hasznaltauto. hu Térképek (terkepcentrum, utcakereso. hu stb. ) Útvonaltervezők (maps. google. com, utvonal. hu, map. 24. de – gráfok és hálózatok) Elearning. szie. hu avagy tki. szie. hu/oktatas: Moodle
Letöltés Struktúrálható n A letöltendő adathalmaz mezői struktúrálhatók és beállíthatók (pl. faostat. fao. org – előredefiniált nézetek is segítenek) Némi beállítás adott Csak letölthető – ami van, jobb esetben xls, csv, de többnyire: html, pdf (pl. képként, nem nyomtatható beállítással!), stb.
Offline munka Legrosszabb esetben, újra kell digitalizálni a letöltött anyagot (kézzel, avagy scan, vagy/majd OCR) => txt, csv, xls stb. ) A letöltött strukturált anyag, sem biztos, hogy számokból áll (pl. BB: webes banking) A struktúra és méret miatt sem biztos, hogy könnyen használható
Offline munka 2. Egyszerűbb esetben: szűrő vagy pivot Bonyolultabb esetben: A pivothoz szükséges alapadatstruktúra előállítása érdekében: n n Kézi munka (Ctrl-X, vagy Ctrl-C, Ctrl-V) – egy bizonyos méretig VBA makrók (Excel alatt) – a végrehajtási sebesség szinte végtelen a kézimunkához képest (programozni tudni kell…. )
Példák Idősorok letöltése (faostat. fao. org) oraallasok. xls Unece. org xls Orarend. xls n n n Valamelyik évf. órarendje Valamelyik oktató órarendje Valamelyik terem beosztása
- Slides: 72