Synapsově-orientovaný (SO) přístup, vztahově orientované úložiště (CODS) PA116 - 10 (c) Zdenko Staníček, Michal Oškera, srpen 2006 PA116 - lekce 10 2 Obsah ˇ Opakování ­ principy a motivace ˇ Vztahově orientovaný přístup ˇ Teoretická východiska ˇ TI a NP hierarchie typů ˇ Dvojid, synapse, bambus a bambusiště ˇ Informační schopnost bambusu ˇ Souvislost metody DM HIT a CODS ˇ Srovnání OODS a CODS ˇ Univerzální CODS PA116 - lekce 10 3 Fritjof Capra: Tkáň života ˇ ,,Obrovským šokem vědy dvacátého století bylo to, že systémům nemůžeme porozumět na základě jejich analýzy. Vlastnosti částí nejsou skutečnými vlastnostmi, ale mohou být pochopeny pouze v kontextu většího celku. . . . ˇ Systémové myšlení je kontextuální, což je opakem analytického myšlení. ˇ Analýza znamená pojímat něco odděleně v zájmu porozumění. ˇ Systémové myšlení znamená umístit to něco do kontextu většího celku (v zájmu porozumění)." PA116 - lekce 10 4 Základní principy systémového myšlení (F. Capra) ˇ 1. posun od částí k celku - tj. akceptování předpokladu, že chování celku nelze poznat analýzou vlastností jeho částí ˇ 2. schopnost zaměřit pozornost na různé úrovně systému ˇ 3. poznání, že části neexistují - ve skutečnosti to, co v prvním bodě nazýváme částí, je pouze uspořádaní v neoddělitelném předivu vztahů; proto posun od částí k celku lze pokládat za posun od objektů ke vztahům PA116 - lekce 10 5 Pragmatika ˇ Princip pragmatického vnímání objektů ­ Tytéž objekty našeho zájmu vykazují v různém čase či pod různými úhly pohledu různé vlastnosti a různé souvislosti směrem k jiným objektům ­ Tyto změny vlastností však nejsou objektivní, ale naopak subjektivní a jsou v souladu se snižující se či zvyšující se mírou našeho zájmu o tyto objekty, která je určována pragmatickou potřebou tyto objekty v různém čase nebo situacích různě vnímat PA116 - lekce 10 6 Pragmatika - příklady ˇ Různé role ­ Objekt typu (#Zaměstnanec) je jinak vnímán ˇ Personalistou ˇ Šéfem výroby ˇ ... ˇ Různé situace (různý čas) ­ Objekt typu (#Žena/#Muž) je jinak vnímán(a) ˇ Při prvním setkání ˇ Před svatbou ˇ Po ní PA116 - lekce 10 7 Vztahově orientovaný přístup ˇ Podstatou vztahově orientovaného přístupu k ukládání dat je ukládání výskytů vztahů a nikoliv ukládání předem určených celků v podobě na začátku fixně daných tabulek ˇ Princip vztahového vnímání modelů Při pohledu na model čehokoliv, který je reprezentovatelný grafem, a přemýšlení o něm, se zaměřujeme primárně na vztahy (hrany grafu) mezi jednotlivými částmi modelu (uzly grafu). PA116 - lekce 10 8 Vztahově orientované vnímání modelů (1) ˇ posun od objektů ke vztahům Zákazník cd Data Model zákazník - ICO: int - název: varchar - DIČ: int cd Data Model tbl_zakaznik *PK column ICO: LONG column DIC: LONG * column nazev: VARCHAR(50) + PK PK_tbl_zakaznik(LONG) Zákazník IČO DIČ název IČOZákazník attr DIČZákazník attr názevZákazník attr IČO Zákazník attr DIČ attr název attr posun PA116 - lekce 10 9 Vztahově orientované vnímání modelů (2) ... semantic web OOM ER-model svět modelů vnímání vnímání vztahů vnímání objektů DBMS svět technologie posun PA116 - lekce 10 10 Vztahově orientovaný přístup - očekávání ˇ Ukládání dat způsobem zohledňujícím princip pragmatického vnímání objektů ˇ Realizace univerzálního datového úložiště stávajících a budoucích silných modelovacích nástrojů (např. DMT) ˇ Základ nového způsobu organizace dat, který dá vzniknout novým možnostem dotazování a práce se znalostmi vůbec ­ tento způsob je alternativou nikoli náhradou PA116 - lekce 10 11 Teoretická východiska ˇ TIL ­ P. Tichý ­ Rozvětvená hierarchie typů ­ pouze insiprace ˇ TI a NP hierarchie typů ˇ HIT ­ M. Duží, P. Materna, F. Krejčí, Z. Staníček ­ Místo na BS je pozornost soustředěna na ATR ­ Binarizační princip (opakování) PA116 - lekce 10 12 Typ a kategorie z hlediska CODS ˇ Typ je speciální případ kategorie ­ Uvážíme-li množinu kategorií K a množinu typů T, které zavádíme v rámci tvorby libovolného systému, pak platí: T K ˇ Každý objekt je přímo právě jednoho typu / bydlí přímo právě v jednom typu ­ Říkáme, že objekt je instancí typu ˇ Nadtyp-podtyp (NP hierarchie) ˇ Zmiňování/užívání typu PA116 - lekce 10 13 Sorty HITu a typy v CODS ˇ Každé entitní sortě E z libovolného modelu přiřadíme typ TE , který slouží pro pořádání její konečné podtřídy, jejíž obsah je výsledkem našeho aktuálního poznávání a potřeby ˇ Podobně každé deskriptivní sortě D přiřadíme typ TD ˇ Sorty z metody HIT nejsou totéž co typy v CODS! PA116 - lekce 10 14 TI a NP hierarchie typů ˇ Dva základní druhy vztahů mezi typy, kterými lze uspořádat typy do dvou hierarchií ˇ TI hierarchie ­ Pořadá typy dle vztahu typ-instance ˇ NP hierarchie ­ Pořádá typy dle vztahu nadtyp-podtyp PA116 - lekce 10 15 TI hierarchie ˇ Objekty zájmu, které nejsou typy, jsou pořádány typy 1. řádu ­ Typy 1. řádu jsou listy v pomyslném stromě reprezentujícím TI-hierarchii ˇ Typy řádu N+1 pak pořádají typy řádu N ­ Typy řádu většího než 1 nazýváme typy vyšších řádů nebo také meta-typy ˇ TI hierarchie není objektivně dána, nýbrž je výsledkem procesu modelování a pragmatického poznávání aktuálního světa! ­ Stejně tak jako NP hierarchie PA116 - lekce 10 16 TI hierarchie - příklad ˇ Více příště Osoba Typ_Osoby Zaměstnanec Typ_řádu_1 NP TI Hana typy řádu 1 typy řádu 2 typy řádu 3 objekty, které nejsou typy PA116 - lekce 10 17 Princip identifikace ˇ Mějme model M = (BS, ATR, RUL, OPE), nechť E BS je entitní sorta, potom v ATR musí existovat, takový atribut A typu ((Wrld, Time) (E D)), pro který platí, že: ­ je totální funkcí, ­ D je deskriptivní sorta a že ­ atribut A' typu ((Wrld, Time) (D E)) je jeho přípustná singulární rotace ˇ Potom se A nazývá identifikační atribut entitní sorty E a D se nazývá identifikací sorty E ­ Identifikátor jakožto prvek identifikace D jednou přiřazený konkrétnímu objektu sorty E se nesmí žádnou aktualizací změnit PA116 - lekce 10 18 Rozšíření principu identifikace ˇ Pro libovolné dvě sorty E1 a E2 s identifikačními atributy po řadě A1 a A2 platí ­ Jestliže je D identifikací sorty E1 a zároveň sorty E2 musí být pro libovolné dva prvky e1 E1 a e2 E2 zajištěno, že budou identifikovány různými prvky identifikace D, ­ tj. aplikace funkce, která je konstruována konstrukcí w t [° [°A1 e1 ]wt [°A2 e2 ]wt ], kde / (D,D) Bool testuje prvky sorty D na neshodu, musí vracet vždy hodnotu true PA116 - lekce 10 19 Identifikace v CODS ˇ V CODS identifikujeme právě ty objekty, které jsou pořádány některým z typů z námi zvolené TI hierarchie ­ tj. i typy samotné ˇ Objekty jsou identifikovány pomocí prvků typu univerzální světové identifikace (UWID) ˇ Každá instance typu UWID identifikuje nejvýše jeden objekt nehledě na to, jakého je tento objekt typu! PA116 - lekce 10 20 Identifikace UWIDy ˇ Požadované vlastnosti uwidů ­ Celosvětová jedinečnost ­ Nemají omezený rozsah ˇ Důsledky ­ Identifikace bez obav o přetečení počitadla ­ Spolehnutí, že jakékoliv dvě různé elementární znalosti v rámci jednoho SW systému jsou identifikovány různými identifikátory ­ Při interakci dvou SW systémů nedojde ke kolizi identifikátorů PA116 - lekce 10 21 Pojetí objektu v CODS ˇ Objekty si lze představit jako izolované body v mentálním prostoru, které nemají žádnou vlastnost nutně ˇ Antiesencialismus ­ P. Materna ­ Logické skoby na vlastnosti, nahá individua PA116 - lekce 10 22 Dvojid Dvojid - motivace ˇ Označení ­ Objekt, který má vlastnost býti typem: ­ Objekt, který nemá vlastnost býti typem: Zákazníkname 3 4 TITI TI PA116 - lekce 10 23 Dvojid - definice ˇ Nechť tuwid UWID, iuwid UWID jsou uwidy ˇ Jestliže platí, že objekt identifikovaný uwidem iuwid je instancí typu identifikovaného uwidem tuwid, pak uspořádanou dvojici (tuwid, iuwid) nazýváme dvojid, anglicky dwoid. ˇ (První člen dvojice budeme nazývat m-port, druhý pak port) PA116 - lekce 10 24 Bambus a synapse (1) ˇ Pomocí bambusů ukládáme konkrétní instance binárních souvislostí ˇ Synapse je výskyt daného typu souvislosti ˇ Bambusy jsou kontejnery na synapse, ba co víc ­ jsou to typy na ukládání výskytů souvislostí! ­ Formální HITovské definice ­ viz DP OSK, strana 35-42 PA116 - lekce 10 25 TI TI TI TI TI TI TI TI TI TI TI Bambus a synapse (2) 3 6 3 5 3 4 2 2 2 2 1 1 7 1 3 1 2 8 9 10 11 12 typ souvislosti příslušný bambusu bambus synapse ... ... porty (m-port, port) typ instance ...... PA116 - lekce 10 26 ... ... 1 3 object2name ... ... 2 Zákazník ... ... T I Bambus a synapse (3) TI 5 TI "Firma2"name TI 4 TI "Firma1"name TI ... def_name "Zákazník" name 3 TI 1 2 def_name TI TI ... 1 3 3 4 3 5 ... ... ... ... 1 2 3 2 ... ... def_name 3 4 3 5 ... ... 2 Firma2 ... ... 2 Firma1 Instanční bambus Tenký bambus pojmenování Tlustý bambus pojmenování PA116 - lekce 10 27 6 Synapse jako objekt ˇ Synapse jakožto výskyt jistého druhu souvislosti se může legitimně stát objektem zájmu 3 4TI ... ... T I1 3 4 TI 1 5 5 6 uwidy synapsí ˇ Nuntá podmínka, aby CODS mohlo být úložištěm pro silný modelovací nástroj! 55 PA116 - lekce 10 28 Typy bambusů ˇ Instanční bambus ­ Pořádá všechny výskyty vztahu typ-instance ˇ Tenký/definiční bambus S ­ Pořádá výskyty vztahu mezi dvěma typy T1 a T2 ­ Tyto výskyty vyjadřují možnost existence vztahu dané sémantiky S mezi instancemi typů T1 a T2 ˇ Tlustý bambus S ­ Pořádá existující výskyty vztahu dané sémantiky S mezi dvěma konkrétními instancemi typů T1 a T2 PA116 - lekce 10 29 Vlastnosti bambusů ˇ Typ ­ Instanční, tlustý, tenký ˇ Název ˇ Druh ­ Deskriptivnost (deskriptivní, nedeskriptivní) ˇ Sémantika a kardinalita bambusu ­ Vycházejí ze sémantiky a kardinality binárního HIT-atributu, kterého výskyty bambus pořádá PA116 - lekce 10 30 def_name Typ jménaTyp objektu d obje2name TI TI Jméno Typ jménaTyp objektu Objekt Informační schopnost bambusu ... ... 1 2 3 2 ... ... def_name I. III. ... ... 1 3 object2name ... ... 2 Zákazník I. II. III. IV. 3 4 3 5 ... ... 2 Firma2 ... ... 2 Firma1 I. III. I. III. IV.II. PA116 - lekce 10 31 Informační schopnost bambusu ˇ Zajímavé HIT-atributy definovatelné nad bambusem obje2name Objekt Jméno které nesou dané Typ objektu Jméno jejichž alespoň jedna instance nese dané Objekt Typ jména které jsou pojmenovány daným PA116 - lekce 10 32 Vztahově ortientované úložiště (CODS) aka Bambusiště ˇ Bambusiště Bforest je trojice skládající se z ­ Právě jednoho instančního bambusu ( ) ­ Blíže neurčeného počtu dvojic tenkých a tlustých bambusů se specifikovanými vlastnostmi, zejména definovanou sémantikou (Bspec ) ­ Množiny tvrzení konzistence (IC) ˇ Bforest = ( , Bspec , IC) PA116 - lekce 10 33 Vztah metody HIT a CODS ˇ Výstupem datového modelování dle metody HIT je datový model reprezentovaný trojicí (BS, ATR, CC) ˇ Bambusiště je reprezentováno trojicí ( , Bspec , IC) ˇ => Potřeba algoritmu převodu datového modelu dle metody HIT na bambusiště, které umožní ukládat data oblasti, kterou datový model popisuje PA116 - lekce 10 34 Algoritmus převodu DM dle HIT na přísušné CODS (1) ˇ Vstup: datový model M = (BS, ATR, CC) ˇ Výstup: bambusiště BM = ( BM ,Bspec , IC) pro model M (1) Užitím binarizačního principu vytvoř z množin BS, ATR a CC množiny BS' = BS U { konkat. typy }, ATR' obsahující informačně ekvivalentní HIT-atributy složitosti 2 a CC' obsahující přeformulovaná tvrzení konzistence z CC (2) Nechť je prázdný instanční bambus a nechť T je typ, který pořádá všechny typy odpovídajícím prvkům z BS' a je identifikován uwidem uwidT ,pak pro každý prvek t BS' vygeneruj uwid uwidt a vlož dvojid (uwidT , uwidt ) do PA116 - lekce 10 35 Algoritmus převodu DM dle HIT na přísušné CODS (2) (3) Nechť cATR' = card(ATR'), k N, k = 1, ATR'k =ATR' a Bk = , pak je-li cATR' > 0, pokračuj krokem (a), jinak krokem (4) (a) Nechť A ATR'k je libovolný HIT-atribut a nechť je jednoho z následujících typů: ((Wrld,Time) (T1 T2 ) ((Wrld,Time) (T1 (T2 Bool)) PA116 - lekce 10 36 Algoritmus převodu DM dle HIT na přísušné CODS (3) (b) Na základě sémanitky a kardinality HIT- atributu A vytvoř řádně specifikované sobě navzájem odpovídající bambusy, a to bambus tenký bthin a bambus tlustý bthick (c) Vlož synapsi (uwidT1 , uwidT2 ) do bambusu bthin (d) Bk+1 = Bk U { bthin , bthick }, ATR'k+1 = ATR'k \ { A } (e) k = k + 1, je-li k cATR' , pokračuj krokem (a) (4) Polož BM = a Bspec = Bk , IC = CC' PA116 - lekce 10 37 Srovnání OODS a CODS (1) ˇ CODS oproti OODS ukládá data ­ duálně ˇ CODS: ukládá primárně výskyty souvislostí mezi objekty a sekundárně objekty samotné ­ ovšem zase jen pomocí souvislostí ˇ OODS: ukládá primárně agregované shluky souvislostí (objekty) a sekundárně potom vztahy mezi nimi ­ OODS pomocí agregovaných shluků konzervuje aktuální stav poznání světa a neumožňuje tuto konzervaci efektivně ,,rekonzervovat" PA116 - lekce 10 38 Srovnání OODS a CODS (2) ˇ CODS oproti OODS umožňuje ­ koncentrovaně ukládat hodnoty deskripcí ˇ CODS: od jedné konkrétní hodnoty deskripce (časová známka, jméno, číselná hodnota) je možné lehce přejít ke všem objektům, kterých se tato hodnota deskripce nějakým způsobem týká ­ souvisí s nimi ˇ OODS: tytéž hodnoty deskripcí (hodnoty vlastností objektů) jsou ukládány dislokovaně - příslušně ke konkrétnímu objektu; je proto např. netriviální zjistit, co všechno souvisí s daným datumem PA116 - lekce 10 39 Srovnání OODS a CODS (3) ˇ CODS oproti OODS umožňuje ­ snadno do sebe uložit svou strukturu ˇ CODS: bambusy jsou kontejnery (typy) na pořádání synapsí, které v případě potřeby můžeme jejich zavedením jakožto instancí příslušného bambusu do bambusu instančního zmiňovat; obdobně můžeme zmiňovat i bambusy samotné ˇ OODS: prakticky není možné ˇ Nuntá podmínka, aby CODS mohlo být úložištěm pro silný modelovací nástroj! PA116 - lekce 10 40 Srovnání OODS a CODS (4) ˇ CODS oproti OODS dodržuje ­ princip uniformity a nezávislosti datových struktur ˇ CODS: bambusy jakožto kontejnery na data jsou svou strukturou nezávislé na struktuře dat, které ukládají ˇ OODS: struktury, ve kterých jsou data uložena kopírují strukturu samotných dat ˇ Nuntá podmínka, aby CODS mohlo být úložištěm pro silný modelovací nástroj! PA116 - lekce 10 41 Princip uniformity a nezávislosti datových struktur ˇ Datové struktury používané pro ukládání dat oblasti zájmu vymezené logickým datovým modelem musí být na tomto logickém modelu svou strukturou nezávislé ˇ Podoba jednotlivých instancí datových struktur musí být uniformní PA116 - lekce 10 42 Univerzální CODS ˇ CODS jako úložiště silného modelovacího nástroje ˇ Dodržení principů ­ Pragmatické vnímání objektů ˇ Princip univerzálního modelování a princip práce s neznámým ­ Princip jednoty modelujícího a modelovaného světa ­ Princip univerzality modelovacího nástroje PA116 - lekce 10 43 Implementační aspekty CODS ˇ Implementace univerzálního CODS ­ Projekt eTrium UIR, generace 5 ­ Databázový stroj Caché ˇ Viz http://www.intersystems.com/cache/index.html ­ Datová struktura globál ˇ Modifikace B*-stromů ­ Viz DP OSK, strana 48-52