1. rész
A hierarchikus modell alapgondolata
A hierarchia egymás alá rendelt elemek rendszerét fejezi ki. Egy intézményhez programok, egy programhoz műhelyek, egy műhelyhez feladatok tartozhatnak. A modellt akkor értjük meg könnyen, ha először azt kérdezzük: mi a kiinduló elem, és mely elemek tartoznak közvetlenül alá?
A klasszikus fa nem általános háló. A gyökérnek nincs szülője, minden további csomópontnak pontosan egy közvetlen szülője van. Egy csomópontnak ugyanakkor több gyereke is lehet. Az útvonalak ezért egyértelmű, felülről lefelé követhető láncokba rendeződnek.
A hierarchikus alárendelés nem öröklést jelent. Ha az INTEZMENY alatt MUHELY található, a műhely nem az intézmény egy speciális fajtája. Két külön dolog között fennálló szerkezeti kapcsolatot tárolunk. Ezt később az EER-modell főosztály–alosztály viszonyától is meg kell különböztetni.
A természetes fa jó kiindulópont lehet olyan nyilvántartásoknál, ahol az adatok egyértelmű tulajdonosi vagy összetartozási útvonalat követnek. Nehézség akkor jelentkezik, ha ugyanaz az önálló adat több ághoz kapcsolódik, vagy több szülőt igényel. Ilyenkor a modellválasztást és az esetleges kiterjesztést tudatosan kell mérlegelni.
| Állítás | Jelentés |
|---|---|
| Egy műhely egy program alá tartozik. | Szülő–gyerek kapcsolat. |
| Egy műhely több feladatot tartalmaz. | Egy-több szerkezet. |
| Egy mentor egyben résztvevő is. | Nem egyszerű szülő–gyerek kapcsolat; szerep vagy alosztály kérdése. |
| Ugyanaz az eszköz két műhelyhez kell. | Több szülő igénye; a tiszta fa korlátjába ütközhet. |
2. rész
Rekord és szülő–gyerek kapcsolat: PCR
A rekord egy konkrét nyilvántartott elem adatait tartalmazza, a rekordtípus annak szerkezetét írja le. Az INTEZMENY rekordtípus mezői intezmeny_id és nev; a MUHELY-é muhely_id, cim és kezdes lehetnek. A típusok kapcsolata nem azonos a konkrét intézmény és konkrét műhely kapcsolatával.
Az INTEZMENY–MUHELY PCR-ben az intézmény a szülő, a műhely a gyerek. Egy intézményhez több műhely tartozhat; egy adott műhelynek ebben a klasszikus szerkezetben egy közvetlen intézményi szülője van. A szülő nulla gyerekkel is megmaradhat, ha a követelmények ezt megengedik.
A PCR típust a részt vevő rekordtípusok és a szerepek azonosítják. A bemutatott hierarchikus jelölés nem ad külön SET-nevet az élnek úgy, mint a hálós modell. Az ábrán ezért a nyíl és a mezős dobozok szerepe a lényeg: szülőből vezet a gyerekhez.
Egy rekord egyszerre lehet gyerek és szülő. A MUHELY gyereke az INTEZMENY-nek, és szülője a FELADAT-nak. Ettől nem sérül az egyetlen közvetlen szülő szabálya: a rekord fölötti és alatti kapcsolatok más szerepet töltenek be.
Az INTEZMENY a gyökértípus. A MUHELY és SZERVEZETI_EGYSEG gyerekek; a MUHELY alatt FELADAT és IDOPONT található.
Kidolgozott példa · Szülő és gyerek szerep
A Robotépítés műhely az Innovációs központ egyik műhelye.
- Az Innovációs központ intézményrekord szülő.
- A Robotépítés műhelyrekord gyerek.
- A Robotépítéshez tartozó Szenzorvizsgálat feladatrekord még egy szinttel lejjebb található.
- A műhely a feladat felől nézve szülő, az intézmény felől nézve gyerek.
3. rész
Hierarchiadiagram és előfordulási fa
Egyetlen típusdiagramhoz több előfordulási fa tartozhat. Az I1 intézmény fája tartalmazhat két műhelyt, az I2 intézményé csak egyet. A gyökértípus azonos, de a gyökérrekordok különböznek. A rekordértékek és a gyerekek darabszáma előfordulásonként változhat.
A konkrét példafán I1 Innovációs központ gyerekei M101 Robotépítés, M103 3D-prototípus és S1 Laborcsoport. M101 alatt F1 Szenzorvizsgálat és F2 Hibakeresés, M103 alatt F3 Modelltervezés szerepel. Ebben a tanulási példában minden gyereknek pontosan egy tényleges szülője van.
A részfa egy kiválasztott csomópontból és valamennyi leszármazottjából áll. Az M101 részfája M101, F1 és F2 rekordot tartalmaz. Az I1 részfája a teljes előfordulási fa. A részfa fogalma fontos a bejárás és a törlési következmények megértéséhez.
A típusdiagramon egy FELADAT doboz jelenik meg, az előfordulási fán viszont több feladatrekord. A konkrét értékek nem új rekordtípusok. Ugyanígy egy második intézmény új gyökérelőfordulás, nem feltétlenül új típus.
A sorrend ebben a példában balról jobbra értelmezett: előbb M101 részfája, utána M103 részfája, végül S1.
| Típusdiagram | Konkrét előfordulás |
|---|---|
| INTEZMENY | I1: Innovációs központ |
| MUHELY | M101: Robotépítés; M103: 3D-prototípus |
| FELADAT | F1: Szenzorvizsgálat; F2: Hibakeresés; F3: Modelltervezés |
| SZERVEZETI_EGYSEG | S1: Laborcsoport |
4. rész
Preorder bejárás és hierarchikus sorozat
A fát lineáris sorozatként is felsorolhatjuk, ha egyértelmű bejárási rendet választunk. Preorder esetben előbb a szülő kerül sorra, és csak utána a leszármazottai. Minden gyerek teljes részfáját bejárjuk, mielőtt a következő testvérre térnénk.
A példafán a sorozat I1, M101, F1, F2, M103, F3, S1. Nem I1, M101, M103, S1, F1, F2, F3: az utóbbi szintenkénti felsorolás volna. A két eljárás ugyanazokat a csomópontokat, de más sorrendben járja be.
A sorozat értelmezéséhez szükséges a rekordtípus és a hierarchia szerkezeti leírása. Az önmagában felsorolt értékekből nem mindig állapítható meg egyértelműen, melyik csomópontnak ki a szülője. A típusjelzés, szint vagy más szerkezeti információ a rekordok jelentését is megőrzi.
A hierarchikus rekord fogalmát egyes rendszerek a gyökérből és alatta lévő szegmensekből álló teljes összetartozó egységre is használják. A tárolási vagy feldolgozási sorozat logikai magyarázat; nem állítjuk, hogy minden DBMS minden rekordot pontosan ilyen, egymás utáni fizikai bájtsorozatban tárol.
Próbáld ki a preorder bejárást!
A sárga csomópontot dolgozzuk fel. Minden csomópont után gyerekei teljes részfáit járjuk be sorban.
Még nem kezdtük el a bejárást.
A következő lépés a gyökérhez vezet.
Eddigi sorozat: —
bejár(csúcs):
feldolgoz(csúcs)
minden gyerekre a meghatározott sorrendben:
bejár(gyerek)5. rész
A klasszikus hierarchia szerkezeti szabályai
A gyökértípusból indul a hierarchia. Nem lehet ugyanennek a fának másik rekordtípusa alatt gyerekként megjeleníteni, mert ezzel megszűnne a gyökér szerepe vagy kör keletkezne. A leszármazási kapcsolatok nem térhetnek vissza saját ősükhöz.
Minden további rekordtípus gyerekként egyetlen PCR típushoz tartozik a klasszikus sémában. Ha FELADAT egyszerre MUHELY és OKTATO valódi gyereke volna, a típusdiagram már nem tiszta fa. Az, hogy egy feladatnak üzletileg felelőse is van, nem indokolja automatikusan két valódi szülő megrajzolását.
Egy szülőnek többféle gyerektípusa lehet: a műhelyhez feladatok és időpontok is kapcsolódhatnak. A gyerektípusok és előfordulások rendezett feldolgozási sorrendje a bejárást is meghatározza. A több gyerek önmagában nem teszi hálóssá a modellt.
A fa fő előnye az egyértelmű útvonal és az összetartozó adatok természetes csoportosítása. A korlát az, hogy önállóan tárolt adatot nem rendelhetünk két valódi szülőhöz ugyanabban a klasszikus fában. Ha ilyen igény van, más szerkezetet vagy kiterjesztést kell választani.
| Kérdés | Tiszta fában elvárt válasz |
|---|---|
| Van gyökér? | Igen; nincs fölötte szülő. |
| Hány valódi szülője van a nem gyökér csomópontnak? | Pontosan egy. |
| Lehet több gyereke egy rekordnak? | Igen. |
| Lehet saját őse egy rekord? | Nem. |
| Lehet ugyanaz a konkrét rekord két ág közös valódi gyereke? | Nem, a klasszikus fában ez több szülőt jelentene. |
6. rész
M:N kapcsolat ismétléssel: a probléma és az ára
A M101 Robotépítés és M103 3D-prototípus is használ E1 multimétert. Ha a műhely alatt teljes ESZKOZ gyerekrekordot tárolunk, az E1 azonosítójú eszköz adatai mindkét ágban megjelennek. Két tárolt példány egyetlen valós eszközfajtát ír le.
Az ismétlés megőrzi a tiszta fát: minden tárolt példánynak egyetlen szülője van. Ugyanakkor a gyártó, megnevezés vagy karbantartási adat javítását több helyen kell elvégezni. Ha csak az egyik példányt módosítjuk, az adatbázis két eltérő leírást tartalmaz ugyanarról a dologról.
Az ismétlődő gyerek lehet a kapcsolat előfordulása is. Ha csak eszközazonosítót és használati darabszámot tárolunk, akkor nem a teljes eszközadatot másoljuk. Az eszköz részletes adatainak eléréséhez azonban továbbra is kell másik nyilvántartás vagy támogatott kapcsolat. Az azonosítót tartalmazó rekord és a teljes önálló eszközrekord nem ugyanaz.
A hierarchia megfordítása nem oldja meg az M:N jelentést általában. ESZKOZ gyökér alatt a műhelyek adatai ismétlődnének. A redundancia másik oldalra kerülhet, de nem tűnik el automatikusan. A hozzáférési igény és a központi törzsadatkezelés alapján kell dönteni.
| Ág | Tárolt név | Módosítás után |
|---|---|---|
| M101 alatt E1 | Digitális multiméter | Új név: Precíziós multiméter |
| M103 alatt E1 | Digitális multiméter | Régi név marad, ha nem frissítjük |
| Következmény | Ugyanaz az azonosító két névvel | Módosítási anomália |
7. rész
Virtuális szülő–gyerek kapcsolat: VPCR
Az M:N igényre több hierarchia közötti kapcsolatot használhatunk, ha a DBMS ezt támogatja. Az egyik fában MUHELY alatt ESZKOZMUTATO rekordok vannak, egy másikban az ESZKOZ rekordok önálló gyökerek vagy saját hierarchia elemei. Az ESZKOZMUTATO az eszközrekordra mutat.
Az ESZKOZMUTATO valódi szülője a MUHELY. Virtuális szülője az a konkrét ESZKOZ, amelyre a mutatója irányul. A virtuális nyíl nem teszi az eszközt a műhelyfa második valódi szülőjévé. A valódi fa és a kiegészítő kapcsolati réteg együtt értelmezendő.
Több ESZKOZMUTATO utalhat ugyanarra az E1 rekordra, ezért az eszköz törzsadatait nem kell műhelyenként ismételni. M101 és M103 saját használati rekordjai különböznek, de mindkettőből ugyanahhoz az E1-hez jutunk. A használat darabszáma a mutatórekord saját adata lehet.
A virtuális kapcsolat külön támogatott mechanizmus, nem a klasszikus modell alapszabályainak elfelejtése. Egyes rendszerek logikai szülő és logikai gyerek terminológiát használnak. A jelentésnél azt kell követni, ki a fizikai vagy valódi szülő, és melyik rekordra vezet a kiegészítő kapcsolat.
A folytonos nyíl MUHELY valódi szülőből ESZKOZMUTATO gyerekhez vezet. A szaggatott nyíl a gyerekből a hivatkozott ESZKOZ virtuális szülőre mutat.
Kidolgozott példa · E1 egyszer tárolva
X1 az M101, X3 az M103 műhely gyereke; mindkettő E1-re mutat.
- X1 adata: mutató E1-re; darabszám 6.
- X3 adata: mutató E1-re; darabszám 2.
- E1 megnevezése egy központi eszközrekordban szerepel.
- A két darabszám nem redundáns másolat: két külön használat adata.
8. rész
Visszamutatók és virtuális testvérlánc
Az ESZKOZMUTATO → ESZKOZ irány a konkrét használatból gyors eszközelérést kínál. Fordított kérdés azonban az, hogy melyik műhelyek használják az E1 eszközt. Ehhez E1 felől a rá hivatkozó virtuális gyerekeket kell elérnünk.
Egy megoldásban az eszközrekord az első hivatkozó gyerekre mutat, a virtuális gyerekek pedig egymást összekapcsoló láncot alkotnak. A virtuális gyerekmutató az első elemre, a virtuális testvérmutató a következő elemre vezet. Ez a hálós fizikai láncolással rokon megvalósítási ötlet.
A visszamutató nem új üzleti kapcsolat: ugyanannak az eszközhasználatnak a másik irányú elérését támogatja. Ha a hivatkozó rekordot töröljük vagy átirányítjuk, a lánc összhangját is fenn kell tartani. Ennek kezelése rendszerfeladat vagy támogatott műveletsor.
Nem minden hierarchikus rendszer ugyanígy valósítja meg a virtuális kapcsolatok visszakeresését. A modell magyarázata ezért a szerepeket különíti el: a valódi fa szerkezete, az előre hivatkozás és az esetleges visszirányú elérés három egymáshoz kapcsolódó, de eltérő fogalom.
ESZKOZ E1
→ első rá hivatkozó virtuális gyerek: X1
→ X1 valódi szülője: MUHELY M101
→ következő virtuális testvér: X3
→ X3 valódi szülője: MUHELY M103
→ nincs több hivatkozó gyerek9. rész
Létezési és törlési integritás
A klasszikus hierarchiában a gyerek nem létezhet valódi szülője nélkül. Új FELADAT rekordot ezért egy létező MUHELY alá szúrunk be. A gyökér létrehozása más helyzet: annak nem kell fölötte álló szülőrekord.
A valódi szülő törlése a bemutatott modellben a teljes alárendelt részfa törlésével jár. M101 törlése F1 és F2 feladatot is érinti. Egy gyerek önálló törlése nem törli automatikusan a szülőjét vagy testvéreit. A konkrét rendszer API-jának törlési szabályait ettől még ismerni kell.
A virtuális szülő törlése más kérdés. E1 központi eszközrekordot nem törölhetjük úgy, hogy X1 és X3 továbbra is érvénytelen mutatót tartalmazzon. Lehetséges szabály a törlés tiltása addig, amíg hivatkozó virtuális gyerek létezik, vagy a hivatkozások támogatott rendezése a törlés előtt.
Ha M101 törlése X1 virtuális gyereket is törli, az E1 eszköz ettől még megmarad: nem M101 valódi leszármazottja. A két törlési hatást külön kell követni. A hierarchikus életciklus és a virtuális kapcsolatok integritása együtt ad következetes adatállapotot.
| Törölt elem | Érintett elemek | Elvárt következmény |
|---|---|---|
| M101 műhely | F1, F2, X1 valódi leszármazottak | A részfa kezelése a hierarchikus törlési szabály szerint. |
| F1 feladat | Csak F1 saját részfája | M101 és F2 megmarad. |
| X1 használati mutató | M101–E1 kapcsolat ezen előfordulása | E1 megmarad; visszamutató láncot rendezni kell. |
| E1 eszköz | X1 és X3 hivatkozások | Ne maradjanak érvénytelen virtuális mutatók. |
10. rész
ER–hierarchikus leképezés: az első fázis
Először minden egyedtípushoz rekordtípust rendelünk. Az 1:N kapcsolatból szülő–gyerek kapcsolat képezhető, az 1 oldal szülőként szerepel. Az 1:1 kapcsolathoz megfelelő szülőválasztás és a legfeljebb egy gyerek korlát megőrzése szükséges.
Az M:N kapcsolatból köztes kapcsolórekordot készítünk. A MUHELY és ESZKOZ közötti HASZNALAT mindkét résztvevőhöz kapcsolódik. Ebben az átmeneti lépésben a kapcsolórekordnak két lehetséges szülője van, tehát a szerkezet még nem érvényes klasszikus fa.
Többágú kapcsolatnál a köztes rekord minden résztvevőhöz kapcsolódik. A raktári kiadásnak műhely-, anyag- és raktárszerepe van. Az első fázis célja, hogy a kapcsolat jelentése és attribútumai ne vesszenek el; a fa korlátjához igazítást ezután végezzük.
A rekordtípusok átnevezése vagy az egyik nyíl elhagyása nem megfelelő javítás, ha az eredeti kapcsolat jelentése eltűnik. Az átmeneti szerkezetet úgy alakítjuk át, hogy a másik szereplő elérhetősége és a kapcsolat saját adatai is megmaradjanak.
| ER-elem | Átmeneti rekordstruktúra |
|---|---|
| Egyedtípus | Rekordtípus. |
| 1:N kapcsolat | Szülő–gyerek szerkezet, 1 oldali szülővel. |
| 1:1 kapcsolat | Szülő–gyerek szerkezet külön maximumkorláttal. |
| M:N kapcsolat | Kapcsolórekord két résztvevőhöz kapcsolva. |
| Többágú kapcsolat | Kapcsolórekord az összes résztvevőhöz kapcsolva. |
11. rész
A második fázis: valódi és virtuális szülő kijelölése
A HASZNALAT köztes rekordnál a műhelyt választjuk valódi szülőnek. A rekord neve lehet ESZKOZMUTATO, és a MUHELY alatt tároljuk. Az eszköz külön hierarchiában marad; a köztes rekord rá mutat. Ezzel a műhelyfa minden elemének egyetlen valódi szülője van.
A választást a gyakori hozzáférési feladatok is befolyásolják. Ha többnyire egy műhely teljes eszközlistáját olvassuk, természetes a műhelyből lefelé haladás. Ha az eszközök terhelése az elsődleges feladat, fordított szervezés vagy megfelelő visszirányú elérés is szükséges lehet.
A köztes rekord nemcsak mutatót, hanem a kapcsolat saját adatait is tartalmazza: darabszámot, időszakot vagy megjegyzést. Ezek a valódi és virtuális szülő együttese által meghatározott kapcsolat-előfordulás adatai, nem kizárólag egyik szülőé.
A második fázis végén ellenőrizzük a valódi fák szabályait és az összes virtuális hivatkozást. Minden köztes rekordnak legyen valódi szülője, minden kötelező mutató érvényes célra vezessen, és az eredeti kapcsolatokhoz tartozó attribútumok megfelelő helyen maradjanak.
Kidolgozott példa · A köztes HASZNALAT átalakítása
MUHELY és ESZKOZ egyaránt kapcsolódik HASZNALAT-hoz.
- MUHELY lesz a valódi szülő.
- HASZNALAT-ból ESZKOZMUTATO gyerekrekordot készítünk.
- Az ESZKOZ rekord önálló hierarchiában marad.
- Az ESZKOZMUTATO mutatója az ESZKOZ-ra vezet; a darabszám a mutatórekordban marad.
- A valódi MUHELY-fa és a virtuális hivatkozás együtt őrzi az eredeti M:N kapcsolatot.
12. rész
Többágú kapcsolatok: a közös előfordulás megőrzése
A KIADAS kapcsolat MUHELY, ANYAG és RAKTAR szereplőket kapcsol össze. A MUHELY alatt tárolt kiadási gyerekrekord hordozhatja a kiadás azonosítóját, dátumát és mennyiségét. Az anyagra és raktárra kiegészítő hivatkozások vezetnek.
Ha a használt virtuális gyerek szerkezet egyetlen virtuális szülőmutatót enged, a többi szereplőhöz tartozó mutatókat külön, alárendelt rekordokkal oldhatjuk meg. A KIADAS alatt ANYAGMUTATO és RAKTARMUTATO gyerek kerülhet, mindkettő saját virtuális szülőre mutat. A kiadási azonosító és a közös valódi ős megőrzi az összetartozást.
Nem lehet a mennyiséget egymástól függetlenül az anyagmutató és raktármutató mellé másolni úgy, hogy később két eltérő érték jöhessen létre. A mennyiség a közös kiadási esemény adata. Az alárendelt mutatók résztvevőket választanak ki, nem külön kiadási eseményeket jelentenek.
A konkrét szerkezet rendszerfüggő; a példában egyértelmű, több szintű megoldást használunk. A fontos ellenőrzés az, hogy a műhely, anyag, raktár és mennyiség egyetlen kiadási előfordulásként rekonstruálható legyen.
MUHELY alatt KIADAS, az alatt két valódi mutatógyerek található. A két szaggatott hivatkozás ANYAG és RAKTAR önálló rekordjára vezet.
Egy kiadás adattartalma
K41: MUHELY M101 valódi gyereke; dátum és 12 méter mennyiség.
K41 alatt AM41: virtuális hivatkozás A8 anyagra.
K41 alatt RM41: virtuális hivatkozás R2 raktárra.
A két mutató ugyanahhoz a K41 eseményhez tartozik.
13. rész
Összetett példa és ellenőrzési munkamenet
Az intézményhez műhelyek tartoznak, a műhelyhez feladatok és eszközhasználatok. A feladatok a műhely saját részei, az eszközök viszont több műhelyben használt törzsadatok. Ezért a FELADAT valódi gyerek, az ESZKOZ pedig külön nyilvántartás, amelyre ESZKOZMUTATO vezet.
A típusdiagramon először csak a valódi éleket vizsgáljuk. A gyökérből minden csomóponthoz egyetlen út vezet; nem lehet két valódi szülő vagy kör. Ezután hozzáadjuk a virtuális nyilakat, és külön megvizsgáljuk a célok létezését és a visszirányú használat igényét.
A konkrét előfordulásokban a műhelyből egyszerűen felsorolhatók a feladatok és használati mutatók. A műhely teljes részfájának törlésekor a mutatók megszűnnek, az önálló eszközadatok azonban megmaradnak. Az eszköz törlése viszont csak a rá mutató rekordok figyelembevételével rendezhető.
A megoldás előnye, hogy a műhelyhez tartozó helyi adatok együtt vannak, miközben a közös törzsadat nem másolódik. Az ára a virtuális kapcsolatok és életciklus-szabályok kezelése. A modell akkor használható jól, ha a tervezett hozzáférési utak és a rendszer képességei összhangban vannak.
| Lépés | Ellenőrzés |
|---|---|
| 1. Valódi fa | Gyökér, egyetlen szülő, nincs kör. |
| 2. Helyi adatok | A feladat a saját műhelyéhez tartozik. |
| 3. Közös törzsadat | Az eszköz egyszer tárolt önálló adat. |
| 4. Virtuális kapcsolat | Minden használati mutató létező eszközt ér el. |
| 5. Törlés | A részfa és a külső hivatkozások hatása rendezett. |
| 6. Visszaállítás | Az eredeti ER-kapcsolatok és attribútumok rekonstruálhatók. |
14. rész
Hierarchikus rendszerek és navigáció
Az IMS terminológiájában a nyilvántartott elem gyakran szegmens, a gyökérszegmens és leszármazottai pedig egy adatbázisrekord összetartozó részei. A fizikai szülő–gyerek kapcsolat a valódi hierarchiát írja le, a logikai kapcsolat további elérési útvonalat biztosíthat. Ezeket a kifejezéseket mindig az adott rendszer értelmében kell használni.
Az adatbázis definíciója nemcsak logikai szerkezetet, hanem az adott megvalósításhoz szükséges elérési és tárolási leírásokat is tartalmazhat. A gyökérszegmensek elérése történhet külön keresési szerkezetekkel. A gyökér megtalálása után a program a hierarchia mentén navigál.
A GET UNIQUE jellegű művelet meghatározott szegmenst keres, a GET NEXT jellegű művelet a bejárás következő szegmensét éri el. Az INSERT, REPLACE és DELETE létrehozást, módosítást és törlést végezhet. A NEXT általános parancsnál nem egyszerűen mindig „a következő mélyebb szint” értendő: a navigáció típusát és feltételeit a rendszer határozza meg.
A hierarchikus modell jól illeszkedhet természetesen fás adatokhoz és ismert bejárási mintákhoz. Sok M:N kapcsolatnál azonban a többszörös tárolás vagy a kiegészítő logikai kapcsolatok bonyolíthatják a tervet. A modell alkalmasságáról a konkrét szerkezet és terhelés alapján döntünk, nem pusztán történeti életkora miatt.
| Művelet | Feladat |
|---|---|
| GET UNIQUE | A feltételeknek megfelelő meghatározott szegmens elérése. |
| GET NEXT | A rendszer navigációs rendjének megfelelő következő szegmens. |
| INSERT | Új szegmens beszúrása szabályos helyre. |
| REPLACE | A kiválasztott szegmens módosított adatainak visszaírása. |
| DELETE | Szegmens törlése a kapcsolati szabályok figyelembevételével. |
Önellenőrző feladatok
Először válaszolj önállóan, és indokold a döntésedet! A kérdés megnyitásakor látható a megoldás és a magyarázat.
1. Mi a klasszikus hierarchia legfontosabb szülőszabálya?
A gyökérnek nincs szülője; minden további konkrét rekordnak egyetlen valódi közvetlen szülője van.
2. Miért nem öröklés az INTEZMENY–MUHELY kapcsolat?
Az intézmény és műhely két külön valós elem. A műhely nem az intézmény egy fajtája, hanem hozzá kapcsolódó gyerekrekord.
3. Mit jelöl a PCR?
A Parent–Child Relationship szülő–gyerek kapcsolatot, amelynek előfordulásában egy szülőhöz nulla vagy több gyerek tartozik.
4. Lehet egy rekord egyszerre szülő és gyerek?
Igen. A MUHELY az intézmény gyereke, a feladatok szülője. Ettől egy közvetlen szülője marad.
5. Mi a különbség a hierarchiadiagram és az előfordulási fa között?
Az első a típusokat és megengedett kapcsolataikat, a második konkrét rekordokat és kapcsolataikat mutatja.
6. Add meg a példafa preorder sorozatát!
I1, M101, F1, F2, M103, F3, S1. Minden csomópont után teljes gyerekrészfáit járjuk be sorban.
7. Miért hibás preorder sorozat az I1, M101, M103, S1, F1, F2, F3?
Ez szintenkénti felsorolás. Preorder esetén M101 után előbb F1 és F2 következik, csak azután a következő testvér M103.
8. Mi az M101 részfája a konkrét példában?
M101 és minden leszármazottja: F1 és F2. A szomszédos M103 ág nem része.
9. Mi a teljes eszközrekord műhelyenkénti másolásának veszélye?
Az önálló eszközadat több helyen szerepel, és a példányok módosításkor eltérhetnek. Redundancia és módosítási anomália keletkezhet.
10. Ki a virtuális gyerek valódi szülője a példában?
Az ESZKOZMUTATO valódi szülője a MUHELY. A mutató által elért ESZKOZ a virtuális szülő.
11. Megmarad-e E1, ha M101 műhely és X1 mutatógyereke törlődik?
A szerkezet szerint igen: E1 külön nyilvántartásban tárolt eszköz, nem M101 valódi leszármazottja. A hivatkozási és visszamutató szerkezetet rendezni kell.
12. Törölhető-e E1 úgy, hogy X1 és X3 érvénytelen mutatóval maradjon?
Nem következetes megoldás. A törlést tiltani kell vagy a hivatkozásokat a támogatott szabály szerint előbb rendezni.
13. Miért kerül a darabszám az ESZKOZMUTATO rekordba?
Mert az adott műhely és eszköz használati kapcsolatának adata; műhelyenként eltérhet ugyanahhoz az eszközhöz.
14. Érvényes kész hierarchia a két valódi szülőjű HASZNALAT rekord?
A klasszikus szabály szerint nem. Ez lehet átmeneti leképezési ábra, amelyet egy valódi és egy virtuális szülőre kell átalakítani.
15. Mit őriz meg a KIADAS közös előfordulása?
Az adott műhely, anyag, raktár és kiadási mennyiség összetartozását. Az egymástól független párkapcsolatok ezt nem feltétlenül adják vissza.
16. Mit jelent a szegmens IMS környezetben?
A hierarchikus adatszerkezet egy elemét. A gyökérszegmens és az alatta lévő szegmensek egy összetartozó adatbázisrekordot alkothatnak.
Összetett gyakorlófeladatok
1. gyakorlófeladat: építs és járj be egy fát!
P1 programhoz M1 és M2 műhely tartozik ebben a sorrendben. M1 feladatai F1 és F2; M2 feladata F3. P1 alatt a műhelyek után egy K1 kapcsolattartó-rekord is szerepel.
- Nevezd meg a gyökeret, a szülőket és a leveleket!
- Add meg a preorder sorozatot!
- Add meg M1 részfáját!
- Mondd meg, mi marad meg M1 részfájának törlése után!
Részletes mintamegoldás és indoklás
- Gyökér P1. M1 és M2 gyerekek, és egyben feladataik szülői. Levelek F1, F2, F3 és K1.
- Preorder: P1, M1, F1, F2, M2, F3, K1.
- M1 részfája: M1, F1, F2.
- P1, M2, F3 és K1 megmarad. A külső hivatkozásokat külön ellenőrizni kell, ha vannak.
2. gyakorlófeladat: alakíts M:N kapcsolatot VPCR-ré!
M1 és M2 ugyanazt az E7 mérőeszközt használja. M1-nél 4, M2-nél 2 darab a használati igény. Az eszköz nevét egyszer akarjuk tárolni.
- Válassz valódi szülőt a használati rekordoknak!
- Add meg a két mutatórekordot és a virtuális céljukat!
- Helyezd el a neveket és darabszámokat!
- Fogalmazd meg az E7 törlését védő szabályt!
Részletes mintamegoldás és indoklás
- A használati rekordok valódi szülői a műhelyek. E7 külön eszközhierarchiában szerepel.
- X1 M1 gyereke, E7-re mutat. X2 M2 gyereke, szintén E7-re mutat.
- E7 neve az ESZKOZ rekordban van. X1 darabszáma 4, X2-é 2; ezek két külön kapcsolat saját adatai.
- Ne maradjon E7-re mutató érvénytelen rekord. Törlés előtt tiltással vagy támogatott hivatkozásrendezéssel biztosítsuk az integritást.
3. gyakorlófeladat: ellenőrizd a hibás hierarchiát!
Egy terv szerint FELADAT valódi gyereke MUHELY-nek és MENTOR-nak is. A mentor törlése minden műhelyt is törölne, mert a rajzoló minden kapcsolatot leszármazási élnek tekintett.
- Mi a szerkezeti hiba?
- Hogyan választható külön az összetartozás és a felelősi kapcsolat?
- Miért nem helyes a teljes műhelyállomány törlése?
- Milyen ellenőrzéseket végzel a javított terven?
Részletes mintamegoldás és indoklás
- A FELADAT két valódi szülőt kap, ami sérti a klasszikus hierarchiát.
- FELADAT lehet MUHELY valódi gyereke, a felelős MENTOR felé pedig támogatott virtuális kapcsolat vezethet. A MENTOR külön hierarchiában marad.
- A virtuális vagy felelősi kapcsolat nem teszi a műhelyeket a mentor valódi leszármazottaivá. A hivatkozási hatást és a valódi fa szerinti törlést külön kell meghatározni.
- Egyetlen valódi szülő minden nem gyökér rekordnál; nincs kör; érvényes mentorhivatkozások; megfelelő részfatörlés; a feladat jelentése és saját adatai megmaradnak.
A modellt a jelentése, a példarekordok és az integritási szabályok együtt igazolják. Ellenőrizd mindhármat a saját terveiden is!