online adatbázisok
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 PresentationTRANSCRIPT
Online adatbázisok
2012.02.14.
Témakörök
Adatbázis alapok Rekord, mező, adattábla, adatbázis Normalizálás
OLAP, OLTPAdatbányászatAdatbázisokOffline 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
EgyedTulajdonságokEgyedhalmazKulcsKapcsolatokMegszorítások
Kapcsolatok
1:1 típusú kapcsolat
Kapcsolatok
1:N típusú kapcsolat
Kapcsolatok
N:M típusú kapcsolat
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
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ázisokAz 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á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
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 kulcsIdegen kulcs
Relációs adatbázisok
Egyszerű kulcsegyetlen tulajdonságból áll
Összetett kulcské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 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.
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.
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
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 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ő)
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ésMetszetÖ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ásKarbantartásVisszakeresés, feldolgozásAdatvédelemSzinkronizá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é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
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ű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
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
Az adatbázis belső szerkezete
Index készítése
Hallgatókód szerinti indexIndex-tábla
Név szerinti indexIndex-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é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
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 11g (2007)
IBM DB2 Informix
Microsoft SQL Server 2008 Access – felhasználói felület
Microsoft Jet MSSQL szerver
Sybase
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
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
ORACLEIBMTeradata Enterprise Data Warehouse
Microsoft Commerce Server 2007
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)
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.
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
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.
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ó
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….)
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