


A rendszer fejlesztése során három logikai adatmodell készül:
4.1. Egyedek
Egy egyed olyan tárgy vagy fogalom, ami konkrét vagy elvont dolgot jelenthet és fontos a vizsgált mûködési területen. Minden egyednek van egy neve, aminek egyes számban kell lennie. Egy banki rendszerben tipikus egyedek lehetnek: Folyószámla, Átutalás és Ügyfél. Egy iratnyilvántartó rendszerben lehet: Dokumentum, Szervezet, Helyiség, Dokumentum állapot.Az egyedeket a logikai adatszerkezeti ábrán lekerekített sarkú doboz jelzi, benne az egyed nevével.

4.2. Kapcsolatok
A kapcsolat két egyed, illetve egy egyed és saját maga közötti olyan összefüggést jelöl, amely mindkét oldal minden lehetséges elõfordulására vonatkozik. A kapcsolat egy konkrét elõfordulásának minõsül két konkrét egyed-elõfordulás közötti összefüggés. Az ábrán egy vonal jelzi a kapcsolatot, amely a kapcsolatban résztvevõ két felet (egyedet ábrázoló dobozt) köti össze. A kapcsolat mindkét végének a következõ tulajdonságai lehetnek:
4.3. Kapcsolat foka
A kapcsolat fokának három lehetséges változata van:
A logikai adatszerkezeti ábrán a kapcsolatok "sok" végét egy "csirkeláb" jelzi. A kapcsolat fokának eldöntésekor figyelembe lehet venni az idõ múlását is, mivel egy adott pillanatban létezõ egy-egy kapcsolat, ha megõrizzük, egy bizonyos idõ eltelte után egy-sokra változhat.Tipikus egy-sok kapcsolatok: egy ügyfélnek lehet több folyószámlája (de egy ügyfélnek egy bankfiókban csak egy folyószámlája lehet), egy dokumentum egy adott pillanatban egy konkrét helyen lehet (de ha meg akarjuk õrizni egy adott idõ intervallumban a dokumentum mozgásának történetét, akkor egy dokumentum az idõk során több helyen elõfordulhat).
4.4. Kötelezõ/ opcionális kapcsolatok
Egy kapcsolat kötelezõ egy egyed számára, ha az adott egyednek nem lehet olyan elõfordulása, amely nem vesz részt a kapcsolatban. Egy kapcsolat opcionális, ha az adott egyednek lehet olyan elõfordulása, amely nem vesz részt a kapcsolatban.A kötelezõséget tömör vonal, az opcionalitást szaggatott vonal jelzi. A kapcsolat két végét külön-külön meg lehet jelölni. Tipikus kapcsolatok: Egy ügyfélnek lehet, hogy van egy vagy több folyószámlája (de lehet ügyfeleket nyilvántartani folyószámla nélkül, például betétkezelés illetve hitelezés miatt), fordított irányban pedig, egy adott folyószámlát biztos, hogy pontosan egy ügyfél birtokol (azaz nem létezhet folyószámla tulajdonos nélkül).
4.5. Kapcsolat azonosítók
Egy kapcsolatot egyértelmûen azonosít:
Az "alany" és "tárgy" egyed kifejezés csak megkülönbözteti a kapcsolat két végén lévõ egyedeket, nincs egyéb jelentése.
4.6. Kapcsolat összekötõ kifejezések
Ha a kapcsolatot egyik felérõl vizsgáljuk, alany egyednek nevezve a közelebbi egyedet, tárgy egyednek nevezve a távolabbi egyedet, akkor az alany egyedhez közelebb esõ összekötõ kifejezés az alany felõl írja le a kapcsolatot a tárgy felé. Ugyanezt le lehet írni a másik vége felõl is, ami abból a nézõpontból írja le a kapcsolatot. Az összekötõ kifejezés leírja az adott kapcsolatot és indokolja a létét. Tipikus összekötõ kifejezések: egy ügyfél lehet, hogy birtokol egy vagy több folyószámlát, és ugyanez a másik oldalról nézve, egy folyószámla biztosan tartozik egy ügyfélhez. Egy vezetõ biztosan irányít egy vagy több beosztottat, egy beosztott biztosan beszámol egy vezetõnek.

4.7. Kapcsolat kijelentés
Minden kapcsolatot el kell tudni olvasni a kapcsolat mindkét vége felõl úgy, hogy benne legyen a kapcsolat foka, kötelezõsége és jelentése. A gyakorlatban elõfordul, hogy nehéz olyan összekötõ kifejezést találni, ami a két egyed ragozása nélkül, és a magyar nyelvtõl idegen passzív alak használata nélkül leírná az adott kapcsolatot. Ilyenkor érdemes a kapcsolat leírásában összeállítani a kapcsolatot leíró teljes mondatot, a két egyed ragozott alakjával együtt. A kapcsolat kijelentést a következõ módon kell létrehozni:
A kapcsolat összekötõ kifejezés nagyon fontos azokban az esetekben, amikor két egyed között több különbözõ kapcsolat is lehetséges. Például: minden tárolóhely lehet, hogy tárol egy vagy több dokumentumot és minden tárolóhely lehet, hogy leltári tárgyként szerepel egy vagy több dokumentumban. Más szavakkal, egy dokumentum biztosan valamilyen tároló helyen tartózkodik, és ha az adott dokumentum egy leltári jegyzék, akkor lehet hogy tartalmaz bejegyzést egy vagy több tárolóhelyrõl is.
4.8. Kizáró kapcsolatcsoportok
Ha egy egyed egy elõfordulásának részvétele egy kapcsolatban kizárja az adott elõfordulás részvételét egy vagy több másik kapcsolatban, akkor az adott kapcsolat-csoportot kölcsönösen kizáró kapcsolatnak hívjuk. Egy kizáró kapcsolatcsoport minden egyes kapcsolatának ugyanazt az alany egyedet kell tartalmaznia, ugyanolyan kötelezõséggel. A közös alany egyed egy elõfordulása a kapcsolat-csoporton belül csak egy kapcsolatban vehet részt. Ha a kapcsolatok kötelezõk, akkor pontosan egyben részt kell vennie, ha opcionálisak, akkor lehet, hogy egyikben sem vesz részt. A kizáró kapcsolat-csoportot a logikai adatszerkezeti ábrán egy ív jelöli, amely átfogja a csoporthoz tartozó kapcsolatokat. A kapcsolatokat át lehet rendezni azért, hogy egymás mellé kerüljenek az így csoportosítandó kapcsolatok, elkerülve az ív megszakítását. Ha egy egyed több különbözõ kizáró kapcsolatcsoportban is részt vehet, akkor az egyes kapcsolat-csoportokat meg lehet jelölni egy-egy azonosítóval (betûvel). Egy adott kapcsolatvég csak egy ilyen csoportnak lehet tagja. Tipikus kizáró kapcsolatok: minden utat biztosan fenntart vagy a fõvárosi önkormányzat, vagy egy kerületi önkormányzat. Minden dokumentum vagy biztosan létrejön egy vezetõ kezdeményezésére, vagy biztosan nyilvántartásba kerül egy beosztott által (belsõ dokumentumot vezetõ hoz létre és indít az útjára, külsõ dokumentumot beosztott vesz nyilvántartásba). Ha a kapcsolatok összekötõ kifejezése megegyezik akkor azt nem kell megismételni (ld. elsõ példa).

4.9. Egyed altípusok
Ha egy kizáró kapcsolatcsoportban résztvevõ egyedek között egy-egy kapcsolat van, akkor az fõtípus-altípus jellegû összetartozást jelölhet. Ilyenkor a kizáró ívbe tartozó kapcsolatvégek egyede a fõtípus és ennek altípusai a kizáró kapcsolaton keresztül elérhetõ egyedek. Például: minden átutalási értesítés fõtípusa vagy jóváírásnak vagy terhelésnek. Minden dokumentum fõtípusa vagy belsõ dokumentumnak vagy külsõ dokumentumnak. A fõtípusba a közös attribútumokat az altípusba az egyedi attribútumokat kell sorolni. Az elõzõ példában a dokumentum keletkezési dátuma, a keletkezést igazoló személy, dokumentum tárolási helye közös attribútum, míg a külsõ szervezet neve, feladás dátuma csak a külsõ dokumentumhoz tartozik, illetve a belsõ azonosító csak a belsõ dokumentum része.

4.10. Visszaható (rekurzív vagy involutorikus) kapcsolatok
Két olyan tipikus helyzet van, amikor egy egyed önmagával kerülhet kapcsolatba. Az egyik a hierarchikus a másik a hálós kapcsolódás.Ha van egy Vezetõ nevû egyedünk, akkor bevezethetünk egy "felettese"-"beosztottja" kapcsolatot, ami a Vezetõ egyed egyes elõfordulásait kapcsolhatja össze más Vezetõ egyedbeli elõfordulásokkal. Ilyenkor igaz az, hogy minden Vezetõ lehet, hogy felettese egy vagy több Vezetõnek, és minden Vezetõ lehet, hogy beosztottja pontosan egy Vezetõnek. Az ilyen egy-sok kapcsolat ábrázolási módja miatt gyakran kapja a "malacfül" nevet. Ez a fajta kapcsolat akkor hasznos, ha nem lehet elõre megmondani, hogy hány szintje lesz ennek a hierarchiának. Egyébként helyettesíthetõ például egy több egyedbõl álló hierarchiával (Igazgató, Osztályvezetõ, Csoportvezetõ).

A hálós kapcsolódás egy egyed önmagához visszatérõ sok-sok kapcsolatát jelenti. A tipikus példának önálló neve van: Darabjegyzék (angolul Bill of Materials Processing, vagy BOMP). Itt egy alkatrészekbõl felépülõ Részegység egyedet azonosítva, igaz az, hogy minden részegység lehet, hogy felépül egy vagy több (más) részegységbõl, és fordítva, minden részegység lehet, hogy fel van használva egy vagy több (más) részegységben. A dokumentum kezelésnél maradva, minden dokumentum lehet, hogy hivatkozik egy vagy több dokumentumra, illetve minden dokumentum lehet, hogy hivatkozásként szerepel egy vagy több dokumentumon. Az ilyen eseteket egy kapcsoló egyed bevezetésével lehet egyszerûsíteni. Bevezetve a Hivatkozás nevû kapcsoló egyedet, az a Dokumentum egyedhez két kapcsolattal fog kapcsolódni: (1) minden dokumentum lehet, hogy tartalmaz egy vagy több hivatkozást és (2) minden dokumentum lehet, hogy szerepel egy vagy több hivatkozásban. A Hivatkozás felõl nézve, (1) minden hivatkozáshoz biztosan hivatkozóként tartozik egy dokumentum és (2) minden hivatkozáshoz biztosan hivatkozotként tartozik egy dokumentum.

4.11. Adatszerkezeti részhalmazok
Ha az adatszerkezeti ábra nagyon sok egyedet tartalmaz, akkor érdemes felbontani részhalmazokra, amelyek az ábra egyes részleteit tartalmazzák. Ez segíthet az egyes területek elkülönítésében és segíthet a felhasználónak és az elemzõnek az adatszerkezet megértésében. A következõ jelölésmódot érdemes követni:
Ha az adatszerkezet olyan méretû, hogy fizikailag nem lehet egyben megjeleníteni, akkor annyi részábrát kell létrehozni, amennyi az egészet lefedi. Lehetõség szerint úgy kell ezeket a részeket kialakítani, hogy minden egyed rajta legyen legalább egy olyan ábrán, ahol nem kell õt szaggatottan rajzolni (azaz minden kapcsolata rajta van az adott ábrán).
4.12. Fõegyed, alegyed
A kapcsolatok többsége egy-sok kapcsolat. Ilyenkor az "egy" végén a kapcsolatnak ún. fõegyed áll, a "sok" végén pedig az alegyed. A fõegyed-alegyed viszony természetesen csak egy bizonyos kapcsolatra érvényes, mivel ugyanaz az egyed más kapcsolatban más szerepet tölthet be. Általában minden kapcsolat (1:1, m:n) helyettesíthetõ ilyen fõegyed-alegyed (1:m) típusú kapcsolattal (bevezetve esetleg kapcsoló egyedeket, illetve összevonva egy-egy kapcsolatban álló egyedeket).
5.1. Átvihetõ, nem átvihetõ kapcsolatok
Ha egy alany egyed-elõfordulás egy adott kapcsolaton keresztül össze van kötve egy tárgy egyed-elõfordulással, majd késõbb megszûnik ez az összeköttetés és ugyanazon a kapcsolat-típuson keresztül létrejön az összeköttetés egy másik tárgy egyed-elõfordulással, akkor a tárgy egyedet átvihetõnek nevezzük. Ha a fentiek nem megengedettek, akkor a tárgy egyed nem átvihetõ. Például, egy folyószámla egy tulajdonoshoz tartozhat csak, de ha a tulajodonos (cég) kettéválik, akkor a két új tulajodonos közül az egyik örökölheti a régi folyószámlát. Ilyenkor a folyószámlát az új tulajdonoshoz kell kötni, azaz a Folyószámla-Ügyfél kapcsolat átvihetõ az Ügyfél egyeden belül.
5.2. Attribútumok
Egy attribútum pontosan egy adott egyed egy tulajdonsága, amely az adott egyedet leírja, minõsíti, azonosítja, számszerûsíti vagy az állapotát jelzi. Az attribútum egy adott értéke az egyed egy adott elõfordulásáról mond valamit. A "Folyószámla" egyed attribútumai lehetnek: "folyószámla száma", "tulajdonos", "egyenleg értéke", "nyitás dátuma", "kamatláb". A "Dokumentum" egyed attribútumai lehetnek: "Dokumentum azonosítója", "nyilvántartásba vétel dátuma", "dokumentum állapota", "tárolási hely". Konkrét attribútumértékek lehetnek a fentiekhez: 'F0306111', 'XXXXX Kft.', 1.012.110, 1993.06.02, 9, illetve, D001/93, 1993.02.21, 'Válaszra váró', '1/115/A'.Vannak olyan attribútumok, amelyek csak bizonyos egyed-elõfordulások esetén kapnak értéket, egyébként értékük "üres" vagy "nem kitöltött". Ezeket opcionális attribútumoknak nevezzük. A nem kitöltött érték különbözõ esetekben más és más jelentéssel bírhat. Például, egy folyószámla esetén, ha az ágazati besorolás nincs kitöltve, az azt jelenti, hogy a tulajdonos nem jogi személy. Egy dokumentum esetén, ha az ellenõrzés dátuma nincs kitöltve, akkor a dokumentumot még nem ellenõrizték. Ha egy attribútumot minden egyes elõfordulásra ki kell tölteni, akkor az kötelezõ attribútum. Egy kötelezõ attribútumnak lehet alapértéke, amit automatikusan felvesz.
5.3. Közös tartományok
Közös tartományba lehet sorolni két vagy több olyan attribútumot, amelynek vannak közös érvényesítési és formátum ellenõrzési szabályai vagy megengedett értékei. Ezt a közös tartományt lehet használni ezeknek a közös szabályoknak, értékeknek a leírására. Például a "Nyilvántartásba vétel dátuma", "Ellenõrzés dátuma", "Lezárás dátuma" tartozhat egy "Hivatali dátum" nevû közös tartományba, amelynek a leírásában szerepel egy formátum, pl. : "ÉÉÉÉ.HH.NN", ahol É az évszám egy számjegye, H a hónapszám egy számjegye és N a hónapon belüli nap sorszámának egy számjegye, és szerepel az az érvényesítési szabály, hogy ez a dátum nem eshet ünnepnapra. A "Külsõ dokumentum" egyedben a "Dokumentum állapota", illetve a "Belsõ dokumentum" egyedben a "Dokumentum állapota" nevû attribútum tartozhat egy közös "Állapot" nevû tartományban, ahol a leírásban fel vannak sorolva a megengedett állapotok, azaz: 'Nyilvántartásba vett', 'Ellenõrzött', 'Válaszra váró', 'Lezárt'.
5.4. Egyedi azonosítók
Egy egyed minden elõfordulása egyedi, ezért kell lennie valaminek, ami egy elõfordulást egyértelmûen azonosít. Az egyedi azonosító lehet:
5.5. Kulcsok
Az elsõdleges, jelölt és külsõ kulcsok fogalma a relációs adatelemzéshez kapcsolódik, ami külön technika a módszerben. Ezzel együtt, a logikai adatmodell és a normalizált relációk halmaza tulajdonképpen ugyanannak az infromáció tartalomnak két különbözõ jelölési módja. Az egyedek megfelelnek a relációknak, a kapcsolatok pedig a kulcsjelölt/ külsõ kulcs megfeleltetésnek. Bár a logikai adatmodellezéshez nem kötelezõ, a tervezés szempontjából hasznos, ha a logikai adatmodellben létrehozunk:
Azokat az egyedek, amelyeknek nincsenek fõegyedeik hivatkozási egyedeknek hívják. Ezeket egy vagy több attribútumuk azonosítja.Az alegyedbeli kulcsot, ha egy fõegyedre való hivatkozást (külsõ kulcsot) és egy vagy több további attribútumot tartalmaz, akkor hierarchikus kulcsnak hívják. Például "Számla" és "Számlasor" egyedek esetén a "Számlasor" egyed azonosítója: "Számlaszám" és "Sorszám".
Az alegyedbeli kulcsot, ha több fõegyedre való hivatkozást tartalmaz (külsõ kulcsokból áll össze), akkor összetett kulcsnak hívják. Ilyen például a "Gépkocsi" és "Tulajdonos" egyedeket összekötõ kapcsolóegyed ("Gépkocsi/ Tulajdonos párosítás"), amelynek a kulcsa a gépkocsi azonosítóból és a tulajdonos azonosítóból tevõdik össze, lehetõvé téve az egy gépkocsi-több tulajdonos és az egy tulajdonos-több gépkocsi kapcsolatokat.
Létezik olyan azonosító, amely a hierarchikus és összetett kulcsok kombinációjából adódik. Ha egy egyedben a hierarchikus kulcs nagyon sok attribútumból állna, akkor megfontolandó egy mesterséges kulcs bevezetése, de ezt a felhasználóval egyeztetni kell.
A következõ tevékenységek nem feltétlenül kötelezõek. Lehetséges megközelítéseket írnak le, amelyeket egymás után, vagy párhuzamosan lehet végezni, tapasztalattól és helyzettõl függõen.
6.1. Tényfeltárás
A tényfeltárás alapulhat a következõ tevékenységeken:
A nyílt megbeszélések lehetnek a kezdetekben a leghatékonyabb eszközök az áttekintõ logikai adatszerkezet meghatározásához. A továbbiakban mindegyik megközelítés használható. A relációs adatelemzés segíthet a formalapok elemzésében.
6.2. Egyedek azonosítása
Egyedeket lehet azonosítani a logikai adatmodellezés során bármikor. A felhasználók sokszor hasonlatokkal és példákkal írják körül az információs követelményeiket, ezért vigyázni kell a szinonimákkal (különbözõ nevek ugyanarra) és a homonimákkal (ugyanolyan nevek különbözõ dolgokra). Az elemzõnek azonosítania kell a mögöttes egyedet, megfelelõ nevet adva neki. Sokszor segít az, ha felméri, hogy mik azok az objektumok, amiket meg kell tudni különböztetni egymástól. Ha a felhasználók erõfeszítéseket tesznek azért, hogy egy dokumentumot azonosítóval lássanak el, akkor a Dokumentum egyed felvétele indokoltnak tûnik.
6.3. Kapcsolatok azonosítása
A kapcsolatokat a jelenlegi és igényelt rendszer logikai adatmodelljének kezdeti fázisában kell azonosítani. Minden egyes egyed-párra (illetve egyedre és önmagára) meg kell vizsgálni, hogy kapcsolatba lehet-e hozni egymással, anélkül, hogy a kapcsolat leírásához más egyed fogalmait felhasználnánk. Például a "Szülõ", "Iskola", "Gyermek" egyedek kapcsolatait vizsgálva, "Szülõ" és "Gyermek" között, illetve "Gyermek" és "Iskola" között egyértelmû kapcsolatot lehet felfedezni (gyermek a szülõ gyermeke, gyermek iskolába jár). "Szülõ" és "Iskola" között viszont nem lehet leírni a kapcsolatot, csak úgy, hogy felhasználjuk a "Gyermek" fogalmát (szülõ, akinek a gyermeke iskolába jár). Ha egy szülõ egyben tanár is, akkor létezhet közvetlen kapcsolat (szülõ iskolában tanít).Minden kapcsolathoz meg kell vizsgálni:
6.4. LDS rajzolás
Logikai adatszerkezeteket több alkalommal is kell rajzolni a fejlesztés során. Kezdetben a megvalósíthatósági tanulmány mellékleteként lehet áttekintõ logikai adatszerkezetet rajzolni, a követelményelemzés során a jelenlegi rendszer logikai adatszerkezetét kell létrehozni, a rendszerszervezési alternatívák közüli választás elõsegítésére lehet áttekintõ logikai adatszerkezetet használni és végül a követelmény-specifikáció részeként kell elõállítani az igényelt rendszer logikai adatszerkezetét.Általában az ábra részletességi szintje a kapcsolódó folyamatok részletességi szintjének feleljen meg, amit az adatfolyam-ábrák határoznak meg. Egy áttekintõ logikai adatszerkezet kevésbé részletes, mint a jelenlegi rendszer logikai adatszerkezete és a jelenlegi rendszer logikai adatszerkezete természetesen kevésbé részletes, mint az igényelt rendszer logikai adatszerkezete.
Az ábra rajzolása ismétlõdõ folyamat, mivel a felhasználó és az elemzõ párbeszéde során alakul ki. Akkor kell rögzíteni az eredményt, mikor mindkét fél elfogadhatónak tartja. A további elemzés hatására természetesen az ábra változhat.
Vannak szabályok, amelyeket érdemes betartani a rajzolás során, mivel növelik az ábra áttekinthetõségét. Ilyen szabály az, hogy a fõegyedeket az alegyedek fölé kell rajzolni, egy alegyedbe bemenõ kapcsolatokat az alegyed dobozához felülrõl illetve balról kell kapcsolni (semmiképpen nem alulról, mivel így egy felfelé álló "csirkelábbal" találkoznánk, ami a döglött csirke jellemzõje), a sok kapcsolat kiindulópontjaként szereplõ, fontosabb egyedeket középre kell rajzolni. A fenti szabályok szerint rajzolt ábrán a hivatkozási egyedek felül helyezkednek el, a gyakran használt egyedek jobboldalt alul. A kapcsolatok bonyolultsága miatt sokszor nem lehet követni ezeket a szabályokat, de általános elvként, az ábra egyes részleteinél lehet õket alkalmazni. A következõ dolgokat lehet még figyelembe venni:
6.5. Kapcsolatok elnevezése
A kapcsolatok összekötõ kifejezéseit a rajzolással egyidõben kell megadni. Mind a két végét le kell írni egy kapcsolatnak, mivel ez segíthet felismerni a felesleges kapcsolatokat, hiányos megértést, további kapcsolatok illetve egyedek szükségességét. Nagyon fontos a megfelelõ név kiválasztása, amely leírja az információigényt és lehetõvé teszi a felhasználónak a megértést és ellenõrzést. Az elemzõ szempontjából is fontos a kapcsolat pontos elnevezése, mivel sokszor segít kibogozni a kivételeket, speciális eseteket és idõfüggést az elemzés korai fázisaiban.
6.7. A funkcionális követelmények érvényesítése
Minden logikai adatmodellnek illeszkednie kell a megfelelõ adatfolyam-modellhez. Ez a következõ ellenõrzéseket teszi szükségessé:Elemi folyamatok
Ellenõrizzük, hogy minden egyedhez van-e legalább egy olyan elemi folyamat, amelyik képes azt létrehozni illetve törölni! Ha nincs, akkor az adatfolyam-modellt ki kell egészíteni.
Adattárak
A logikai adatmodelleknél (A jelenlegi logikai, illetve az igényelt adatfolyam-modelleknél) ellenõrizzük azt, hogy minden egyed pontosan egy (és nem több) adattárban szerepel-e! Ha nem, akkor módosítani kell az adattárakon vagy egyedeken vagy mindkét félen.
Elérési utak
Ellenõrizzük nem formális módon, hogy minden elemi folyamat részére a logikai adamodell megfelelõ elérési utat biztosít-e a módosítani illetve lekérdezni kívánt egyedekhez. Ehhez a feldolgozási folyamatokat és az adatszerkezetben leírt kapcsolatokat is ismerni kell, nincs olyan formális módszer, amivel ezt automatikusan ellenõrizni lehetne. Ha ellentmondást találtunk, akkor azt meg kell szüntetni.
6.11. Lekérdezési utak
A lekérdezési utak elõállítása a logikai adatmodellezés része, mivel a logikai adatmodell érvényességének az ellenõrzésére szolgál. A 360. lépésben kell a lekérdezési utakat elõállítani, amelyek a logikai tervezés során a lekérdezõ feldolgozási modellekhez szolgáltatnak majd kiindulási alapot. Mint ellenõrzési eszköz, indokolttá teheti a logikai adatmodell módosítását, ha a lekérdezési követelményeket másképpen nem lehet kielégíteni. Egyes esetekben egyenrangú megoldást jelenthet a logikai adatmodell módosítása, illetve további feldolgozási folyamatok bevezetése (pl. rendezések). A két megoldás közüli választást a mûködési követelmények alapján kell megtenni.Minden lekérdezéshez, azaz lekérdezõ funkcióhoz és módosító funkció lekérdezõ részéhez kell egy-egy ilyen ábrát készíteni. Az ábra a Jackson szerkezet jelölésmódját használja, de nem fejez ki szigorú sorrendiséget. Lényegében felsorolja a lekérdezés során érintett egyedeket és olyan útvonalat jelöl ki, amelyet egyszerû adatbázis-olvasási mûveletekkel be lehet járni. A következõ lépések során lehet az ábrát elõállítani:
a. Lekérdezés nevének meghatározása
A lekérdezésnek és a hozzá tartozó lekérdezési útnak lehet ugyanaz a neve, aminek mindeképpen egyedileg kell azonosítania a lekérdezést.
b. A lekérdezés indításának meghatározása
A lekérdezés indítása azokat az adatelemeket jelenti, amelyeket a lekérdezõ funkció bemenetként kap. Ezek általában a belépési ponton lévõ egyed kulcsa és esetleg néhány kiválasztási paraméter. Ha az adott ábra nem önálló lekérdezõ funkcióhoz tartozik, akkor le kell ellenõrizni, hogy a leírt lekérdezõ részt felhasználó funkciók mindegyike az ott bemenõ adatelemekbõl elõ tudja-e állítani a szükséges indító adatelemeket.
c. Lekérdezési út meghatározása
Hat tevékenységbõl állhat:
| c1 | Azonosítsuk azokat az egyedeket, amelyeket a lekérdezést tartalmazó funkció bemenet/kimeneti adatszerkezetén leírt kimenetek elõállítása érdekében el kell érni. |
| c2 | Rajzoljuk meg azt a logikai adatmodell-részletet, amely ezeket az egyedeket tartalmazza, minden fõegyedbõl alegyedbe tartó elérést függõlegesen, és minden alegyedbõl fõegyedbe tartó elérést vízszintesen rajzolva. |
| c3 | Rajzoljuk át a létrejött ábrát Jackson
jelölésmódot használva, a következõk
figyelembevételével: A függõleges elérésû egyedeket jelöljük meg a jobb felsõ sarokban egy csillaggal. Ez jelzi az ismétlõdõ elérést. Azért, hogy egyértelmû legyen a kapcsolat az elérés kiindulópontjával, minden ilyen ismétlõdõ elérésû egyed fölé vezessünk be egy dobozt, az alatta szereplõ egyed-elõfordulások halmazának jelölésére és kössük össze az ismétlõdõ egyeddel Azon egyedek alá, amelyeknél választási lehetõségeket szükséges jelezni, vegyük fel a lehetõségeket jelzõ dobozokat, a jobb felsõ sarokban egy körrel megjelölve, és kössük össze az egyeddel. Kössük össze nyíllal azokat az egyedeket, ismétlõdési szerkezeteket és választási szerkezeteket, amelyeket egymás után kell tudnunk elérni. Ha egy elérés egy választás egyik ágát érinti csak, akkor a megfelelõ ághoz kell a nyilat kötni. |
| c4 | Jelöljük meg az ábrán a lekérdezés
belépési pontját, felsorolva azokat az adatelemeket,
amelyek elindítják a lekérdezést,
bekezdésekkel jelezve az esetleges ismétlõdõ
csoportokat. Háromféle belépési pont lehetséges: elsõdleges kulcs szerint nem-kulcs attribútumok szerint minden elõforduláshoz, az adott egyedben (ilyenkor nincs felsorolt adatelem) Belépési pont nem lehet soha külsõ kulcs szerinti belépés. Ilyenkor fel kell venni a külsõ kulcsnak megfelelõ hivatkozási egyedet, és oda kell belépni, még akkor is, ha az egyedleírásban az eredeti belépési pont egyedéhez hozzá van rendelve a külsõ kulcsot tartalmazó attribútum. Ennek az az oka, hogy így világosan látszik az eredeti szándék (ti. az, hogy valamilyen létezõ egyed-elõfordulásnak megfelelõ egyedeket akarunk lekérdezni). Azt sem lehet feltenni, hogy a megvalósítás környezete megengedi, hogy külsõ kulcsok alapján érjünk el egyedeket (pl. hierarchikus adatbázis esetén nem), illetve megtörténhet, hogy a fizikai megvalósítás során eltûnik az adott külsõ kulcs az egyedbõl és így további specifikációt igényel majd a lekérdezésünk. |
| c5 | Miután a belépési pontok meg lettek határozva,
ellenõrizzük le, hogy az összes igényelt adatot el
lehet érni a következõ olvasási mûveleteket
feltételezve: egyed olvasása közvetlenül a kulcs alapján fõegyedhez tartozó következõ alegyed olvasása alegyed fõegyedének olvasása Ha ezek a mûveletek nem elegendõek, akkor módosítani kell a logikai adatmodellt, vagy egy feldolgozási folyamatot kell majd meghatározni (pl. sorbarendezés). Két olyan eset lehetséges, amikor feldolgozási folyamatra van szükség, az egyik a szerkezeti (strukturális) ütközés, a másik a felismerési nehézség. Mindkettõt a logikai tervezés során lehet majd pontosan meghatározni. Az elsõ esetben a bemeneti és kimeneti adatok szerkezete eltér egymástól, amit sorbarendezéssel, a feldolgozási folyamat több lépésre való bontásával lehet megszûntetni. A második esetben egy választási lehetõség feltételének kiértékeléséhez az adatokat csak a késõbbi olvasások során lehetne megkapni, amit összegzõ adatelemek fõegyedben való eltárolásával, elõreolvasási technikákkal lehet majd megszüntetni. A lekérdezési út rajzolásánál az adatszerkezethez kell igazodni, az elágazásokat a természetes helyükön kell ábrázolni, de el kell tudni jutni azokig az egyedekig, amelyekbõl a feltétel vizsgálatához az adatok kiolvashatók. |
| c6 | Az összes egyed összes belépési pontját jelöljük meg, a késõbbi fizikai adattervezés miatt. A megjelölést a logikai adatszerkezet egy másolatán kell elvégezni, a 360. lépésben, felvéve a belépési pontokat jelzõ nyilakat és a hozzájuk tartozó adatelemeket minden egyedhez, ahol szükséges. Ez több nyilat is jelenthet egy adott egyednél, mivel lehet, hogy több lekérdezésnek is kiindulópontja, különbözõ paraméterek szerint. Olyan egyedek is lehetnek (általában alegyedek), amelyeknek nincsenek belépési pontjaik, mivel csak érintett egyedek a lekérdezések során. |
Egy egyszerû hierarchikus lekérdezés lehet a következõ: "Sorolja fel egy adott helységbe tartozó összes, tulajdoni lapon nyilvántartott ingatlant". Ez a következõképpen nézhet ki (baloldalon az adatszerkezeti részlet, jobboldalon a lekérdezési út):



6.12. Dokumentálás
A logikai adatmodell dokumentálása folyamatos feladat a modell fejlesztése során.A kezdeti áttekintõ logikai adatszerkezethez nincs mögöttes leírás.
A jelenlegi környezet logikai adatmodelljének kialakítása során fontos, hogy a felmerülõ információkat az adott pillanatban rögzítsük a megfelelõ helyen. Így létre kell hozni egyedleírásokat, amelyek rögzítik az egyedekrõl ismert információkat, a hozzájuk tartozó kapcsolatokkal és attribútumokkal együtt. Az attribútumok közül elsõként az egyedi azonosítók részeit illetve a kulcsokat lehet rögzíteni. A késõbbiekben az összes fontosabb attribútumot is fel lehet venni. Ahol különbözõ adatelemekhez ugyanazok az ellenõrzési és formátum-kezelési szabályok tartoznak, ott ezeket egy közös tartomány-leírásban lehet rögzíteni.
A 320. lépésben az igényelt rendszer logikai adatmodelljének elõállítása a jelenlegi logikai adatmodell kiegészítésével történik, részletes leírásokat adva az egyedekrõl, kapcsolatokról, attribútumokról és közös tartományokról. A követelmény-bejegyzésekben meg kell jelölni, hogy az új rendszerrel szembeni adat-követelményeket a logikai adatmodell mely része fedi le (a régi rendszerbõl áthozott követelményeknél már ezt megtettük). Szintén a 320. lépésben, a logikai adatmodellel kapcsolatos, már meglévõ nem-funkcionális követelmények alapján a modellt ki kell egészíteni, például szolgáltatási szintekre vonatkozó elõírásokkal, hozzáférési korlátozásokkal, biztonsági, nyomkövetési és ellenõrzési elõírásokkal, esetleges egyéb megszorításokkal. Ezeket a nem-funkcionális követelményeket ki kell egészíteni utalásokkal azokra a helyekre, ahol ezeket a követelményeket a logikai adatmodellben figyelembe vették.
A 360. lépés végén, mikor a logikai adatmodell már teljessé vált, össze kell gyûjteni az egyedekhez és kapcsolatokhoz tartozó mennyiségi adatokat. Ilyen adatokat már az elsõ szakasztól kezdve kellett gyûjteni, hiszen fontos bemenetét alkothatták a rendszerszervezési alternatíváknak, de a követelmény-specifikáció végére mindenképpen rendelkezésre kell állniuk, a rendszertechnikai alternatívák kialakításához elengedhetetlen kapacitás-tervezés miatt. Az egyedekhez tartozó mennyiségi adatokat az "átlagos elõfordulás" mezõ tartalmazza az egyedleírásban, a kapcsolatok mennyiségi adatait pedig a kapcsolatban résztvevõ két egyed mennyiségi adatai alapján kell kiszámolni. Az így elõálló számokkal a jelenlegi rendszer logikai adatmodelljének egy példányát kell kiegészíteni. Az egyedek logikai méretét attribútumaik logikai méretébõl lehet kiszámolni.
7.1. Az egyedleírás elsõ része
| Egyed neve: | A leírandó egyed egyértelmû és általánosan elfogadott neve |
| Egyed AZ.: | A leírandó egyed rövid hivatkozási neve vagy száma. Nem kötelezõ kitölteni. |
| Hely: | Elosztott alkalmazásoknál használatos. |
| Átlagos elõfordulások: | Becslés az egyed elõfordulásainak átlagos számáról (a rendszer egészére nézve, vagy egy konkrét helyre egy elosztott alkalmazáson belül). Mivel az "átlagos" kifejezés nem elég pontos, feltevésekkel kell élni a megfelelõ idõszakra nézve (pl. 6 hónapos idõtávlatban). |
| Maximális elõfordulások: | Becslés az egyed elõfordulásainak maximális számáról. Rögzítsük olyan esetleges feltételezéseinket, mint a rendszer élettartama. |
| Leírás: | Egy meghatározó szöveg az egyed jelentõségérõl, amely egy-két mondatban leírja, hogy miért lett az egyed a modell része, és segít az olvasónak maga elé képzelnie az elõfordulásokat. Kötelezõ kitölteni. |
| Szinonimák: | Szükség esetén egy lista az egyed más neveirõl, beleértve a rövidítéseket is. |
| Attribútum név: | Itt kell felsorolni a helyi attribútumokat és külsõ kulcsba tartozó attribútumokat. A 360. lépés végére minden egyedhez legalább két attribútumnak kell tartoznia. |
| Elsõdleges kulcs: | Ebben az oszlopban egy jelet kell tenni minden olyan attribútum sorában, amelyik az egyed elsõdleges kulcsának része. |
| Külsõ kulcs: | Ezt az oszlopot olyan attribútumok sorában kell kitölteni, amelyek részei egy külsõ kulcsnak. Ilyenkor annak a fõegyedhez tartó kapcsolatnak a sorszámát kell ideírni, amelyiket az adott attribútum segít megjeleníteni. Egyszerre több értéket is be lehet írni, ha az adott attribútum több hierarchikus kulcs része. |
| Kapcsolat sorszáma: | A formalapon szereplõ kapcsolatokat be kell sorszámozni. Ezt a sorszámot kell felhasználni a külsõ kulcs oszlop bejegyzéseinél, ami által ellenõrizni lehet, hogy minden kapcsolatot képvisel-e egy vagy több külsõ kulcs hivatkozás. |
| Opcionalitás | "biztosan", ha a kapcsolat kötelezõ, "lehet, hogy", ha a kapcsolat nem kötelezõ. Üresen kell hagyni, ha a kapcsolat egy kizáró csoportba tartozik és nem az elsõ a csoportban. |
| Kizáró "vagy" kapcsolat | Akkor kell használni, ha a kapcsolat része egy kizáró csoportnak. Ilyenkor a "vagy" kifejezést kell használni a csoport minden tagjánál. |
| Összekötõ kifejezés | A leírt egyed nézõpontjából kimondott kapcsolat leíró kifejezés. |
| Számosság | "pontosan egy", ha a kapcsolat foka egy, "egy vagy több", ha kapcsolat foka sok. |
| Kapcsolódó egyed neve | A kapcsolat tárgy egyedének egyedi és elfogadott neve. |
| Megjegyzések | Bármilyen kiegészítõ megjegyzés. |

7.2. Az egyedleírás második része
| Egyed neve: | A leírandó egyed egyértelmû és általánosan elfogadott neve |
| Egyed AZ.: | A leírandó egyed rövid hivatkozási neve vagy száma. Nem kötelezõ kitölteni. |
| Hely: | Elosztott alkalmazásoknál használatos. |
| Átlagos elõfordulások: | Becslés az egyed elõfordulásainak átlagos számáról (a rendszer egészére nézve, vagy egy konkrét helyre egy elosztott alkalmazáson belül). Mivel az "átlagos" kifejezés nem elég pontos, feltevésekkel kell élni a megfelelõ idõszakra nézve (pl. 6 hónapos idõtávlatban). |
| Maximális elõfordulások: | Becslés az egyed elõfordulásainak maximális számáról. Rögzítsük olyan esetleges feltételezéseinket, mint a rendszer élettartama. |
| Leírás: | Egy meghatározó szöveg az egyed jelentõségérõl, amely egy-két mondatban leírja, hogy miért lett az egyed a modell része, és segít az olvasónak maga elé képzelnie az elõfordulásokat. Kötelezõ kitölteni. |
| Szinonimák: | Szükség esetén egy lista az egyed más neveirõl, beleértve a rövidítéseket is. |
| Attribútum név: | Itt kell felsorolni a helyi attribútumokat és külsõ kulcsba tartozó attribútumokat. A 360. lépés végére minden egyedhez legalább két attribútumnak kell tartoznia. |
| Elsõdleges kulcs: | Ebben az oszlopban egy jelet kell tenni minden olyan attribútum sorában, amelyik az egyed elsõdleges kulcsának része. |
| Külsõ kulcs: | Ezt az oszlopot olyan attribútumok sorában kell kitölteni, amelyek részei egy külsõ kulcsnak. Ilyenkor annak a fõegyedhez tartó kapcsolatnak a sorszámát kell ideírni, amelyiket az adott attribútum segít megjeleníteni. Egyszerre több értéket is be lehet írni, ha az adott attribútum több hierarchikus kulcs része. |
| Kapcsolat sorszáma: | A formalapon szereplõ kapcsolatokat be kell sorszámozni. Ezt a sorszámot kell felhasználni a külsõ kulcs oszlop bejegyzéseinél, ami által ellenõrizni lehet, hogy minden kapcsolatot képvisel-e egy vagy több külsõ kulcs hivatkozás. |
| Opcionalitás | "biztosan", ha a kapcsolat kötelezõ, "lehet, hogy", ha a kapcsolat nem kötelezõ. Üresen kell hagyni, ha a kapcsolat egy kizáró csoportba tartozik és nem az elsõ a csoportban. |
| Kizáró "vagy" kapcsolat | Akkor kell használni, ha a kapcsolat része egy kizáró csoportnak. Ilyenkor a "vagy" kifejezést kell használni a csoport minden tagjánál. |
| Összekötõ kifejezés | A leírt egyed nézõpontjából kimondott kapcsolat leíró kifejezés. |
| Számosság | "pontosan egy", ha a kapcsolat foka egy, "egy vagy több", ha kapcsolat foka sok. |
| Kapcsolódó egyed neve | A kapcsolat tárgy egyedének egyedi és elfogadott neve. |
| Megjegyzések | Bármilyen kiegészítõ megjegyzés. |
A felhasználói szerepkörök, hozzáférési jogok, felhatalmazó, archiválás és megsemmisítés valamint a biztonsági szempontok lehet, hogy nem tartalmaznak egyedenként különbözõ leírást, hanem a követelményjegyzékben vannak feljegyezve egyedek csoportjaihoz vagy az egész logikai adatmodellhez.

7.3. Kapcsolatleírás
| Egyed neve | A kapcsolat alany egyedének neve. |
| Egyed azonosító | Egy rövid hivatkozási név vagy szám, szükség esetén |
| Kötelezõ | Ezt a dobozt ki kell pipálni, ha a kapcsolatvég kötelezõ. |
| Opcionális | Ezt a dobozt ki kell pipálni, ha a kapcsolatvég nem kötelezõ. |
| Az opcionalitás %-os aránya | Ha a kapcsolatvég nem kötelezõ jellegû, akkor itt egy százalékos arányt kell mondani a kapcsolatból kimaradó alany egyed-elõfordulásokra. |
| Összekötõ kifejezés | Egy kifejezés, ami az alany egyed szempontjából leírja a kapcsolatot. |
| Leírás | Ezt akkor kell kitölteni, ha az összekötõ kifejezés nem érthetõ önmagában. |
| Szinonimák | Az összekötõ kifejezés más szavakkal. |
| Tárgy egyed neve | A kapcsolat másik felén lévõ egyed neve. |
| Tárgy egyed azonosítója | A tárgy egyed rövid hivatkozási neve vagy száma. |
| Egy (1:) | Ezt a dobozt akkor kell kipipálni, ha legfeljebb egy egyed-elõfordulás tartozhat a kapcsolat "tárgy" végén minden egyes egyed-elõforduláshoz az "alany" végen. |
| Több (m:) | Ezt a dobozt akkor kell kipipálni, ha egynél több egyed-elõfordulás tartozhat a kapcsolat "tárgy" végén minden egyes egyed-elõforduláshoz az "alany" végen. |
| Minimum | A kapcsolat "tárgy" végén lévõ egyed-elõfordulások minimális száma egy adott "alany" végi elõforduláshoz (nem kötelezõ jellegû kapcsolatoknál a nem kapcsolódó elõfordulásokat figyelmen kívül hagyva). |
| Átlag | Becslés a kapcsolat "tárgy" végén
lévõ egyed-elõfordulások átlagos
számára egy adott "alany" végi
elõforduláshoz (nem kötelezõ jellegû
kapcsolatoknál a nem kapcsolódó
elõfordulásokat figyelmen kívül hagyva) A számtani közép általában elfogadható, de ha a kapcsolat-elõfordulások száma egyenetlen, akkor hasznosabb más számot választani. Például, ha a kapcsolatok 10%-ában 6 egyed-elõfordulás vesz részt, és 90%-ában 1 elõfordulás, akkor az átlag 1,5 lesz, de hasznosabb az átlagot 1-nek tekinteni. További magyarázatot a "Számosság eloszlása" címszó alatt lehet adni. |
| Maximum | A kapcsolat "tárgy" végén lévõ egyed-elõfordulások maximális száma egy adott "alany" végi elõforduláshoz. Ha a "Sok" doboz ki lett pipálva, akkor ezt ki kell tölteni. |
| A számosság eloszlása | A kapcsolatban résztvevõ egyed-elõfordulások eloszlásának részletezése, ha szükséges (a kritikus kapcsolatok esetében ez hivatkozás lehet egy grafikonos elemzésre). |
| Növekedés egységnyi idõszak alatt | Leírás a kapcsolat elõfordulások növekedésének mértékérõl és a figyelembe vett idõszakról. |
| Egyéb tulajdonságok | A kapcsolatvég további tulajdonságai, például az átvihetõség. |
| Felhasználói szerepkörök | A felhasználói szerepkörök, akik hozzáférhetnek a kapcsolat itt leírt végének elõfordulásaihoz. |
| Hozzáférési jogok | Az adott sorban azonosított felhasználói szerepkör számára biztosított hozzáférési jog, ami lehet (L)étrehozás, (O)lvasás, (M)ódosítás, (T)örlés, (A)rchiválás, vagy MINDEN. |
| Felhatalmazó | A személy vagy felhasználói szerepkör, aki eldönti a megengedhetõ hozzáférési jogokat. |
| Megjegyzések | Bármilyen további megjegyzés. |
A felhasználói szerepkört, hozzáférési jogokat és felhatalmazót valószínûleg nem kell kitölteni minden kapcsolatban. Ha ki vannak töltve, akkor általában ugyanaz vonatkozik a kapcsolatok mindkét végére.

7.4. Attribútum-, adatelem-leírás
| Attribútum vagy adatelem neve | Az attribútum vagy adatelem egyedi és elfogadott neve. |
| Attribútum vagy adatelem azonosító | Egy rövid hivatkozási név vagy szám. Nem kötelezõ kitölteni. |
| Elõfordulási hely neve vagy azonosítója | Az attribútumra vagy adatelemre hivatkozó formalap. |
| Elõfordulási hely típusa | Itt lehet hivatkozni egyedleírásra, B/K
leírásra, B/K adatszerkezetre, közös
tartomány-leírásra, és/vagy
attribútum/adatelem-leírásra. Ez utóbbit akkor lehet használni, ha létezik külön fizikai és logikai leírás. A jelenlegi környezetben akár több fizikai leírása is lehet egy adatelemnek. |
| Szinonimák | Egy lista az adatelem/attribútum további neveivel, esetleges rövidítéseivel. |
| Leírás | További leíró információ, ha szükéges. |
| Ellenõrzés vagy származtatás | Az ellenõrzés vonatkozhat megengedett
értékekre, határokra, kódokra, szám
sorozatra és hibamentességi
ellenõrzésre. Származtatási szabályokat akkor kell leírni, ha az attribútum értékét más értékekbõl kell kiszámítani, vagy a rendszer hozza létre automatikusan. Azokat az attribútumokat, amelyeket egyszer kell a rendszer élete során elõállítani, meg kell különböztetni azoktól, amelyeket ismétlõdõ módon újra kell számolni. Az ellenõrzési vagy származtatási szabályok egy részét tartalmazhatja egy közös tartomány leírás. |
| Kötelezõ | Ezt a dobozt ki kell pipálni, ha egy attribútumértéket mindig ki kell tölteni minden egyes egyed-elõfordulásban. Ha szükséges, egy alapértéket is meg lehet adni. |
| Opcionális | Ezt a dobozt akkor kell kipipálni, ha egy attribútum értékét nem kell kitölteni minden egyes egyed-elõfordulásban. Ha szükséges, meg lehet adni egy kitöltetlenséget jelzõ értéket (nullérték). |
| Logikai formátum | A logikai formátum leírása. |
| Mértékegység | A hossz leírásának mértékegysége. |
| Logikai hossz | A logikai hossz. |
| A hossz jellemzése | Ha a hossz változó lehet, akkor itt az átlagos és maximális hosszt kell leírni. |
| Felhasználói szerepkörök | Az elérési joggal rendelkezõ felhasználói szerepkörök. |
| Hozzáférési jogok | Az adott sorban azonosított felhasználói szerepkör számára biztosított hozzáférési jog, ami lehet (L)étrehozás, (O)lvasás, (M)ódosítás, (T)örlés, (A)rchiválás, vagy MINDEN. |
| Felhatalmazó | A személy vagy felhasználói szerepkör, aki eldönti a megengedhetõ hozzáférési jogokat. |
| Szabványos üzenetek | Tájékoztatási, hiba- és normál felirat és más üzenetek. |
| Megjegyzések | Bármilyen további megjegyzés. |
A legtöbb attribútum esetén valószínûleg nem kell megadni a felhasználói szerepköröket, hozzáférési jogokat és felhatalmazót.Az ellenõrzés leírását el lehet halasztani a fizikai tervezésig.

7.5. Közös tartomány leírás
A közös tartományok leírásának kitöltését az attribútum/adatelem leíráshoz hasonlóan lehet végezni.



