Ugrás a fő tartalomra

Adatmodellezés alapjai PowerDesignerrel

Első találkozás 2000 körül:









SAP Sybase PowerDesigner

egy olyan szoftverfejlesztő eszköz, mely a szoftver fejlesztési munkák során születő dokumentációk létrejöttét képes hatékonyan támogatni.
A szoftver célja megkönnyíteni és lerövidíteni a szoftver fejlesztési munkákat azáltal, hogy
  • a gyakran használt szoftver fejlesztési eszközök integrálásra kerültek
  • széles palettájú Import / Export funkciók megvalósításra kerültek
  • Reverse Engineering funkciók elérhetőek
  • szoftver generáló funkciók (például DDL generate) kidolgozásra kerültek a PowerDesigner termékben

Megjelenés/ felület

Az elindulás után megjelenő felület alábbi fő részekre/funcios területekre osztható fel:
  • Menüsor, Gyorshivatkozások gombsora
  • Objektum böngésző (Object browser)
  • Eszköztár (Toolbox)
  • Output ablak
  • Munkafelület

A PowerDesigner dokumentációs modellek típusai:

  • Conceptual Data Model (magas szintű adatmodellezéshez)
  • Logical Data Model (adatbázisok, adatbázisok üzleti modellezésére)
  • Physical Data Model (adatbázisok, adatbázisok technikai modellezésére)
  • Data Movement Model (adatok mozgásának ábrázolására)
  • Object-Oriented Model (objektum-orientált szoftverek modellezésére)
  • Business Process Model (üzleti tevékenységek folyamatainak ábrázolására)
  • Enterprise Architecture Model (nagyvállalatok működését támogató modellek, mint például szervezeti ábra, vállalat működési folyamatábra, szervezeti kommunikációs ábra, technológiai infrastruktúrai rajz)
  • Requirements Model (követelményspecifikációk modellezésére)
  • XML Model (Bármilyen XML fában tárolható struktúrájú információ ábrázolására)
  • Free Model (Bármilyen, az eddigi modellekbe nem beleillő terület tulajdonságainak, folyamatainak, kapcsolatainak ábrázolására)

Természetesen a modellek között van átjárás lehet generálni egymásból mindegyiket. A kiválasztott modell típushoz más -más objetumok/gombok/tulajdonságok társulnak.
Az elkészült modellt leellenőriztethetjük.
Ekkor a rendszer az összes hiányosságra felhívja a figyelmet, amelyeket egyenként javíthatunk és haladhatunk tovább a modellezésben.


Létrehozhatunk csillag modelleket dimenziókkal és ténytáblával akár a cube generálás művelettel is
A csillag modell megjelenítését sablonok szerint automatikus át formázhatjuk.
Mindegyik objektum tulajdonság ablaka témákba rendezett adatfüleken rengeteg adat beállítására ad lehetőséget. A megjelenő adatrács első szürke oszlopa mint adat lefúró gomb működik és a mezők tulajdonságai hívhatóak elő velük.

Modell tipusok

 Koncepcionális adatmodell

A koncepcionális adatmodell (Conceptional Data Model, CDM) egy magas szintű modellt jelent, ahol megtervezzük az adatmodell fontosabb elemeit, minden részlettől eltekintve.
Általában amikor elkezdődik egy adatmodellezés, akkor először egy koncepcionális adatmodell készül el.
Ekkor még nem látszik pontosan, hogy milyen attribútumokkal fogunk dolgozni, mi áll rendelkezésre, mit szükséges eltárolni, de azt már érezzük, hogy milyen entitások azok, amiket külön szeretnénk kezelni.

Logikai adatmodell

A logikai adatmodell (Logical Data Model, LDM) célja, hogy az üzleti elemzők számára érthető és főleg beszédes nyelven szemléltesse az feladat megoldásának logikai objektumait és azok kapcsolatait.
Itt nem cél a technikai részletekbe való elmélyedés, a koncepcionális modellbeli példát folytatva, valamivel részletesebben kidolgozzuk, ekkor már logikai szinten a modellt.

Fizikai adatmodell

A fizikai modell (Physical Data Model, PDM) az adatbázisokban fellelhető objektumok dokumentálását szolgáló eszköz. A logikai adatmodellhez képest itt már sokkal több hangsúlyt kap a technikai kidolgozottság. Szerepében félúton helyezkedik el az üzleti definícióktól hangsúlyos logikai adatmodell és a már készen megvalósított adatbázis között.
Gyakorlatilag a fizikai adatmodell a logikai adatmodell kidolgozásának folytatása egy olyan részletesen kidolgozott állapotig, melyből az adatbázis objektumai már könnyen generálhatóak.

Adatbázis objektumok melyeket modelezünk:
  • Táblák
  • Oszlopok
  • Nézetek
  • Kulcsok
  • Indexek
  • Domain-ek
  • Megszorítások
  • Entitások

Dimenziós modellezés

A PowerDesigner segítségével lehetőségünk van dimenziós modellek létrehozására is. Adattárházas környezetekben ez kocka, esetleg csillag séma néven lehet többek számára ismerős.
Talán a kocka fogalmával érdemesebb szemléltetni a dimenziós modellezésben rejlő lehetőségeket. Tegyük fel, hogy létrehozunk egy n dimenziós kockát, melynek az éleit a dimenziók alkotják, a kocka n dimenziós celláiban pedig a mérőszámok kerülnek elhelyezésre.
A dimenziókat, kocka éleit hierarchiákba lehet szervezni, melyek mentén szeletelni, illetve aggregálni lehet a kocka belsejében lévő mérőszámokat.
Egy tipikus példa erre a dátum hierarchia. A napokat hónapok köré lehet szervezni, míg a hónapok évekbe csoportosíthatóak.
Összefoglalva tehát a dimenziók alkotják az értékesítések (tény adatok) attribútumait, akár hierarchiába csoportosítva, azért hogy könnyebben lehessen az adatokat szűrni, aggregálni, a középen elhelyezkedő fact tábla pedig a dimenziók legalacsonyabb hierarchiaelemei menti bontás alapján a mérőszámokat foglalja magába. Előfordulhat továbbá, hogy maga a ténytábla is tartalmaz attribútumot, amennyiben olyan attribútumról van szó, melyet nem kívánunk külön dimenzió táblába kivezetni.
A modelezés során az igény lista van hogy xls filebe áll elő amely egyszerüen modellbe tölthető az alábbi leírás alapján.

VBS

A modellezés és modell változás követés céljára az eszköz/program vbs script nyelven programozható.
pl:
c:\Program Files (x86)\Sybase\PowerDesigner\VBScripts\read_models.vbs”

Option Explicit
ValidationMode = True
InteractiveMode = im_Batch


' get the current active model
Dim mdl ' the current model
Set mdl = ActiveModel
If (mdl Is Nothing) Then
MsgBox "There is no Active Model"
Else
ListObjects(mdl)
End If


Private Sub ListObjects(fldr)
output "Scanning " & fldr.code
Dim obj ' running object
For Each obj In fldr.children
' Calling sub procedure to print out information on the object
DescribeObject obj
Next

' go into the sub-packages
Dim f ' running folder
For Each f In fldr.Packages
'calling sub procedure to scan children package
ListObjects f
Next
End Sub
...

Megjegyzések