Adatbázis tervezése
(Database Design II.)
Fizikai adatbázis
A fizikai adatbázis tervezés a fizikai adatbázis struktúra felépítésére fekteti a hangsúlyt, beleértve az adatbázis környezet beállítását valamint a megfelelő biztonságnyújtást. A fizikai adatbázisról és tervezéséről a következő előadáson lesz szó.Forrás: https://dea.lib.unideb.hu/dea/bitstream/handle/2437/85131/IntelligensAdatt%E1rh%E1zak.pdf;jsessionid=DFD42DA9879CA67006B0C48588C92F6C?sequence=1
Logikai adatbázis
Emlékeztető: Ez nem más, mint a való világ egy darabjának leképezése, egy sajátos modell, ahogyan az adatbázis tükrözi a valóság egy részét. A fogalmi adatbázis van szorosabb kapcsolatban azzal, ahogyan az adatokat értelmezni kell. (Lásd: előző előadás)
Adattárház
Különböző tranzakciós adatokból származtatott adatokat tárol egységes formában időbeli változásuk és felhasználási területük szerint csoportosítva.„Az adattárház egy témaorientált, integrált, történeti, nem változó adatgyűjtemény, amelyet elsősorban a döntéshozatalban használnak” (W.H. Inmon).Adatkinyerés a tranzakciós (vagy más vállalat-működtetési) rendszerekbőlA kinyert adatok átformálása riport (beszámoló) készítés számáraA riportok, beszámolók elérhetővé tétele a döntéshozók számára.Az adattárházat egészen kis mérettől kifizetődő építeni (kisebb adattárház kisebb költségbe is kerül). Elkészítését az iparág határozza meg leginkább, azonban egy 50-100 fős cégnél már előnyökkel járhat.Forrás: előadás http://www.uni-corvinus.hu/index.php?id=41618&type=p&file_id=542https://nws.niif.hu/ncd2002/docs/ehu/84/.
aTulajdonságok
Tárgyorientált: Cél hogy segítsen az adatok elemzésében. Témakörök, felhasználók (pl. beszerzés, eladás, árukészlet,) szerint orientált.Integrált: Különböző forrásból származó adatokat egységes formába kell transzformálnia.Nem illékony: Amelyik adat egyszer bekerült az adattárházba, azok a továbbiakban nem fognak változni. Ez logikus, hiszen az adattárház célja, hogy lehetővé tegye számunkra, hogy az adatok elemzésével következtessünk múltbéli történésekreIdőben változó: Annak érdekében, hogy trendeket fedezhessenek fel, az elemzőknek nagy mennyiségű adatra van szükségük. Ez teljesen ellentétes az online tranzakció feldolgozó rendszerekkel (OLTP), ahol a teljesítmény megköveteli azt az igényt, hogy a hisztorikus adatokat archiváljuk.Forrás:https://dea.lib.unideb.hu/dea/bitstream/handle/2437/85131/IntelligensAdatt%E1rh%E1zak.pdf;jsessionid=DFD42DA9879CA67006B0C48588C92F6C?sequence=1
Előny
Jó lehetőséget biztosít a vállalatnak arra, hogy a meglévő adathalmazt elemezve segítse a döntéshozatalai folyamatokatJó alapot biztosít az üzleti intelligencia(BI) megoldásokhoz, mivel biztosítja számukra a jó minőségű adatokatTámogatja az adatelemzést ezáltal a vállalat hatékony tudásra tehet szert, ami jobbá teheti a későbbi működéstForrás: http://docplayer.hu/208310-Az-adatta-rha-z-technolo-gia-elo-nyei-e-s-ha-tra-nyai-gyakorlati-szempontok-figyelembe-ve-tele-vel.html
Hátrány
Nagy adattárházak esetén a problémát a megfelelő teljesítmény nyújtása adja. Nem ritka, hogy az adattárházban található adatbázisok összmérete több 10 terabájtos értéket érnek elOperatív döntéshozatalra nem célszerű, mert az elemzések hosszú ideig is elhúzódhatnakRendkívüli erőforrásigénye miatt csak nehezen és költségesen valósítható megForrás:http://docplayer.hu/208310-Az-adatta-rha-z-technolo-gia-elo-nyei-e-s-ha-tra-nyai-gyakorlati-szempontok-figyelembe-ve-tele-vel.html
OLTP
A hagyományos online adatbázis-rendszerek fő feladata az online tranzakciók és lekérdezések megvalósítása. Ezeket a rendszereket online tranzakció feldolgozó (OLTP, on-line transaction processing) rendszereknek nevezzük. Ide sorolhatók pl. a raktárnyilvántartások, szállítási nyilvántartások, könyvtár kölcsönzési adatbázisa, számlanyilvántartó rendszerek, filmkatalógusok és így tovább.Központi fogalmuk a tranzakció végrehajtás, a következő értelemben: az adatbázis objektumainak állapotát a felhasználók konkurens módon végrehajtott és egyenkénti, kis tranzakciók gyakori végrehajtásával módosítják és kérdezik le.Rengeteg SQL utasításForrás: előadáshttps://www.researchgate.net/profile/Janos_Abonyi/publication/264441999_Adatbanyaszat_a_hatekonysag_eszkoze/links/53df9baa0cf27a7b83068f52.pdf?inViewer=0&pdfJsDownload=0&origin=publication_detail
aTulajdonságok
OLTP rendszerek legfontosabb tulajdonságai:Az adatkezelés adatmódosítás orientáltAz adatbázis a modellezett rendszer aktuális állapotát tartalmazza. Egy helyjegyfoglaló rendszer esetében például az éppen foglalt és szabad helyeket tartalmazza az információs rendszer adatbázisa.Nagy a konkurencia. Például egy banki információs rendszer esetében több ügyfél is vehet ki pénzt párhuzamosan a különböző banki automatáknál.Lényeges az adatrendszer konzisztenciájának megőrzéseAz adatok normalizáltan kerülnek letárolásra. Ez azt jelenti, hogy az adatbázis megtervezése során az egymástól függetlennek tekinthető adatelemek külön táblázatba kerülnek.Forrás: http://www.tankonyvtar.hu/hu/tartalom/tamop425/0049_29_adatmodellezesi_es_adatkezelesi_technikak/3339/index.scorml
aElőny
Előnyei:Hatékony adatkezelés. Nagy adatmennyiség esetében is gyors végrehajtásBiztosított integritási elvek betartásaRugalmas tervezési és kezelési felületForrás:http://www.tankonyvtar.hu/hu/tartalom/tamop425/0049_29_adatmodellezesi_es_adatkezelesi_technikak/3339/index.scorml
aHátrány
Gondoljunk egy olyan alkalmazásra melyben egy vállalati vezetés számára kell különböző mélységű és különböző tartalmú jelentéseket készíteni a vállalat eddigi teljesítményére, tevékenységére vonatkozóan. A következő problémák merülhetnek fel:A lekérdezések tartalma gyakran változhat ezért fontos lenne, hogy a felhasználó is meg tudjon fogalmazni a gép által érthető módon kérdéseket de mivel a lekérdező felületük a relációs algebrán alapszik erre nem alkalmas.A normalizált adattárolás következtében az egyes összekapcsolódó információ elemek szétdaraboltan, több különböző táblázatba szétosztva helyezkednek elForrás: http://www.tankonyvtar.hu/hu/tartalom/tamop425/0049_29_adatmodellezesi_es_adatkezelesi_technikak/3339/index.scorml
aOrientáció
Felhasználás jellege.Az adatmodell nagyban függ attól, hogy milyen célokat szolgál az adatbázis.Az előadáson két adatbázis típust ismertünk meg ezek alapján:online tranzakció feldolgozó rendszeradattárház (lekérdezés, elemzés végrehajtása részben tranzakciós adatokból nyert hisztorikus adatok feldolgozása)Emlékeztető:Tranzakció: Több SQL-utasítás egy csoportja, amelyeket egymás után egy egységként kell végrehajtani. Annak biztosítása, hogy akár több tranzakció egyidejű végrehajtása helyesen fusson le, a tranzakció-kezelő feladata. DML utasítások (INSERT, UPDATE, DELETE) sorozata, mely kétféleképpen zárható le: vagy a COMMIT, vagy pedig ROLLBACK utasítással. Forrás: előadáshttp://www.agt.bme.hu/szakm/adatb/db6.htmhttp://centroszet.hu/tananyag/adatb_sql%20NEW/32_tranzakcik.htmlhttp://www.agt.bme.hu/szakm/adatb/db6.htm
aOLAP
On Line Analitical Processing, az online analitikai feldolgozás. A kilencvenes évek elején erősödött fel az igény az elemző, analitikai alkalmazások iránt, és ezzel együtt egy egységes módszertan és követelményrendszer felállítására.Fő célja az adatkinyerés.Forrás: http://scs.web.elte.hu/Work/DW/adattarhazak.htm#5
aAdatmodell
OLTP-re jellemző adatmodell: A legelterjedtebb módszer a tárolandó objektumok leírására az Egyed/Kapcsolat diagramm (Entity/Relationship Diagram) ami aztán könnyen transzponálható az adatbázis relációs adatmodelljébe.Normalizáltság: 1NF, 2NF, 3NF betartása kötelező ezekben a rendszerekben a módosítási, törlési és beszúrási anomáliák miatt.A tervezés során már normalizált adatszerkezetben gondolkodunk. A jobb teljesítmény érdekében néha szelektíven denormalizálunk.Olyan adatmodellt választunk, amely hűen tükrözi a „világ azon darabkájáról” alkotott fogalmainkat.Forrás: előadáshttp://scs.web.elte.hu/Work/DW/adattarhazak.htm#5
a"Összeférhetetlenség"
Üzleti szempontból az lenne hasznos (olcsó és praktikus), ha ugyanaz az adatbázis szolgálná ki az OLTP és adattárház jellegű igényeket.Megvalósítás problémái:Sok egyidejű kicsiny tranzakció ellehetetleníti a nagy lekérdezéseketOLTP és adattárház is más adatmodellt igényel(normalizált vs. csillag-séma)Indexelés is másképp működik a két rendszerbenAdattárházban nem probléma a konzisztencia, az OLTP-ben igenAz ORACLE kísérletet tett ennek a kettő rendszernek a sikeres kombinációjára(Oracle Database InMemory Option), de még nem terjedt el. ( http://3.bp.blogspot.com/-Ees_h094u4w/VC8T1BLTCOI/AAAAAAAAHIk/LCwOlS_aZfg/s1600/Dual+Purpose+in+memory.PNG)Forrás: előadás
aAdatmodellezés (Data modeling)
Az adatmodellezés egy módszer, mellyel meghatározzuk, mi kerüljön be az adatbázisba. Segíti megérteni az adatok szerkezetét. Célja, hogy olyan adatmodellt hozzunk létre, amely a megoldandó feladat szempontjából valósághűen, egyértelműen, a szükséges adatok tárolásával ábrázolja a valós világ adatait és kapcsolatait.Forrás: előadáshttps://en.wikipedia.org/wiki/Data_modeling
aAdatelemzők/adatbányászok
Eszközök
Funkciók
Adatmodellek grafikus ábráinak elkészítése, karbantartásaNem grafikus információk rögzítéseAdatmodellből fizikai adatbázisterv generálásaSzabványok alkalmazásaDokumentációForrás: előadás
Példák
Oracle: SQL Developer Data Modeller, Oracle9i DesignerSAP: PowerDesignerMicrosoft: SQL Server Management StudioForrás: előadáshttps://en.wikipedia.org/wiki/Comparison_of_data_modeling_tools
Adatbázis létrehozása
1. E-R diagram megtervezése
A szükséges adatok kiválasztása után, meghatározzuk az entitásokat, az entitások tulajdonságait meg a közöttük lévő kapcsolatokat. A több-több kapcsolatokat felbontjuk újabb relációk segítségével. A relációk legalább első normál formában való definiálása (ez szinte magától értetődő)Forrás: gyakorlat jegyzetQuittner Pál, Baksa-Haskó Gabriella :ADATBÁZISOK, ADATBÁZIS-KEZELŐ RENDSZEREKDebrecen, 2007.
2. Elsődleges és idegen kulcsok meghatározása
A relációk közötti kapcsolatok biztosítása miatt definiáljuk az idegen kulcsokat.Forrás: gyakorlati óra jegyzet
3. Normalizálás
A relációk magasabb fokú normál formába történő átalakítása.Forrás: gyakorlat
4. Az egyes entitások legfontosabb tulajdonságainak meghatározása
Az adattípus, hossz, alapértelmezés, korlátozófeltételek részletes meghatározása.Forrás:Quittner Pál, Baksa-Haskó Gabriella :ADATBÁZISOK, ADATBÁZIS-KEZELŐ RENDSZEREKDebrecen, 2007.
5. Táblák létrehozása a normalizált relációk alapján
Adatmodell létrehozása
Meg kell állapítani:modell egyedtípusait, entitásait.az egyedtípusok tulajdonságait, attribútumait.a különböző egyedtípusok között milyen kapcsolatok állnak fenn.Forrás: 5. előadás
Learning séma
Az 1NF és 2NF teljesül ebben a sémában, viszont vannak benne tranzitív függőségek.
Hibák, észrevételek
1.Az Orders relációban lévő Total_Amount attribútum nem triviális, hogy teljes funkcionális függőségben van az elsődleges kulccsal.2. A Customer relációban két hibát vélhetünk felfedezni.Az Adress attribútuma nem triviálisan atomi.Van olyan alternatív(nem elsődleges) kulcsa (Adress) amitől más oszlopok (City) funkcionálisan függnek.
Megoldás I.
Ki lehetne egészíteni a Learning sémát egy Product és Order_Item relációval, így már biztosan teljesülne a 3NF.PRODUCT(product_ID, product_name, ...,)ORDERS(order_ID, date_ordered, ...,)ORDER_ITEM(product_ID, order_ID, total_amount, one_price)
Megoldás II.
A Customer táblában lévő hibák megoldási javaslataként létre lehetne hozni egy City táblát, a mellékelt ábrán látható módon.
Adatmodell
Dimenzionális
Az adattár tervezésének egy speciális adatmodellje, ahol a ténytáblákban rögzítjük a mérőszámokat, dimenziótáblákban a mérőszámok különböző csoportosításait (dimenzióit), és rögzítjük a ténytáblák és dimenziótáblák összefüggéseit.Forrás: http://www.tankonyvtar.hu/en/tartalom/tkt/avir-kezikonyv-avir/go01.html
aCsillag
Középpontjában áll a minden elemi adatot és azok kereshető összegzéseit, származtatott adatait tartalmazó ténytáblázat (Fact table). A tény-táblázat normalizált.A központi ténytáblázathoz kapcsolódnak idegen kulccsal a dimenziók (dimension), melyek a különböző lekérdezési szempontokat írják le. Ezek nem normalizált táblázatok.Grafikusan ábrázolva a ténytáblázatot és az azt körbevevő dimenziókat egy csillagszerű alakzat rajzolódik ki.Könnyen kiterjeszthető, bővíthető, hatékony adatbázistervet szolgáltat ez a modell.Forrás: előadásQuittner Pál, Baksa-Haskó Gabriella :ADATBÁZISOK, ADATBÁZIS-KEZELŐ RENDSZEREKDebrecen, 2007.
Hópehely
A dimenziókon belüli hierarchiát is beépíthetjük a modellbe. Az így kibővített ábrázolási módot hívjuk hópehely (Snowflake) modellnek.Forrás: Quittner Pál, Baksa-Haskó Gabriella :ADATBÁZISOK, ADATBÁZIS-KEZELŐ RENDSZEREKDebrecen, 2007.
Adminisztrációt végző alkalmazottak
Adatpiacok(Data Mart)
Az egyszerűbb és gyorsabb használhatóság érdekében a rengeteg adatot tartalmazó adattárházakból gyakran redundánsan duplikálnak olyan részeket, melyek kizárólag egyes alkalmazási területek információs igényeit elégítik ki, ezeket nevezzük adatpiacnak.Az adatpiacok már az adattárházból kapják az adatokat, de olyan szerkezetben, összetételben, hogy az optimálisan megfeleljen az adott részterület (pl. eladás, beszerzés) feldolgozási igényeinek.Forrás: Quittner Pál, Baksa-Haskó Gabriella :ADATBÁZISOK, ADATBÁZIS-KEZELŐ RENDSZEREKDebrecen, 2007.
Összehasonlítás
ETL (extract, transform and load)
Az ETL fő folyamatai:az adatok kinyerése az operatív rendszerekből;az adatok transzformálása (különböző adatformátumok, nyelvek, stb.);az adatok tisztítása, minőségének ellenőrzése, előösszegzésetovábbáindexek eldobása majd újraépítésemateralizált nézetek frissítésestatisztikák kiszámításaEzeket követően az adatok adattárházba való betöltése jön. A végfelhasználók nem érik el a legfrissebb adatokat, csak azokat, amik már bekerültek az adattárházba. Jellemzően nem online adatokat tartalmaz, hanem "tegnapi" adatokat.Jellemzően éjszaka történik ezzel optimalizálva a rendszer erőforrások terhelését.Forrás: előadáshttps://dea.lib.unideb.hu/dea/bitstream/handle/2437/85131/IntelligensAdatt%E1rh%E1zak.pdf;jsessionid=DFD42DA9879CA67006B0C48588C92F6C?sequence=1
aAdatforrások
Az adattárházba különböző forrásokból, tranzakciós adatbázisokból,különféle adatfájlokból, esetenként közvetlen inputból kerülnek be az adatok. Ugyancsak innen kerülnek be az adatok értelmezésére szolgáló adatleírások, az úgynevezett metaadatok is.Forrás:Quittner Pál, Baksa-Haskó Gabriella :ADATBÁZISOK, ADATBÁZIS-KEZELŐ RENDSZEREKDebrecen, 2007.
Külső adatforrás
A vállalathoz közvetlenül nem kötődő adatokat jelenítenekmeg, mint az időjárási vagy gazdasági információk.Forrás: https://www.academia.edu/7922006/Adatb%C3%A1ny%C3%A1szat_a_hat%C3%A9konys%C3%A1g_eszk%C3%B6ze
Független adatpiacok
Egy olyan adattár, mely egy lokális, jól körülhatárolt témájú, meghatározott felhasználói csoport részére konkrét feladatot lát el.Forrás: https://www.academia.edu/7922006/Adatb%C3%A1ny%C3%A1szat_a_hat%C3%A9konys%C3%A1g_eszk%C3%B6ze
Adatbányászat
Olyan elemző eszközök és technológiák, amelyek lehetővé teszik a felhasználó számára fontos, új információk meghatározását az adatbázisok, illetve adattárházak adataiból.Az adatbányászat célja az, hogy miként lehet nagyadatbázisokban• rejtett tudást,• új összefüggéseket,• eddig nem ismert szabályokat,• nem várt mintákat felfedezni.Forrás: Quittner Pál, Baksa-Haskó Gabriella :ADATBÁZISOK, ADATBÁZIS-KEZELŐ RENDSZEREKDebrecen, 2007.