Fejlesztői kézikönyv 6.3

XML Referencia 6.3

Effector Studio 6.3 összefoglaló

Effector Studio 6.3 kézikönyv

Fejlesztői kézikönyv 6.2

XML Referencia 6.2

Effector Studio 3.2 összefoglaló

Effector Studio 3.2 kézikönyv

Fejlesztői kézikönyv 5.5

XML referencia 5.5

Effector Studio 2.0 kézikönyv

Effector Studio 2.0 összefoglaló

Adatbázis szerkezet

Az Effector a Microsoft által fejlesztett relációs adatbázis kezelő rendszerére épül. Az adatbázist intenzíven használja, nem csak az adatok tárolására, de bizonyos szintű logika megvalósítására is. Ebben a fejezetben áttekintjük azokat az adatbázis elemeket, amelyek szükségesek az Effector működéséhez, valamint szó lesz azokról a konvenciókról is, amelyeket az adatbázis felépítése során használhatunk.

Speciális mezők az Effector tábláiban

Deleted mező

Az Effector táblák nagy részében szerepel egy speciális mező, a Deleted, melynek típusa tinyint, alapértelmezett értéke pedig 0. Erre az adatbázis mezőre két okból van szükség:

  • A rendszerben nincs fizikai adat törlés, így a Deleted mező hordozza azt az információt, hogy egy rekord törölt, vagy aktív.
  • A rendszerben nincs valódi tranzakció kezelés, így az egyes adatok tranzakcióban történő kezelését a szerver réteg valósítja meg és a tranzakció kezelés szimulálásához a Deleted mezőt használja.

A felsoroltak okán a Deleted mező az alábbi értékeket veheti fel:

  • 0: végleges, mentett adat
  • 1: törölt sort
  • 2: még nem végleges(tranzakcióban részt vevő) új sor

ObjectType mező

Az egyes üzleti objektumok származtatásánál van jelentősége. Ez a mező az ős objektumokat reprezentáló táblákban jelenik meg, és az adott rekordhoz tartalmazza a leszármazott típust.

Az adatbázisban használatos nevezéktan

Az adatbázisban használt táblák, eljárások, és más adatbázis objektumok a paraméterezés, felhasználási lehetőségeit és funkcióit tekintve több részre tagolódhatnak. Ezeket a különbségeket az egyes adatbázis objektumok prefixeivel reprezentálhatjuk.

Adattáblák

Elnevezés szerinti szeparáció:

  • (prefix nélkül) = a rendszer paraméterezése során gyakran használt táblák
  • fsys_ = rendszertáblák, az Effector alapműködéséhez szükségesek
  • orn_ = Oriana által létrehozott, cég specifikus táblák
  • usr_ = A felhasználó cég fejlesztői által létrehozott táblák

Adatbázis triggerek

Elnevezés szerinti szeparáció:

  • otr_ = Oriana által létrehozott triggerek
  • utr_ = A felhasználó cég fejlesztői által létrehozott triggerek

Működés szerinti szeparáció:

  • _i_ = insert típusú
  • _u_ = update típusú
  • _d_ = delete típusú

Amennyiben több típusra is ugyanaz a trigger lesz alkalmazva a betűk halmozhatóak. Példa: otr_iu_<elnevezés>

Tárolt eljárások

Elnevezés szerinti szeparáció:

  • osp_ = Oriana által létrehozott tárolt eljárások
  • usp_ = a felhasználó cég fejlesztői által létrehozott tárolt eljárások

Működés szerinti szeparáció:

  • _rep_ = report (riport készítő eljárás)
  • _sel_ = select (például grid feltöltéséhez használható)
  • _chk_ = check (adat ellenőrző)
  • _wrk_ = work (adat feldolgozó)
  • _job_ = job (jobhoz használt eljárás)
  • _prs_ = processresultset

Példa: osp_rep_<eljárásnév>

Nézetek

  • ovw_ = Oriana által létrehozott view-k
  • uvw_ = A felhasználó cég fejlesztői által létrehozott view-k

Adatbázis funkciók

  • ofn_ = Oriana által létrehozott függvény
  • ufn_ = A felhasználó cég fejlesztői által létrehozott függvény

Paraméterezésnél használt további általános táblák

Adathordozó alap táblák

Az alábbi táblák a rendszerben speciális szerepet nem töltenek be, a paraméterezésben gyakran használt adattáblák közé sorolhatók. Szorosan egymásra épülnek, majdnem minden rendszer tartalmazza ezeket:

Alap táblák:

  • User: A felhasználói adatokat tartalmazó tábla.(A 4.0.002-es verzióktól kezdve az authentikációban nem vesz részt, a felhasználókat a LicenseHandlerServer tartalmazza)
  • Company: Cégeket, és azoknak az alap adatait tároljuk itt.
  • People: A rendszerben szereplő, résztvevő emberek/felhasználók/kontakt adatokat tartalmazza. (A 4.0.002-es verzióktól kezdve a felhasználók adatait a LicenseHandlerServer tartalmazza)

Adathordozó táblák - Sémánként változhatnak:

  • Project: Projektek, folyamatok adatait tartalmazó tábla
  • ProjectPeople: 1-N kapcsolatban áll a Project táblával, egy-egy projekthez vagy folyamathoz rendelt személyek listáját tartalmazza. Minden Projekt tábla beli sorhoz minimum egy ProjectPeople tábla beli sor tartozik a felelős tárolására. Ebben az esetben a ProjectRoleID értéke 1 (fenntartott érték).
  • ProjectRole: Ez a tábla tartalmazza a ProjectPeople tábla ProjectRoleID mezőjének lehetséges értékeit, mint pl.: felelős, résztvevő, manager, stb. Az 1-es értékű RoleID fenntartott a felelős számára.
  • Event: Események, feladatok tárolásához használt tábla. Rendszerint az eseményeket/feladatokat egy-egy ProjectID alá csoportosítjuk, azonban ez nem kötelező.
  • EventPeople: 1-N kapcsolatban áll az Event táblával, egy-egy eseményhez vagy feladathoz rendelt személyek listáját tartalmazza. Minden Event tábla beli sorhoz minimum egy EventPeople tábla beli sor tartozik a felelős tárolására. Ebben az esetben a EventRoleID értéke 1 (fenntartott érték).
  • EventRole: Az EventPeople tábla EventRoleID mezőjének lehetséges értékeit tartalmazza, mint pl.: felelős, résztvevő, manager, stb. Az 1-es értékű RoleID fenntartott a felelős számára.
  • Workflow: Folyamat kezelésnél használt tábla. Minden indított folyamathoz tartozik egy sor ebben a táblában. Az ObjectType mező határozza meg a folyamat típusát. Az Event és Project táblákban található WorkflowID mező ebben az esetben egy a Workflow táblában megtalálható sorra mutat.
  • Document: Dokumentumok adatainak tárolására használt tábla. BoType és BoID oszlopok tárolják a rögzítéskor melyik BusinessObject melyik sorához van tárolva
  • DocumentConnection: Ez a tábla szolgál a dokumentumok BusinessObject-ekhez kötésére. A Document sor rögzítése után ebbe a táblába automatikusan létrejon egy sor átmásolva a BoType és BoID értékeket.
  • Notes: Megjegyzések tárolására használt tábla, a megegyzéseket a BusinessObject-ekhez a BoType és BoID oszlopok kötik.

Rendszer táblák

A rendszer táblák mindegyike az FSYS_ előtaggal kezdődik.

  • FSYS_AttachedWorkflow: Az összekapcsolt folyamatokat tárolja benne a rendszer.
  • FSYS_LabelLookup: Többnyelvű menürendszer esetén az itt eltárolt címkékre lehet hivatkozni a definíciós állományokban. A hivatkozás a következő módon történik: [#TableName.FieldName#]. Ilyenkor az aktuális Lang értékhez tartozó Label mező értékét fogja visszaadni a rendszer, amely a felületen megjelenik. Erről bővebben a Többnyelvűség fejezetben talál információt.
  • FSYS_Log: A rendszer a mezők értékeinek változásait ebben a táblában rögzíti. Az egyes rekordok beazonosításához a következő mezők állnak rendelkezésre:
    • BoType és BoTemplate mezők írják le, hogy milyen objektum változott (például Project és ISO2010)
    • BoID: A változott objektum azonosítóját tartalmazza.
  • FSYS_LongSessions: A felületen történt belépés után ebben a táblában rögzítjük a bejelentkezett felhasználó azonosítóját és a kertrendszer által generált azonosítót, továbbá a bejelentkezés dátumát. Ez a generált azonosító az adatbázis kapcsolat nevével együtt a felhasználó gépén egy cookie-ban is le van tárolva. Amikor a felhasználó legközelebb behívja az oldalt, a sütiből visszaolvasott adatokat elküldve a szervernek megpróbálja bejelentkeztetni az oldalra (felhasználónév és jelszó megadása nélkül). Az azonosításhoz a osp_FSYS_GetUserLongSessionID tároltat használja fel a rendszer. Ebben lehet további biztonsági funkciókat megvalósítani (például egy longsession mennyi ideig érvényes).
  • FSYS_LookupList: Ebben a táblában tároljuk a lenyíló listák értékeit. Az alábbi mezők bírnak jelentéssel ebben a táblában:
    • LookupListID értékét menti a rendszer a megfelelő mezőbe, ez valósítja meg az idegen kulcsot (ValueMember).
    • LookupValue mező tartalma fog megjelenni a felületen a legördülő listákban (DisplayMember).
    • GroupNum mező csoportba foglalja az egyes rekordokat.
  • FSYS_LookupListGroup: Az FSYS_LookupListGroup táblában használható csoportok definícióját tartalmazza.
  • FSYS_ObjectTypesLookup: Ebben a táblában kerültek tárolásra a rendszerben szereplő objektum típusok, és altípusok, a hozzájuk tartozó megjeleníthető címkékkel együtt. Az ObjectType a típus vagy altípus neve, a ParentObject tartalmazza az ős osztály típusát, a DisplayLabel az ember által is értelmezhető és olvasható leírást tartalmazza, amely a felületen is megjelenik.
  • FSYS_ApplicationSetup: Ide lehet az alkalmazás példány valamelyik funkciója által igényelt beállításokat rögzíteni. Például: jellemzően a DocBasePath beállításba szoktuk rögzíteni a becsatolt dokumentumok helyét a fájlrendszerben. A Code oszlopban a beállítás azonosítója, a Name oszlopban a beállítás barátságos neve, a CodeValue oszlopba kell rögzíteni az értéket.
  • FSYS_ExceptionLog: A program futása során keletkező kivételek kerülnek az adatbázisba. A ReferenceCode oszlopban lehet keresni a felületre kiadott referencia számot.
  • FSYS_ObjectEditedBy: Ebben a táblában rögzíthetjük, hogy melyik objektumot éppen ki tekinti meg vagy szerkeszti.

  • FSYS_View: Ebben a táblában tárolja a rendszer a felhasználó által választott skin nevét (vagy url), nézet adatait. A UserID oszlop jelöli a felhasználót, az ObjectType oszlop jelöli, hogy a sorban milyen jellegű adat van rögzítve. Az ObjectType oszlop lehetséges értékei:
    • skin: A felhasználó által kiválasztott skin url-jét tartalmazza a Data oszlopban. Megjegyzés! Az Effector 5.0.001 és újabb verzióiban nem az URL van a Data oszlopban, hanem a skin neve.
    • View: A Screen szinten mentett nézetek adatait tárolja a Data oszlopban. Megjegyzés! Az Effector 5.0.001 és újabb verzióiban bővebb információt mentünk, így a korábbi verziókban rögzített nézetek nem használhatóak!
    • PanelView: A Component szinten mentett nézetek adatait tárolja a Data oszlopban. Megjegyzés! Az Effector 5.0.001 és újabb verzióiban már nincs ilyen lehetőség!
    • QuickLaunch: Az Effector 5.0.001 és újabb verziókban tárolt adat. A felületen található home funkció quicklaunch elemre való beállításkor keletkező sor. A ViewType oszlop értéke vagy üres vagy a normal, exit, home értékek közül tartalmaz egyet.

      • normal: felhasználó által mentett nézet
      • exit: kilépéskor automatikusan mentett nézet
      • home: a házikó ikonra kattintáskor betöltendő nézet vagy QuickLaunch elem.

    Megjegyzés: A ViewType oszlop üres(NULL) értéke a normal értékkel megegyező funkcionalitással bír.

Adatbázis műveletek folyamata

Új adat felvitele

Adatbázis műveletek - új felvitel

Adat törlése

Adatbázis műveletek - Törlés

Egyszerű és többes lekérdezés

Adatbázis műveletek - Lekérdezés

  • Legutóbb frissítve: 25 hét 5 napja
  • Effector