online adatbázisok

72
Online adatbázisok 2012.02.14.

Upload: zareh

Post on 14-Jan-2016

39 views

Category:

Documents


0 download

DESCRIPTION

Online adatbázisok. 2 012.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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Online  adatbázisok

Online adatbázisok

2012.02.14.

Page 2: Online  adatbázisok

Témakörök

Adatbázis alapok Rekord, mező, adattábla, adatbázis Normalizálás

OLAP, OLTPAdatbányászatAdatbázisokOffline munka

Page 3: Online  adatbázisok

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.

Page 4: Online  adatbázisok

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.

Page 5: Online  adatbázisok

Adatmodellezés

EgyedTulajdonságokEgyedhalmazKulcsKapcsolatokMegszorítások

Page 6: Online  adatbázisok

Kapcsolatok

1:1 típusú kapcsolat

Page 7: Online  adatbázisok

Kapcsolatok

1:N típusú kapcsolat

Page 8: Online  adatbázisok

Kapcsolatok

N:M típusú kapcsolat

Page 9: Online  adatbázisok

Megszorítások

KulcsokEgyértékűségi megszorításokHivatkozási-épség megszorításokÉrtékkészlet megszorításokÁltalános megszorítások

Page 10: Online  adatbázisok

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.

Page 11: Online  adatbázisok

Relációs adatbázisokAz adatmodell elemeinek

megfeleltethetők a reláció elemei

Oszlopok (tartományok) – tulajdonságok

Sorok – egyedek

Táblázat - egyedhalmaz

Page 12: Online  adatbázisok

Relációs adatbázisok

A reláció tulajdonságaiMinden cellában egyetlen érték szerepelA sorok és oszlopok sorrendje a modell szempontjából közömbösEgy relációban nem lehet két teljesen azonos sorRendelkeznie kell kulccsal

Page 13: Online  adatbázisok

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

Page 14: Online  adatbázisok

Relációs adatbázisok

Kulcstípusok

Egyszerű kulcsÖsszetett kulcs

Elsődleges kulcsIdegen kulcs

Page 15: Online  adatbázisok

Relációs adatbázisok

Egyszerű kulcsegyetlen tulajdonságból áll

Összetett kulcskét, vagy több tulajdonság alkotja

Page 16: Online  adatbázisok

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

Page 17: Online  adatbázisok

Példa idegen kulcsra

A Hallgatók táblában a karkód idegen kulcs

Page 18: Online  adatbázisok

Kapcsolatok megvalósítása a relációs adatmodellben1:1 kapcsolatAz egyik egyedhalmazban szerepel a másik egyedhalmaz elsődleges kulcsa, és egyértékűségi megszorítás vonatkozik rá.

1:N kapcsolatAbban 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.

Page 19: Online  adatbázisok

Kapcsolatok megvalósítása a relációs adatmodellben

N:M kapcsolatKapcsoló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.

Page 20: Online  adatbázisok

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éseA szükségtelen redundancia megszüntetéseA legszűkebb kulcs kiválasztásaAz adatok közötti belső függések csökkentése

Page 21: Online  adatbázisok

Függőségek

Függés

Teljes függés

Tranzitív függés

Page 22: Online  adatbázisok

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

Page 23: Online  adatbázisok

Normál formák

Page 24: Online  adatbázisok

Normalizálási eljárás

Page 25: Online  adatbázisok

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ő)

Page 26: Online  adatbázisok

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ő)

Page 27: Online  adatbázisok

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)

Page 28: Online  adatbázisok

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)

Page 29: Online  adatbázisok

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

Page 30: Online  adatbázisok

Relációalgebra

Projekció (vetítés)Szelekció (kiválasztás)EgyesítésMetszetÖsszekapcsolás Direkt szorzat Természetes összekapcsolás

Page 31: Online  adatbázisok

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.

Page 32: Online  adatbázisok

Az adatbáziskezelő rendszer

Page 33: Online  adatbázisok

Az adatbáziskezelő rendszer feladatai

LétrehozásKarbantartásVisszakeresés, feldolgozásAdatvédelemSzinkronizáció

Page 34: Online  adatbázisok

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

Page 35: Online  adatbázisok

AdatvédelemIntegritá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

Page 36: Online  adatbázisok

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.

Page 37: Online  adatbázisok

Konkurens műveletek

Mi történne, ha ugyanazt a sort egy időben két felhasználó módosítaná?

Page 38: Online  adatbázisok

Konkurens műveletek

Page 39: Online  adatbázisok

Konkurens műveletek

Page 40: Online  adatbázisok

Konkurens műveletekZá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

Page 41: Online  adatbázisok

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

Page 42: Online  adatbázisok

Az adatbázis belső szerkezete

Index készítése

Page 43: Online  adatbázisok

Hallgatókód szerinti indexIndex-tábla

Page 44: Online  adatbázisok

Név szerinti indexIndex-tábla

Page 45: Online  adatbázisok

Több szintű index

Page 46: Online  adatbázisok

Adatbáziskezelő rendszerek

A különböző adatbáziskezelő rendszerek különböző belső felépítésű adatbázist hoznak létreA belső felépítés gyakran verziónként is változikEgy adatbázist csak a saját adatbáziskezelő szoftverével (ABKR) lehet működtetniAz 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

Page 47: Online  adatbázisok

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

Page 48: Online  adatbázisok

A legelterjedtebb relációs adatbáziskezelő rendszerek

ORACLE Oracle Database 11g (2007)

IBM DB2 Informix

Microsoft SQL Server 2008 Access – felhasználói felület

Microsoft Jet MSSQL szerver

Sybase

Page 49: Online  adatbázisok

Relációs adatbáziskezelő rendszerek

Piaci részesedés 2007-ben

Fejlesztő cég Millió dollár

Oracle 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

Page 50: Online  adatbázisok

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.

Page 51: Online  adatbázisok

Osztott adatbázisok

Page 52: Online  adatbázisok

Osztott adatbázisok

Page 53: Online  adatbázisok

Osztott adatbázisok

Tranzakciókezelés

Két fázisú COMMIT

Page 54: Online  adatbázisok

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.

Page 55: Online  adatbázisok

Adattárházak

OLTP (Online Transaction Processing)OLAP (OnLine Analitical Processing)

Page 56: Online  adatbázisok

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.

Page 57: Online  adatbázisok

Adattárház

Page 58: Online  adatbázisok

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)

Page 59: Online  adatbázisok

Többdimenziós

(multidimenzionális) adatmodell Egy 3 dimenziós modell

Page 60: Online  adatbázisok

Többdimenziós

(multidimenzionális) adatmodell

Szeletelés

Page 61: Online  adatbázisok

Többdimenziós (multidimenzionális) adatmodell

Szeletelés

Page 62: Online  adatbázisok

Többdimenziós adatmodell – Csillag séma

Csillag séma

Page 63: Online  adatbázisok

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

Page 64: Online  adatbázisok

Adattárházkezelő rendszerek

ORACLEIBMTeradata Enterprise Data Warehouse

Microsoft Commerce Server 2007

Page 65: Online  adatbázisok
Page 66: Online  adatbázisok

Online adatbázisokWebterületeken elérhető publikus adathalmazok, web-böngészővel hozzáférhetők http avagy https protokollon keresztülCsak 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)

Page 67: Online  adatbázisok

Technikai háttérA 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.

Page 68: Online  adatbázisok

Elérhető adatbázisokKSH, AKI, EUROSTAT, FAOSTAT, UNECE, data.un.orgportfolio.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.huTé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

Page 69: Online  adatbázisok

LetöltésStruktú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 adottCsak letölthető – ami van, jobb esetben xls, csv, de többnyire: html, pdf (pl.képként, nem nyomtatható beállítással!), stb.

Page 70: Online  adatbázisok

Offline munkaLegrosszabb 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ó

Page 71: Online  adatbázisok

Offline munka 2.

Egyszerűbb esetben: szűrő vagy pivotBonyolultabb 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….)

Page 72: Online  adatbázisok

Példák

Idősorok letöltése (faostat.fao.org)oraallasok.xlsUnece.org xlsOrarend.xls Valamelyik évf.órarendje Valamelyik oktató órarendje Valamelyik terem beosztása