1 / 52

Adatbázisok védelme Többszintű adatbázis védelem

Kovács Balázs előadása 2009/2010. I.félév. Adatbázisok védelme Többszintű adatbázis védelem. Bevezetés Integritási megszorítások Módosító műveletek Dekompozíció, helyreállítás. tartalom.

prince
Télécharger la présentation

Adatbázisok védelme Többszintű adatbázis védelem

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kovács Balázs előadása 2009/2010. I.félév Adatbázisok védelmeTöbbszintű adatbázis védelem

  2. Bevezetés Integritási megszorítások Módosító műveletek Dekompozíció, helyreállítás tartalom

  3. Az üzleti életben, a kormányzati területen stb. lévő adatbázisok nagy részénél az adatok biztonságának megvalósítását: • Különböző védelmi szintek alkalmazásával érik el • Minden adatbázis felhasználót egy biztonsági osztályba sorolnak • Egy MLS (többszintű adatbázis kezelő rendszernek) feladata tehát, hogy biztosítsa, hogy a felhasználók direkt vagy indirekt módon hozzá tudjanak jutni azokhoz az adatokhoz (csak), melyekre jogosultságuk van Bevezetés

  4. Sok próbálkozás MLSDBMS rendszer kialakítására: • Sokszor hasonló megoldásokat választva az objektumorientált adatbázisoknál. Egyes vezető cégek (Oracle, Sybase stb.) nem foglalkoznak ezzel a problémával • Másik kutatási prototípusokat készítenek (SRI). Viszont a mai napig nem tisztázott, hogy egy MLS modell pontosan milyen építő elemekből áll. Ez ahhoz vezetett, hogy alapvető kérdésekre választ adjanak: integritási megszorítások, módosítások szemantikája bevezetés

  5. Specifikáljuk az összes olyan megszorítást, ami biztosítja adatbázisunkban az adatok rendelkezésre állását: • klasszikus relációs környezetben az egyed integritási és külső kulcs megszorítás definiálását jelenti • MLS környezetben négy központi megszorítást fogunk definiálni, melyeket bármely MLS-nek teljesíteni kell: egy része az EIM általánosításaként értelmezhetőek, mások teljesen új koncepciók Integritási megszorítások

  6. Klasszikus relációs modellben: • Biztonsági klasszifikációja nem valósul meg • Az adatok táblákban vannak tárolva • Minden relációnak adott számú oszlopa van (attribútuma • Bármely időpillanatban a reláció sorokkal rendelkezik (rekordok) • A rekordok száma időről időre változik (valóságot tükrözi) Integritási megszorítások

  7. Klasszikus relációs modellben: • fenti relációt egy relációs sémával adhatjuk meg: amely egy jelsorozat: a reláció neve, majd attribútumainak listája. -> SOD (Starship, Objective, Destination • Formálisan R (A1, A2, …, AN) • relációs séma bármely időpillanatban állandó, de maga a reláció nem statikus: rekordok folyamatosan hozzáadásra, törlésre, módosításra kerülhetnek Integritási megszorítások

  8. Klasszikus relációs modellben: • Funkcionális függés • Kulcsjelöltek (elsődleges kulcs) Integritási megszorítások

  9. Többszintű világ: hozzáférési osztályok hogyan jelennek meg az adatbázisban • Hozzáférési osztály rendelhető: • relációhoz • rekordokhoz a relációkban • attribútumokhoz • adatelemekhez • A különböző jogosultsági osztályokból adódóan az érintettek az adatbázis különböző változatait, verzióit látják. Egy felhasználó egy c osztályú jogosultsági osztályba tartozva csak azokat az adatokat látja, amelyek c osztályába vagy alatta van definiálva Integritási megszorítások

  10. Példák U-user (aki az ábra 3. példányt látja) szeretné a második rekordot helyettesíteni, módosítani (SOD-U), mégpedig az új rekorddal (Voyager, Exploration,Talos) Integritási megszorítások

  11. Példa: SOD-S hogyan alakul Ezt nevezzük polimorfizmusnak (ployinstantion). Kettő vagy több rekord rendelkezik ugyanazzal az elsődleges kulccsal. A példából is láthatjuk, hogy klasszikus modellben alkalmazott megszorítás egy többszintű védelmi adatbázis modellben nem alkalmazható Integritási megszorítások

  12. Többszintű világ • R(A1,C1, A2, C2 …, AN,Cn,TC) relációs séma • Relációs sémákhoz relációs példányok tartoznak: Rc(A1,C1, A2, C2 …, AN,Cn,TC) • különböző rekordokból áll (a1,c1,a2,c2,….,an,cn,tc), melyben aiE Di vagy ai=null és c>=ciés tc mindig a legmagasabb hozzáférési szint lesz, ami a rekordban előfordul • megköveteljük, hogy ci akkor is definiált, amikor ai null, tehát a klasszifikációs attribútum nem lehet null Integritási megszorítások

  13. Többszintű világ • MLS példányok a valóságot próbálják visszaadni a megfelelő jogosultsági szinteket figyelembe véve • Továbbá jelentse t[Ai] egy adatelemet, ennek láthatóságát t[Ci] határozza meg, tehát vagyis c>=ci szinten látszódik, ha egy példány alacsonyabb szinten helyezkedik el, akkor t[Ai]= null érték lesz! Integritási megszorítások

  14. Mag intergitási megszorítások • 4 mag integritási tulajdonság • MLS reláció különböző példányokat értelmez a különböző hozzáférési szinteken, ezért feladatunk sokkal komplexebb, mint egy klasszikus reláció estén • kijelölünk egy felhasználó által választott AK-t (lehetséges kulcsot), amely attribútumok egy halmaza • Általában AK több attribútumból áll Integritási megszorítások

  15. Mag integritási megszorítások • Egyed integritásLegyen AK az elsődleges kulcsa R-nek. Az alábbi kritériumoknak teljesülnie kell bármely Rc példányra vonatkozóan, valamint a rekordoknak az alábbi tulajdonságot kell követnie: • az elsődleges kulcsot alkotó attribútumok nem vehetnek fel null értéketazaz Ai E AK -> Ai≠null • az elsődleges kulcsot alkotó attribútumok klasszifikációs osztálya azonos.Ai,Aj E AK -> t[Ci]=t[Cj] (egységes klasszifikáció) • a leíró attribútumok biztonsági szintje azonos vagy magasabb szintű, mint az elsődleges kulcs Integritási megszorítások

  16. Mag integritási megszorítások • Null integritásR kielégíti a null integritási megszorítást, ha bármely Rc esetén teljesül az alábbi két tulajdonság: • ha egy attribútum null értékű, akkor annak klasszifikációs szintje azonos az AK kulcs szintjével, azaz t E Rc, t[Ai]=null -> t[Ci]=t[CAK] • t rekord elrejti (helyettesít) s rekord minden olyan attribútumát, ahol • t[Ai,Ci]=s[Ai,Ci] azaz megegyezik értékük és láthatóságuk • t[Ai]≠null és s[Ai]=null Integritási megszorítások

  17. Mag integritási megszorítások Példa: a 6. ábrán látható példányt módosítja S felhasználó (Enterprise űrhajó célját Rigelre módosítja), akkor a 7. ábra tartalmazza az eredményt, a 8. ábra megsérti a null integritást Integritási megszorítások

  18. Mag integritási megszorítások • Konzisztencia megszorításR teljesíti ezt a megszorítást akkor és csak akkor, ha bármely c’<=c esetén Rc’=σ (Rc,c’), ahol σ egy szűrő funkció, amely Rc-ből képezi le Rc’ az alábbiak szerint: • azok a rekordok, amelynek elsődleges kulcsát alkotó attribútumok klasszifikációs szintje ≤ c’, azaz t[CAK]≤c’, azok bekerülnek Rc’ példány rekordjai közé (t’[AK,CAK]=t[AK,CAK])úgy, hogy a többi nem kulcs attribútum vagy • t’[Ai,Ci]= t[Ai,Ci], ha t[Ci]<=c’ • <null, t[CAK]>, különben • nem kerül rekord Rc’-be ha a fenti tulajdonság nem érvényesül • utolsó lépésként az elrejtés elve érvényesülhet a null integritásnál leírtak alapján Integritási megszorítások

  19. Mag integritási megszorítások • Polimorfizmus (többpéldányosságimegszorítás PI)R séma teljesíti a PI megszorítást, ha minden Rc példánya esetén fennáll: bármely Aiattribútumra igaz, hogy az AK (felhasználó által kijelölt nyilvánvaló kulcs), CAK AK klasszifikációja és Ci a megfelelő attribútumokhoz rendelt szint funkcionálisan meghatározza azt. Ez teszi lehetővé, hogy az S felhasználó a 4. ábrán látható példányt lássa, és megakadályozza, hogy kialakuljon az 5. ábrán lévő helyzet, A negyedik tulajdonság implicit magában hordozza az elsődleges kulcs fogalmát a többszintű relációkban, ahol tehát az elsődleges kulcsot AK U CAK U Cr(azon Ai-k klasszifikációs attribútumai, melyek nem részei az AK-nak) adja. Integritási megszorítások

  20. különböző karbantartó, módosító műveleteket, azok hatásait és szemantikáját fogjuk áttekinteni. • szintaxisban az SQL formalitását fogjuk követni. • Legyen R(A1, C1, A2, C2 …, AN, Cn,TC) többszintű relációs séma. • AK helyett A1 jelölést fogjuk használni, ami a nyilvánvaló kulcsot fogja reprezentálni. • Tegyük fel, hogy ’c’ szintű felhasználó csatlakozott az adatbázishoz. Ekkor a c - felhasználó direkt az R séma Rc példányát fogja látni. A sémához tartozó többi példány 3 kategóriába sorolható: • azok, melyek alacsonyabb szinten vannak c-től -> Rc’<c (c’<c) • azok, melyek meghaladják c szintjét -> Rc’>c (c’>c) • azok, melyek nem hasonlíthatók össze c-vel • Biztonsági szempontokat figyelembe véve a c felhasználó se direkt és se indirekt módon nem hajthat végre insert, update, delete műveleteket Rc’<c példányokon, mivel c tevékenysége nem lehet hatással az alacsonyabb biztonsági szinten lévőkre, csak a sajátjára. Továbbá ennek eredménye tükröződik mindazokban a példányokban, ahol Rc’>c a konzisztencia megszorítás következményeként. Ezeket a szituációkat fogjuk megvizsgálni a továbbiakban. Módosító műveletek

  21. INSERT • INSERTINTO Rc[(Ai[,Aj]…)]VALUES(ai[,aj]…) • Ha a t rekordot beszúrtuk Rc relációba, akkor hatással van az összes Rc’>c példányra, azaz a beszúrás látszik a magasabb biztonsági szintű relációkban is. Módosító műveletek

  22. Példák: U felhasználó egy második rekordot akar beszúrni a 9. ábrán látható táblázatba a következő utasítással -> INSERT INTO SOD VALUES (’Voyager’, ’Exploration’, ’Mars’) Módosító műveletek

  23. S-felhasználó szintén be akar szúrni egy rekordot a 9. ábrán lévő táblába a következő utasítással -> INSERT INTO SOD VALUES(’Enterprise’, ’Spying’, ’Rigel’) megengedjük a beszúrást, hiába van már ugyanolyan elsődleges kulcs a táblában. A 11. ábrán látható példányban a két rekord két különböző egyedet különböztet meg, ezt nevezzük opcionális polimorfizmusnak a beszúrásnak nincs hatása az U- felhasználó példányár Módosító műveletek

  24. Legyen S példánya 12. ábrán és U- felhasználó példánya üres, és U az alábbi beszúrást hajtja végre -> INSERT INTO SOD VALUES (’Enterprise’, ’Exploration’, ’Talos’) Ez a beszúrás módosítja U példányát is, belekerül egy rekord és a 9. ábra áll elő .A beszúrásnak hatása van a magasabb szinten lévő példányokra is, így S-ben is látszódni fog, amit a 11. ábra szemléltet Módosító műveletek

  25. UPDATE UPDATE RcSET Ai=si[,Aj=sj]…[WHERE p] Egy módosító művelet szemantikája a többszintű világban is majdnem ugyanaz, mint a klasszikus relációs modellben relációban szereplő rekordok értékeit módosítsuk azokat a rekordokat fogja érinteni, amelyek eleget tesznek a where feltétel utáni predikátumnak módosítás polimorfizmust eredményezhet Módosító műveletek

  26. Példák: Vegyünk alábbi két SOD példányt, amelyet SOD-U (13. ábra) és SOD-S (14. ábra) fog reprezentálni. U- felhasználó az alábbi műveletet hajtja végre SOD-U példányon UPDATE SODSET Destination=TalosWHERE Starship=’Enterprise’ Módosító műveletek

  27. A módosítás eredménye a 15. és 16. ábrán látható. Látható, hogy a 16. ábrán SOD-S példányban az Enterprise elsődleges kulcs esetén polimorfizmus áll fenn Módosító műveletek

  28. 16. ábrán látható táblát akarja S- felhasználó módosítani a következő művelettel UPDATE SODSET Objective=SpyingWHERE Starship=’Enterprise’ AND Destination=’Rigel’ hatása a 17. ábrán látható, és nem a 18. as ábrát eredményezi, mivel a szelektor kifejezés csak a második rekordot érinti az elsőt nem. Módosító műveletek

  29. A 16. ábrán lévő állapotból 18. ábrán lévő állapotba a következő utasítással lehet elérni UPDATE SODSET Objective=’Spying’WHERE Starship=’Enterprise’ mivel mindkét rekord kiválasztásra kerül, de U szintű rekord felülírása nem lehetséges, tehát polimorfizmus alakul ki: Módosító műveletek

  30. Update hatása C – felhasználó szintjén Update hatása C – felhasználó hozzáférési szintje felett Módosító műveletek

  31. DELETE DELETEFROM RC[WHERE p] A WHERE utáni rész ismét egy feltételes kifejezés, amely a törlendő rekordok halmazát jelöli ki, vagyis azok törlődnek RC példányból, melyek eleget tesznek a feltételnek figyelembe kell venni, hogy a rekord hozzáférési szintje C-vel azonos legyen, vagyis t[TC]=c. Hogy a PI és konzisztencia megszorítás továbbra is érvényesüljön azokból a példányokból is törölni kell a rekordokat, melyek C-től magasabb szinten állnak. Módosító műveletek

  32. Háttér: egy többszintű relációs adatbázis kezelő rendszerben a legfontosabb kérdés, hogy az egyes hozzáférési osztályok hogyan rendelhetők hozzá tárolt adatokhoz. A javaslat szerint relációkra, relációkon belül rekordokra, valamint attribútumokra is értelmezhető a biztonsági szint gyakorlatban általában adatelemekre értelmezik a biztonsági klasszifikáció kérdését Dekompozíció, helyreállítás

  33. Adatbiztonsági szempontból a MLS reláció logikai szinten létezik. Valóságban többszintű relációkat egyszerű, egyszintű relációkra bontják szét, amelyek fizikailag is tárolva vannak az adatbázisban. Vagyis logikai szintet le kell képezni a fizikai, adatbázis szintjére. Világos, hogy így ezekből az egyszintű relációkból kell visszaállítani az eredeti többszintű relációnkat • a dekompozíció töredezettséget, fregmentációt von maga után Dekompozíció, helyreállítás

  34. Dekompozíció, helyreállítás • 1. megoldás • egyik csoport az elsődleges kulcsból • a többi 8 a leíró attribútumokból származik • Problémák: • ismétlődő joinok • hamis rekordok • Joinok nagy költsége

  35. 2. megoldás Hatékony 4 darab egyszintű relációt láthatunk. Ebből könnyen visszaállítható az eredeti JOIN-olás nélkül, csupán unióképzést kell végeznünk Dekompozíció, helyreállítás

  36. Dekompozíció • R(A1,C1, A2, C2 …, AN,Cn,TC)-bőlegyszerű, egyszintű relációkat állít elő minden egyes hozzáférési szintre nézve • DC(A1,C1, A2, C2 …, AN,Cn) • A C- felhasználó az RC példányt látja és ezzel áll kapcsolatban. Akárhányszor C- felhasználó beszúr, módosít, töröl RC-ben, akkor a rekordok ekképpen vagy beszúrásra, vagy módosításra, vagy törlésre kerülnek DC-ben. Minden RC-ben bekövetkezett változás érzékelhetőnek kell lennie RC’>C (DC’>C), de ennek feladatát a helyreállító algoritmus fogja elvégezni • Továbbá, bármely olyan művelet, amely módosítja DC-t semmilyen hatása nincs a többi jogosultsági szintet képviselő egyszerű relációkra, vagyis DC’, ahol c’≠c. A változásokat RC’>C a helyreállító algoritmus fogja reflektálni, ami az egyszerű, egyszintű relációk uniójaként fogja ezt megtenni: U C’≤CDC’. Dekompozíció, helyreállítás

  37. Dekompozíció működése • Beszúrás • C- felhasználó t rekordot akarja beszúrni RC-be • C hozzáférési szintje lesz az attribútumok klasszifikációs attribútuma. Ebben az esetben a dekompozíciós algoritmus szintén elvégzi a beszúrást DC egyszerű relációba • a felsőbb szintű relációkban a változást a helyreállító algoritmus hajtja végre majd, tehát RC’>C-ben is látható lesz a DC-be történt beszúrás Dekompozíció, helyreállítás

  38. Dekompozíció működése • Módosítás • Tegyük fel, hogy C-felhasználó sikeresen futtat egy módosító utasítást. • S={t E Rc: t eleget tesz where feltételnek} rekordok halmaza • minden egyes t RC esetén két lehetséges állapot lehet: • módosítás pontosan egy u rekordot érint, mely nyilvánvaló kulcsának hozzáférési szintje azonos C-felhasználóéval • módosítás olyan attribútumokat érint, melyek nyilvánvaló kulcsának hozzáférési szintje alacsonyabb C-felhasználó szintjétől Dekompozíció, helyreállítás

  39. nem lesz polimorfizmus, vagyis ha t[A1,C1]=c. Ekkor pontosan egy olyan u rekord van DC-ben, ahol u[A1,C1]=t[A1,C1]. Ekkor az egyszintű relációban lévő u rekord leíró attribútumai a következőképpen változnak meg (RC-ben is a megfelelő), k≠1: • ha a módosítás olyan attribútumokat érint, melyek nyilvánvaló kulcsának hozzáférési szintje alacsonyabb C-felhasználó szintjétől, vagyis t[A1,C1]<c, ekkor t rekordra nézve polimorfizmus esete állhat elő C szintjén, mivel C-felhasználó nem írhatja felül az alacsonyabb szintű attribútumot Dekompozíció, helyreállítás

  40. 2 esetben két további szituáció lehet 2.1. t rekord nem lesz polimorf. Ekkor DC-ben nincs olyan u rekord, melyre u[A1,C1]=t[A1,C1] igaz, vagyis nincs azonos nyilvánvaló kulccsal rendelkező rekord (előfordulhat, mivel RC-ben attól, hogy szerepel t rekord, a DC-ben nem biztos, hogy benne van a helyreállító algoritmus működését figyelembe véve). Ekkor az új u rekord hozzáadásra kerül DC-hez, úgy hogy u[A1,C1]=t[A1,C1] (nyilvánvaló kulcs változatlan), k≠1: A ’?’ attribútum érték speciális jelentéssel bír, amelyet a helyreállító algoritmus figyelembe fog venni Dekompozíció, helyreállítás

  41. 2 esetben két további szituáció lehet 2.2. t rekord polimorf lesz C hozzáférési szintjén. Ebben az esetben egy vagy több rekord esetén, u DC, melyekre igaz, hogy u[A1,C1]=t[A1,C1] (nyilvánvaló kulcsuk azonos). Ekkor 2 eset lehet, ahol k≠1: • ha t[Ci]=c, akkor u[Ai,Ci]= t[Ai,Ci] eset áll fenn • ha t[Ci]<c, akkor eset áll fenn A következő módon módosul u rekord, u’[A1,C1]=u[A1,C1]: Dekompozíció, helyreállítás

  42. Dekompozíció működése • Törlés • C-felhasználó sikeres törlési parancsot ad ki • azokat a t rekordokat érinti, melyek eleget tesznek a törlés utasításában szereplő feltételnek, valamint a rekord hozzáférési szintje C-vel azonos, vagyi t[TC]=c • A dekompozíció miatt DC-ből is törlődnek mindazok az u rekordok, melyek eleget tesznek a következő feltételnek: u[A1,C1]=t[A1,C1], vagyis a törlendő rekord nyilvánvaló kulcsával azonos u rekordok törlésre kerülnek Dekompozíció, helyreállítás

  43. Helyreállító algoritmus működése • Ahhoz, hogy egy C-felhasználó RC példányát helyre tudjuk állítani, a következő lépéseket kell végrehajtanunk • az egyszerű, egyszintű relációk unióját kell végrehajtanunk, UC’≤CDC’, valamint a rekordok hozzáférési szintje az attribútumok közül a legmagasabb szintű lesz t[TC]=max{Ci} • következő lépésben a kulcstörlési szabályt hajtjuk végre RC-ben Dekompozíció, helyreállítás

  44. Helyreállító algoritmus működése • ’?’ attribútum értékek helyettesítéseLegyen t rekord RC-ben, a hol t[Ak]=’?’, vagyis van olyan attribútuma, melynek értéke ’?’. Ekkor két eset lehetséges: • van egy másik u rekord RC-ben melynek nyilvánvaló kulcsa azonos t kulcsával, valamint u rekord biztonsági szintje is azonos t-jével. Ebben az esetben a ’?’ helyére az u rekord megfelelő attribútumát helyettesítjük. Formálisan:u RC, ahol u[A1,C1]=t[A1,C1] és u[TC]=t[TC], akkor ’?’ helyére minden attribútum esetén t[Ak]=u[AK] kerül • ellenkező esetben null értékkel helyettesítjük • végül RC-ben elrejtést során mindazon az s rekordokat eltávolítjuk, melyekre igaz • vagy minden attribútumuk azonos, t[Ai,si]=s[Ai,si] • vagy t[Ai]≠null és s[Ai]=null Dekompozíció, helyreállítás

  45. Példák: • Beszúrás (insert)Tekintsük a 28. ábrán lévő SOD-U példányt és a hozzá tartozó DU dekompozíciós egyszerű relációt. U- felhasználó:INSERT INTO SOD VALUES(’Voy’,’Exp’,’Mars’) Dekompozíció, helyreállítás

  46. Dekompozíció, helyreállítás • Hatása:SOD-U, mind DU megváltozik, amit a 29.ábra reprezentál. A helyreállító algoritmus első lépésben DU-ból előállítja SOD-U, a második, harmadik, negyedik lépések semmilyen hatással nem bírnak ebben a szituációban.

  47. Példák: • Módosítás (update)Legyen U- felhasználó relációs példánya SOD-U, DU pedig hozzá tartozó dekompozíciós relációja. S felhasználó példánya ugyanazt a rekordot fogja tartalmazni, mint az U- felhasználóé, ezért az ő DS dekompozíciós relációja üres lesz. Ezt a 30. és 31. ábra mutatja. Dekompozíció, helyreállítás

  48. S- felhasználó az alábbi módosító műveletet futtatja:UPDATE SODSET DEST=’Rigel’WHERE SHIP=’Ent’A módosító műveletek szemantikáját figyelembe véve a SOD-S a 32. ábra szerint módosul, továbbá első lépésként a dekompozíciós algoritmus a DS relációt eredményezi. (dekompozíció módosítás 2.1 pontja) Dekompozíció, helyreállítás

  49. Láthatjuk, hogy DS-be belekerült egy rekord u-nak • amelynek van olyan attribútum értéke, mely <? U>-kéntszerepel->a helyreállító algoritmus működését indukálja • ? attribútumot valamilyen más értékkel helyettesíteni fogja, mivel SOD-S példány előállítása mindig az adott felhasználóhoz tartozó dekompozíciós relációból történek, vagyis DS-ből: • első lépésként a helyreállító algoritmus a DS’<=S dekompozíciós relációk unióját képzi • következő lépésben a ? érétkek helyettesítése történik meg úgy, hogy a <? U> érték helyére <Exp U> érték kerül, ami az alacsonyabb biztonsági szintű DU-ból került elő • utolsó lépésként az ismétlődő rekordok eltávolítása történi, így áll elő a 32. ábra SOD-S példánya Dekompozíció, helyreállítás

  50. Példák: • Törlés (delete)U- felhasználó az alábbi törlési műveletet hajtja végre:DELETEFROM SODWHERE SHIP=’Ent’A 33. ábrán lévő relációra (vegyük figyelembe, hogy S- felhasználó 34. állapotot látja) Dekompozíció, helyreállítás

More Related