Online_ adatbazisok

Download Report

Transcript Online_ adatbazisok

Online adatbázisok

2012.02.14.

Témakörök

Adatbázis alapok   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  Oszlopnév    Típus      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 egy egyedéhez csak egy 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 (Rendelés száma, dátuma, vevő neve, vevő kódja, vevő címe, számlaszáma) 1NF 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 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)

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)

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   Direkt szorzat Természetes összekapcsolás

Az adatbáziskezelő rendszer

Az adatbázisok speciális szerkezetű file okbó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   COMMIT – megerősítés ROLLBACK – törlés Autocommit

Adatvédelem

Integritás  Az adatok helyességének, összefüggéseinek ellenőrzése Illetéktelen hozzáférés kizárása   Fizikai védelem  Mentés  Felhasználói jogok Objektum jogok 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)    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  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  Triggerek adatmódosulások esetén működésbe lépő programok – meghatározott

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  Egy újabb verzió által kezelt felépítésre  Esetenként másik ABKR által kezelt felépítésre

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

A legelterjedtebb relációs adatbáziskezelő rendszerek ORACLE  Oracle Database 11 g IBM   DB2 Informix (2007) Microsoft   SQL Server 2008 Access – felhasználói felület  Microsoft Jet  MSSQL szerver Sybase

Relációs adatbáziskezelő rendszerek

Fejlesztő cég

Oracle IBM Microsoft Sybase NCR Teradata Egyéb

Összesen Millió dollár

8,3 3,95 3,47 0,658 0,620 1,767

18,765

44,3 % 21 % 18,5 % 3,5 % 3,3 % 9,4 % 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  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 (OnLine 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

Csillag séma

Többdimenziós adatmodell – Hópehely séma

Adattárházkezelő rendszerek

ORACLE IBM Teradata  Enterprise Data Warehouse Microsoft  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:   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:  MS-SQL, Postgres SQL, Oracle, IBM DB2, 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ó  A letöltendő adathalmaz mezői struktúrálha tó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:   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

 Valamelyik évf.órarendje   Valamelyik oktató órarendje Valamelyik terem beosztása