Ugrás a fő tartalomra

Adattárház (adatbázis) tervezés szintjei

 


A követelményspecifikáció az adattárház felépítésének kezdeti lépése, amely során információkat gyűjtünk a felhasználók adatbázisrendszerrel kapcsolatos igényeiről. A követelmények meghatározásához számos megközelítés áll rendelkezésre, mind a tudományos körök, mind a gyakorlati szakemberek részéről. Ezek a technikák segítik a szükséges és kívánatos rendszer tulajdonságok azonosítását a leendő felhasználókból, valamint elősegítik a követelmények homogenizálását és prioritások meghatározását.


A konceptuális tervezés során az adatbázist a felhasználók számára érthető és használható formában jelenítjük meg, olyan szinten, amely nem tartalmaz megvalósítási szempontokat. Ennek érdekében koncepcionális modellek alkalmazásával azonosítjuk az alkalmazás releváns fogalmait. Az entitás-kapcsolat modell az egyik legelterjedtebb fogalmi modell az adatbázis-alkalmazások tervezésében. Alternatívaként az objektum-orientált modellezési technikák is alkalmazhatók, például az UML (Unified Modeling Notation) jelölés alapján.


A logikai tervezés célja, hogy az előző fázisban kapott adatbázis koncepcionális reprezentációját lefordítsa egy olyan közös logikai modellre, amelyet több DBMS is támogat. Jelenleg a legelterjedtebb logikai modell a relációs modell. Más logikai modellek közé tartozik az objektum-relációs modell, az objektum-orientált modell és a félig strukturált modell. Ebben a kontextusban a relációs modellre fókuszálunk.


A fizikai tervezés célja az előző fázisban kapott adatbázis logikai megjelenítésének testreszabása egy adott DBMS platformra. Ez magában foglalja a táblák, indexek, partíciók és más fizikai adatstruktúrák kialakítását a rendszer optimális működése érdekében.Itt az előző fázisban kapott logikai modellt testreszabjuk és optimalizáljuk az adott adatbázis-kezelő rendszer (DBMS) számára. Ez magában foglalja a táblák létrehozását, indexek kialakítását, partícionálást és egyéb fizikai adatstruktúrák kiválasztását. A cél az, hogy a rendszer a lehető legjobb módon kihasználja az adott adatbázis-kezelő platform erőforrásait és funkcionalitását.

A fizikai adatbázis-tervezés célja annak meghatározása, hogy az adatbázis-rekordok hogyan tárolódnak, hogyan érhetők el és kapcsolódnak egymáshoz az adatbázis￾alkalmazások megfelelő teljesítményének biztosítása érdekében. A fizikai adatbázis￾tervezés többek között a lekérdezések feldolgozásával, a fizikai adatszervezéssel, az indexeléssel, a tranzakciófeldolgozással és a párhuzamosság kezelésével kapcsolatos. 

Fizikai tervezésnél felmérjük a gyakran futtatott és a teljesítményre jelentős hatást gyakorló tranzakciók vagy lekérdezések elemzését, a szervezet működése szempontjából kritikus tranzakciókat, valamint azokat az időszakokat, amelyek során nagy lesz az igény az adatbázisra ( csúcsterhelésnek nevezzük ).



A fent leírt négy szintű folyamatnak az adatfüggetlenség biztosítása mellett más fontos céljai is vannak. A hierarchikus struktúra lehetővé teszi az adatbázis tervezését és karbantartását szisztematikus módon, valamint hozzájárul a rendszer könnyű érthetőségéhez és kezelhetőségéhez.


Az adatfüggetlenség két típusa, a logikai és fizikai adatfüggetlenség, olyan elvek, amelyek lehetővé teszik a változásokat az adatbázis különböző szintjein anélkül, hogy azok hatással lennének a magasabb szintekre vagy a felhasználókra.


A logikai adatfüggetlenség biztosítja, hogy a fogalmi séma változása ne érintse a logikai sémát, így a szoftveralkalmazások továbbra is zavartalanul működhetnek. Ezzel lehetővé válik a magasabb absztrakciós szinten történő tervezés és változtatások végrehajtása anélkül, hogy az alsóbb szinteken módosításokra lenne szükség.


A fizikai adatfüggetlenség célja, hogy a logikai séma változása ne befolyásolja a fizikai sémát. Ez azt jelenti, hogy az adatok tárolási és kezelési módjának változása nem zavarja meg a magasabb szintű logikai struktúrát. Például a tárolási rendszer optimalizálása vagy a fizikai adatok indexelése nem kell, hogy befolyásolja a szoftveralkalmazások működését vagy a logikai adatstruktúrát.


Ezen elvek és folyamatok együttesen segítik a hatékony adatbázis-tervezést és kezelést, különösen az olyan komplex rendszerek esetében, mint az adattárházak, ahol a nagy adatmennyiségek és az üzleti igények változatosak és dinamikusak lehetnek.



Egyéb tervezési elvek

• Az adattárházban az adatok szervezése hierarchikus struktúrák mentén történik. A dimenziók és az azokhoz kapcsolódó hierarchiák lehetővé teszik az adatok rendezését és csoportosítását, amelyek kulcsfontosságúak az analitikus lekérdezések és jelentések szempontjából. Például, egy idő dimenzió lehetőséget ad az évek, hónapok és napok hierarchiájának kialakítására.


• Az adatkockák az adattárházban a többdimenziós adatmodell elrendezését szolgálják. Ezek a struktúrák magukban foglalják a tényeket, dimenziókat, mértékeket és hierarchiákat. A tények általában numerikus adatok, például az eladások összege. A dimenziók csoportosítják és kategorizálják a tényeket, míg a hierarchiák az adatok szervezési struktúráit határozzák meg.


• Az adattárházak tervezésekor fontos figyelembe venni az adatbiztonság és a jogosultságkezelés szempontjait. Az adatokhoz való hozzáférés ellenőrzése, az adatok titkosítása és az auditálás segítik az adattárház biztonságát, különösen, ha érzékeny üzleti információk kezeléséről van szó.


Ezek a tervezési és strukturális elemek együttesen segítik az adattárházak hatékony működését és azok felhasználói számára optimalizált analitikus adathozzáférést biztosítanak.

• Az adattárházak használatával a vállalatok nagy mennyiségű adatot tárolhatnak és elemzhetnek, ami segít az üzleti döntéseik előkészítésében. Az adattárházakban a történeti adatok is helyet kapnak, így a vállalatok hosszú távú trendeket és mintákat is feltárhatnak az üzleti teljesítmény területén.


• Az ETL folyamatok (kinyerés, átalakítás, betöltés) az adattárházakban létfontosságúak. Ezek a folyamatok felelősek a forrásrendszerekből érkező adatok összegyűjtéséért, átalakításáért és az adattárházba történő betöltéséért. Az ETL folyamatoknak megbízhatónak, hatékonynak és skálázhatónak kell lenniük a nagy mennyiségű adat hatékony kezelése érdekében.


• Az adattárházak adatainak időbeli dimenziója lehetővé teszi az időbeli elemzéseket és visszamenőleges lekérdezéseket. Ez különösen fontos a vállalati teljesítményértékelések, riportok és az üzleti trendek feltárásánál.


• Az adattárházakhoz kapcsolódó üzleti intelligencia eszközök segítségével a felhasználók könnyen hozzáférhetnek és vizualizálhatják az adatokat. Az interaktív jelentések, grafikonok és dashboardok segítik az üzleti döntéshozatalt és az adatok jobb megértését.


• Az adattárházak általában részei a vállalat adatstratégiájának, és hozzájárulnak az üzleti folyamatok optimalizálásához, a hatékonyság növeléséhez és a versenyképesség fenntartásához a piacon.


Modell elemek


Az adatmodellezés terén fontosak az entitások, kapcsolatok, szerepek, kardinalitások, és ezekhez kapcsolódó elvek és tulajdonságok. Az alábbiakban kiegészítem ezen fogalmak jelentését és kapcsolataikat:


Entitások:

Az entitások olyan valóságos vagy absztrakt dolgok, amelyekre az adatmodellünk fókuszál. Például, egy "Dolgozó" entitás az alkalmazottakat képviseli.


Kapcsolattípus:

A kapcsolat egy entitás és egy másik entitás közötti kapcsolatot jelenti. Például, egy "Munkavállal" kapcsolat lehet egy "Dolgozó" és egy "Projekt" entitás között.

A gyenge entitástípus olyan entitástípus, amely egy másik entitástípustól függ létezésében, és ezt az entitástípust azonosító vagy tulajdonos entitástípusnak nevezzük. A kapcsolatot, amely egy gyenge entitástípust a tulajdonosához kapcsolja, a gyenge entitástípus azonosító kapcsolattípusának nevezzük. Az olyan kapcsolattípust, amely nem azonosító kapcsolattípus, szabályos kapcsolattípusnak nevezzük.

Egy kapcsolattípust és a hozzá kapcsolódó szerepet vonallal jelöljük meg. Fontos megjegyezni, hogy az azonosító kapcsolattípusok számossága (1,1) a gyenge entitástípus szerepében, és lehet (0, n) vagy (1, n) a tulajdonos szerepében.

Ez a gyenge entitástípusokra jellemző struktúra segít az adatmodellben az entitások közötti kapcsolatok egyértelmű meghatározásában és azok szabályozásában. Az azonosító és tulajdonos entitástípusok közötti kapcsolatok részletes definiálása nélkül a gyenge entitástípusok nem lennének képesek meghatározni és fenntartani a tulajdonosukkal való szoros kapcsolatot.

Ez a szoros kapcsolat kulcsfontosságú a gyenge entitástípusok értelmes működéséhez. Az azonosító kapcsolattípus meghatározza, hogyan van összekapcsolva a gyenge entitástípus a tulajdonosával, és ezáltal lehetővé teszi az entitások közötti kapcsolatok pontosabb leírását.

Az általános esetben az azonosító kapcsolattípus azonosító attribútumokat foglal magában, amelyek segítségével a gyenge entitástípus egyedinek és egyértelműen azonosíthatónak tekinthető. Az ilyen azonosító kapcsolattípusok egyesíthetik a gyenge entitástípust a tulajdonosával, és ezáltal lehetővé teszik a logikai kapcsolatok megteremtését a két entitástípus között.

Az azonosító kapcsolattípusokat és azok szerepeit részletesen definiálni kell az adatmodellben, mivel ezek a definíciók irányítják a gyenge entitástípusok létrehozását és karbantartását. Az ilyen kapcsolattípusok tisztázása nélkül könnyen lehetnek zavarok és inkonzisztenciák az adatmodellben.

Végül, a szabályos kapcsolattípusok olyan kapcsolatokat jelentenek, amelyek nem azonosítók, de további információkat szolgáltathatnak a gyenge entitástípus és a tulajdonos entitástípus közötti kapcsolatról. Ezek a kapcsolatok lehetnek kétirányúak, és részletesebb nézetet kínálhatnak a gyenge entitástípusok körüli összefüggésekről és interakciókról.




Szerep:

Az entitástípus részvételét egy kapcsolattípusban szerepnek nevezzük. Minden szerepkör leírja, hogy az adott entitás milyen szerepben vesz részt a kapcsolattípusban. Például, egy "Felelős" vagy "Résztvevő" szerep lehet egy kapcsolattípuson belül.


Kardinalitás:

A kardinalitás leírja, hogy egy adott entitás hány alkalommal vesz részt egy kapcsolattípusban. A minimális és maximális kardinalitás meghatározza, hogy hány entitás szükséges a kapcsolathoz, illetve hány entitás lehet része a kapcsolatnak. Például, egy "Dolgozó" entitásnak lehet minimális kardinalitása 0 (nem kötelező részt venni) és maximális kardinalitása több (több projektben is részt vehet).


Ezen modellezési elemek segítenek strukturálni és leírni az adatok közötti kapcsolatokat, és segítenek a rendszer működésének és adatáramlásának jobb megértésében.


Attribútumok:

Az attribútumok a konkrét információk vagy jellemzők, amelyeket az entitásokkal kapcsolatban tárolunk. Például, egy "Dolgozó" entitásnak attribútumai lehetnek a neve, az alkalmazotti azonosítója és a születési dátuma.


Normalizáció:

A normalizáció egy tervezési elv, amely arra törekszik, hogy minimalizálja az adatbázis redundanciáját és függőségeit. A relációs adatbázisokban például az első normálforma (1NF), a második normálforma (2NF) és a harmadik normálforma (3NF) szabványosított szinteket jelentenek a normalizációban.


Entitás–kapcsolat diagram (ERD):

Az ERD egy grafikus eszköz, amely ábrázolja az entitásokat, kapcsolatokat, attribútumokat és más modellezési elemeket. Ez segít az adatmodellezési folyamatban és megkönnyíti az adatstruktúra vizuális megértését. Egy entitástípus részvételét egy kapcsolattípusban szerepnek nevezzük, és a két entitást összekötő vonal jelzi. 


Tranzakciók:

A tranzakciók az adatbázis-kezelő rendszerekben végrehajtott műveletek sorozatai, amelyeket atomi egységként kezelnek. Ezek biztosítják az adatbázis konzisztenciáját, integritását és tartósságát.


Foreign Key (Idegen kulcs):

Az idegen kulcs egy attribútum vagy attribútumkombináció, amely az egyik táblában található, és hivatkozik egy másik tábla elsődleges kulcsára. Ez az adatbázisokban kapcsolatok kialakítására szolgál.


Index:

Az index egy adatbázis-objektum, amely gyorsíthatja a lekérdezéseket és kereséseket. Az indexek segítenek csökkenteni az adatbázis teljesítményét befolyásoló terheléseket.


Ezek az alapvető modellezési elemek, elvek és tulajdonságok hozzájárulnak egy hatékony, jól strukturált adatmodell kialakításához, amely megfelel a tervezési és üzleti követelményeknek. 



Szabályok

A hivatkozási integritás két tábla (vagy kétszer ugyanazon tábla) közötti kapcsolatot határoz meg, ahol az egyik táblában lévő attribútumok halmaza, az úgynevezett idegen kulcs, a másik tábla elsődleges kulcsára hivatkozik. Ez azt jelenti, hogy az idegen kulcsban szereplő értékeknek az elsődleges kulcsban is létezniük kell. 

A  hivatkozási integritási megszorításokat a hivatkozási táblázatból a hivatkozott táblára mutató nyilak képviselik. Például az Alkalmazotti azonosító attribútum a Megrendelések táblában az Alkalmazottak tábla elsődleges kulcsára hivatkozik. Ezzel biztosítható, hogy a rendelésben szereplő minden alkalmazott megjelenjen az Alkalmazottak táblázatban is. Vegye figyelembe, hogy a hivatkozási integritás tartalmazhat idegen kulcsokat és több attribútumból álló elsődleges kulcsokat.

A relációs modellben minden attribútum egy tartományon vagy adattípuson keresztül van definiálva, vagyis egy értékkészleten és egy kapcsolódó műveletkészleten keresztül, amelyek közül a legjellemzőbbek az egész szám, a lebegés, a dátum és a karakterlánc. A modell egyik fontos megszorítása, hogy az attribútumoknak atominak és egyértékűnek kell lenniük. Így az olyan összetett attribútumokat, mint az Employees entitástípus neve a 2.1. ábrán , atomi értékekre kell felosztani, mint például a Keresztnév és Vezetéknév.


Egy attribútum definiálható nem nullaként, ami azt jelenti, hogy az attribútumban nem megengedettek a nullértékek (vagy üresek). 


A több attribútumból álló kulcsot összetett kulcsnak nevezzük, különben egy egyszerű kulcs lehet.


Egy ellenőrző kényszer meghatároz egy predikátumot, amelynek érvényesnek kell lennie, amikor egy relációban lévő sort adunk hozzá vagy frissítünk. Például egy ellenőrzési megszorítással ellenőrizhető, hogy a Rendelések táblában az OrderDate és RequiredDate attribútumok értékei egy adott rendelésnél 


Egy (az ER-ben vagy bármely más fogalmi modellben megírt) fogalmi séma egy ekvivalens relációs sémára történő fordítását leképezésnek nevezzük. A leképzési folyamat, amelyet a legtöbb adatbázis-tervező eszközben implementálnak, ahol a fogalmi sémákat automatikusan lefordítják logikaivá, főként a relációs modellbe. Ez a folyamat magában foglalja a táblák meghatározását különböző RDBMS-ekben.



Módszerek


Nem szigorú hierarchia átalakítása szigorú hierarchiává:

Új szülőtag létrehozása minden olyan szülőtag-csoporthoz, amely egy több-több kapcsolat egyetlen gyermektagjához kapcsolódik. Ezzel a módszerrel biztosítható, hogy minden szülőnek egyértelműen definiált helye legyen a hierarchiában.

Egy szülő tag kiválasztása elsődleges tagnak és a többi szülőtag figyelmen kívül hagyása. Ezáltal az elsődleges szülőtag kijelölése révén egyértelműbbé válik a hierarchia, és elkerülhető a redundancia.

A nem szigorú hierarchia felváltása két független dimenzióval. Az adatok strukturáltabbá tétele érdekében két különálló dimenzió használata segíti a hierarchia meghatározását, így könnyebb és hatékonyabb lekérdezéseket lehet végezni az adattárházban.






Megjegyzések