750 likes | 905 Views
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.
E N D
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 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é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
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é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 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 • 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 • 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 – 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 index Index-tábla
Név szerinti index Index-tábla
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 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
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.