entreprise data model- categorial

Upload: mithrilfang

Post on 13-Jan-2016

242 views

Category:

Documents


0 download

DESCRIPTION

vgvj

TRANSCRIPT

MODELUL CATEGORIALFUNDAMENTAREA MATEMATICAMotivarea alegerii teoriei categriilorTeoria categoriilor este o ramura tanara a matematicii care se ocupa cu descrierea diferitelor concepte structurale din diverse domenii ale matematicii intr-un mod uniform. Teoria categoriilor studiaza esenta anumitor concepte, concentrandu-se pe proprietatile structurilor matematice in loc de reprezentarea lor. Aceasta teorie aplica principiile conceptualizarii formalizarilor matematice.Notiunile categoriale necesareDefinitie. Un multigraf orientat G consta dintr-o multime de noduri G0 si o multime de muchii G1. Sursa si destinatia unei muchii pot fi gasite aplicand functiile source si target, respectiv. Notatia f : A B ne arata ca f este o muchie cu source(f) = A si target(f) = B.Definitie. O categorie C este un multigraf orientat a carui noduri sunt numite obiecte si a carui muchii sunt numite sageti (arce). Pentru fiecare pereche de sageti f : A B si g : B C exista o sageata asociata gf : A C, numita compunerea lui f cu g. Mai mult, (hg)f = h(gf), daca ambele parti sunt definite. Pentru fiecare obiect A exista o sageata IdA : A A, numita sageata identica. Daca f : A B, atunci f IdA = IdBf = f.Definitie. O sageata f : A B este un monomorfism daca pentru orice obiect X al categoriei si orice sageti x,y : X A, din relatia fx = fy rezulta x = y.Definitie. O sageata f : B A este un epimorfism daca pentru orice obiect X al categoriei si orice sageti x,y : A X, din relatia xf = yf rezulta x = y.Definitie. Categoria duala a categoriei C, notate cu Cop are aceleasi obiecte ca si C iar ca sageti toate sagetile lui C inversate ( daca f : A B este o sageata in C, atunci fop : B A este o sageata in Cop). Compunerea sagetilor in categoria duala se defineste inversand sagetile.Definitie. O sageata f : A B se numeste izomorfism daca exista o sageata g : B A asa incat fg = IdB si gf = IdA. Sageata g se numeste inversa sagetii f si reciproc. Daca exista o astfel de pereche de sageti intre doua obiecte A si B spunem ca A este izomorf cu B si notam acest lucru cu AB. Sagetile identitate sunt izomorfisme triviale.Definitie. Un obiect T al unei categorii C se numeste obiect terminal daca exista o unica sageata A T, pentru fiecare obiect A din C. Obiectul terminal se noteaza cu 1.Dual , se numeste obiect initial si se noteaza cu 0, un obiect al categoriei care are o unica sageata catre fiecare obiect ( inclusiv el insusi) al categoriei.DIAGRAMEDefinitie. Fie H si G doua grafuri. O diagrama in G de model ( tipar) H este un morfism se grafuri D : H G. H se numeste graful tipar al diagramei D.Definitie. O diagrama se numeste comutativa daca fiecare drum dintre doua obiecte in imaginea sa, determina prin compunere aceeasi sageata. PRODUSE SI COPRODUSEDefinitie. Un coprodus a doua obiecte( suma directa) A si B intr-o categorie, consta dintr-un obiect A+B impreuna cu sagetile IA : A A+B si IB : B A+B astfel incat pentru orice sageti f : A C si g : B C, exista o unica sageata, notata cu f,g : A+B C, pentru care urmatoarea diagrama este comutativa: C f f,g g A IA A+B IB BIA : A A+B si IB : B A+B sunt numite sagetile injectii ale sumei.Definitie. Un coprodus a doua sageti f : A A si g : B B este o sageata f+g : A+B A+B care face comutativa diagrama : A IA A+B IB B f f+g g A IA A+B IB B Definitie. Fie A si B doua obiecte intr-o categorie cu obiectul initial 0 si fie coprodusul A+B. Urmatoarea diagrama este comutativa: A+B IA IB A B

0Daca aceasta diagrama este un con comutativ universal si injectiile canonice IA si IB sunt monomorfisme, atunci coprodusul A+B este un coprodus disjunct.Definitie. O sageata f : A B este complementabila daca si numai daca exista o sageata g : C B, asa incat B este izomorf cu A+C, avand pe f si g ca sageti injectii ale sumei. In acest caz g este un complement a lui f. Obiectul C este notat de regula cu B A.Definitie. Un produs al obiectelor A si B intr-o categorie consta dintr-un obiect AxB impreuna cu sagetile A : AxB A si B : AxB B asa incat pentru orice sageti f : C A si g : C B, exista o unica sageata, notata cu f,g : C AxB, astfel incat urmatoarea diagrama este comutativa:

A A AxB B B f f,g g CDefinitie. Un produs a doua sageti f : A A si g : B B este o sageata fxg : AxB AxB care face comutativa diagrama : A A AxB B B f fxg g A A AxB B B

LIMITE SI COLIMITEO limita este o versiune categoriala a conceptului de submultime,definita ecuational, a unui produs. O colimita este versiunea categoriala a catului unei sume printr-o relatie de echivalenta.Definitie. Fie G un graf si C o categorie. Fie D : G C o diagrama in C cu modelul G. Un cocon cu baza D este un obiect D (apex) impreuna cu o familie {} de sageti ale lui C, indexata dupa nodurile lui G, asa incat : n D, pentru fiecare nod din G. Sageata este componenta coconului la n. Coconul se noteaza { : D D, sau simplu D : D D.Definitie. Un cocon este comutativ daca pentru orice sageata s : n1 n2 din G, urmatoarea diagrama este comutativa : D n1 s n2Definitie. Daca D : D D si D : D D sunt coconi, o sageata de la primul la al doilea cocon este o sageata f : D D, asa incat pentru fiecare nod n a lui G , urmatoarea diagrama este comutativa : D f D

nDefinitie. Un cocon comutativ cu baza D se numeste universal daca el are o unica sageata catre fiecare alt cocon comutativ cu aceeasi baza. Un cocon universal, daca exista , se numeste o colimita a diagramei D.

Grafuri de tipModelele de date pot fi reprezentate prin grafuri de tip. Diverselor tipuri de obiecte din modelul de date , le corespund noduri in graf, iar diversii constructori sunt arcele grafului. Tipurile de relatii sunt reprezentate tot prin noduri. Un tip de obiect care participa printr-un rol intr-un tip de relatie este reprezentat printr-un arc etichetat cu rol, care are ca sursa tipul de relatie. Daca un tip de obiect participa prin cateva roluri intr-un tip de relatie, atunci graful de tip asociat trebuie sa fie un multigraf.Definitie Un graf de tip G este un multigraf orientat peste o multime de etichete { role, spec, gen, elt_role, clt_role }. Muchiile cu etichetele spec sau gen se numesc muchii de subtipizare. Graful de tipuri trebuie sa nu contina cicluri formate numai din muchii de suptipizare. Mai mult, exista o functie bijectiva cit de la muchiile cu eticheta clt_role la muchii cu eticheta elt_role care relationeaza muchiile cu surse identice. Functia type asociaza eticheta unei muchii.O muchie e, etichetata cu role , de la nodul A la nodul B indica faptul ca A este un tip de relatie in care B joaca un rol. Daca muchia e este etichetata cu spec, atunci A este o specializare a lui B, iar daca e este etichetata cu gen atunci B este o generalizare a lui A( si posibil a altor tipuri de obiecte).Daca muchia e : A B este etichetata cu clt_role, muchia f: A C este etichetata cu elt_role si cit(e) = f, atunci B un tip de colectie cu tipul de element C.Definitia ne arata ca un nod poate fi un tip de colectie ca si un tip de relatie, un tip de relatie binara poate fi un subtip al unui tip de relatie ternara, un tip de colectie poate sa aiba cateva tipuri de elemente, etc. Unica restrictie impusa este neexistenta structurilor de subtipuri ciclice.Modelele de tipSemantica unui model de date este multimea tuturor instantierilor posibile, cunoscute si sub numele de populatii. In actuala abordare, o populatie este definita ca un model de la graful de tip la o categorie. Un model este un morfism de grafuri de la graf la o categorie( interpretata ca un graf ).Definitie Fie F o categorie. Un model de tip Pop pentru un graf de tip dat G in F este un morfism de grafuri Pop : G F, iar F se numeste categoria instantierilor a modelului considerat.Un model de tip aplica tipurile de obiecte din graful de tipuri in obiecte din categoria instantierilor si muchiile grafului in sageti ale categoriei.Definitia anterioara ne arata ca semantica unui model de date depinde de categoria instantierilor aleasa. Nu toate categoriile furnizeaza semantici compatibile pentru modelele de date. Categoriile instantierilor trebuie sa apartina clasei de categorii Fund.Categoriile acestei clase trebuie sa indeplineasca anumite cerinte: in primul rand sa permita anumite constructii categoriale, in al doilea rand trebuie sa aiba anumite proprietati categoriale speciale ( coprodusul sa fie disjunct ), iar in al treilea rand , categoria FinSet alcatuita din multimile finite si functiile totale, poate actiona ca un element de varf al clasei Fund ( un membru al Fund poate reprezenta fiecare populatie reprezentabila in FinSet ).Dam cateva exemple de categorii din clasa Fund:1. Categoria instantierilor TotRel , in care obiectele sunt multimile si sagetile sunt relatiile totale. Aceasta categorie este utila in cazul atributelor multivaluate.2. Categoria instantierilor Bag in care obiectele sunt multimultimile (bags), iar sagetile sunt functiile totale, astfel incat frecventa domeniului nu depaseste niciodata frecventa unei imagini. Aceasta categorie se poate utiliza cand obiectele nu pot fi diferentiate in baza proprietatilor lor.3. Categoria instantierilor Poset in care obiectele sunt multimile partial ordonate si sagetile functiile monotone ( cu pastrarea ordinii ). Aceasta categorie este utila in contextul sistemelor cu conditii slabe de timp ( se iau in considerare numai instantierile de o anumita varsta).4. Categoria instantierilor FuzzySet in care obiectele sunt multimi fuzzy si sagetile sunt functiile totale speciale pe aceste multimi. Aceasta categorie este utila pentru sistemele care functioneaza cu incertitudine.O multime fuzzy este o petreche (S,), unde S este o multime iar este o functie totala definita pe S, care asociaza fiecarui element din S gradul sau de apartenenta. Rel imagini multiple partialitate Poset FuzzySet PartSet TotRel Bag ordine incredere partialitate imagini multiple cazuri multiple Set infinitate FinSet Clasa de categorii FundTipurile de relatiiUn tip de relatie reprezinta o asociere intre tipurile de obiecte, care poate sa fie n-ara ( n1) in anumite tehnici de modelare a datelor si care joaca un rol in alte tipuri de relatii. Un tip de relatie consta dintr-un numar de roluri, care captureaza modul in care participa tipurile de obiecte in acest tip de relatie.De regula relatiile sunt instantiate ca aplicatii de la rolurile implicate la valori.In aceasta abordare este posibil ca doua instantieri diferite de relatii sa contina aceleasi componente.Relatii de subtipizareRelatiile de subtipizare sunt folosite pentru a captura proprietatile de mostenire. Consideram doua tipuri de relatii de mostenire : specializarea si generalizarea. Specializarea este utilizata atunci cand trebuiesc inregistrate fapte specifice pentru instantieri specifice numai pentru un tip de obiect. Un tip de obiect specializat mosteneste proprietatile supertipului sau, dar poate sa aiba si proprietati suplimentare.O forma speciala de mostenire este mostenirea identica. Exista doua abordari: in prima, obiectele pot fi instantieri ale mai multor tipuri de obiect, in a doua obiectele pot sa apara numai intr-un singur tip de obiect. Obiectele corespunzatoare sunt prezentate prin functii injective. Aceasta abordare are avantajul principal ca se pot separa efectiv structura si reprezentarile. In consecinta, o relatie de subtipizare trebuie sa fie aplicata pe un monomorfism ( in categoria Set un monomorfism coincide cu o functie injectiva ).Pot sa apara probleme in mostenirea multipla : un obiect trebuie sa corespunda unui singur obiect in fiecare supertip.Generalizarea este un mecanism utilizat pentru crearea de noi tipuri de obiecte prin unirea tipurilor de obiecte existente. Generalizarea nu este inversa specializarii. Populatia unui tip de obiect generalizat este reuniunea populatiilor tipurilor de obiecte participante, numite tipuri specificate. Pentru a incorpora tipurile generalizate in modelele de tip le definim ca fiind coproduse ale tipurilor specificate corespunzatoare. Tipul e obiect generalizat este aplicat pe un coprodus in categoria instantierilor si sageatile generalizarii corespund injectiilor canonice care leaga instantierile tipurilor specificate cu versiunea lor generalizata. Deoarece coprodusul reprezinta reuniunea disjuncta in categoria Set aceasta formalizare impune tipurilor specificate sa fie disjuncte. Daca acest lucru nu se intampla, utilizam notiunea generala de colimita.Fie G un tip generalizat cu multimea de tipuri specificate V. Observam ca familia de instantieri ale lui G este complet determinata de relatiile de subtipizare dintre instantierile tipurilor specificate ale lui G. Dam o descriere formala a restrictiei impuse unei populatii de a contine numai relatii de subtipizare relevante dintre tipurile specificate din V.Definitie Fie G un graf si NG0 o multime de noduri. Dominatia lui G prin N este un subgraf D al lui G definit prin : muchiile lui D sunt muchiile lui G1 care apar intr-un drum orientat ce se incheie intr-un nod nN. Nodurile lui D sunt nodurile care apar in muchiile sale.Populatiile trebuiesc restrictionate la aceste noduri relevante. Pentru o populatie concreta a unui graf de tip , aceasta conduce la o diagrama concreta in categoria instantierilor corespunzatoare.Definitie Fie un morfism de grafuri D : G C si o multime de noduri V G0. Fie GV dominatia lui G prin V. Atunci dominatia lui D prin V este restrictia lui D la GV.Instantierile pot avea manifestari variate in tipuri de obiect diferite. Aceste manifestari trebuiesc unificate prin introducerea reprezentarilor canonice pentru aparitiile corespunzatoare. Universul instantierilor contine reprezentarile canonice ale tuturor instantierilor a multimii V de tipuri de obiect in modelul de tip Pop. Din punct de vedere categorial, universul instantierilor poate sa fie capturat prin notiunea de colimita.Definirea colimitei pentru o diagrama ,(diagrama pentru noi reprezinta o baza a colimitei),se face prin selectarea unui obiect, numit apex si a multimii de sageti ( arce ) din acest apex, cate una pentru fiecare obiect din diagrama.Pentru fiecare sageata f de la obiectul D1 la obiectul D2 din diagrama, diagrama formata din aceasta sageata si sagetile g si h de la D1 si D2 respectiv la apex, trebuie sa fie comutativa: A g h D1 f D2 Astfel, instantierile corespunzatoare in tipuri de obiect diferite vor fi relatate de aceeasi instantiere in universul instantierilor. Cerinta ca apex-ul sa fie minimal este realizata categorical prin cerinta ca sa existe o unica sageata de la apex la fiacre alt obiect care satisface de asemenea cerinta de comutativitate. Aceasta asigura neexistenta instantierilor superflue in universul instantierilor.Definitie. Universul instantierilor determinat de o multime de tipuri de obiect V G0 intr-un model de tip dat Pop, notat cu ,este apex-ul colimitei care are ca baza diagrama de subtipuri dominata de V.In modelul de tip Pop, fiecare obiect generalizat G cu tipurile specificate V este aplicat in universul instantierilor si sagetile generalizate sunt aplicate in injectiile colimitei corespunzatoare.In categoriile cu coproduse disjuncte, exista colimite de diagrame constand din monomorfisme complementabile. Sagetile asociate sunt monomorfisme complementabile. Acest rezultat este important pentru categoriile care au coproduse disjuncte, dar nu au toate colimitele, cum ar fi Rel. Astfel putem sa cerem categoriilor instantierilor ca toate coprodusele finite sa existe si sa fie disjuncte, in loc de cerinta de a avea toate colimitele.Tipurile de colectieUn tip de colectie este un tip de obiect a caror instantieri corespund multimilor unui alt tip de obiect, numit tip element. Instantierile unui tip de colectie, ca multimi sunt identice daca si numai daca ele contin aceleasi elemente. Ele sunt identificate prin elementele lor si nu necesita o identificare externa.Tipurile de colectie devin superflue daca introducem un nou tip de constringere : constrangerea unicitatii extinderii. Formalizarea categoriala a constrangerii unicitatii extensionale rezulta din observatia ca o astfel de constrangere este incalcata daca si numai daca exista o permutare netriviala a multimii instantierilor asa incat aplicatia de la populatie la tipul de relatie implicat, duce la aceeasi populatie. Altfel spus , daca schimbam membrii a doua multimi ( care au primit propria lor identitate ) nu se pierde informatie,atunci aceste doua multimi trebuie sa aiba reprezentari identice.Interpretari semantice Categoriile de instante valideFiecare membru al clasei Fund are propriettile : exista toate produsele si coprodusele finite coprodusele sunt disjuncte Desi exista multe categorii ale instantierilor, care satisfac cele doua cerinte, alegem categoria FinSet , deoarece fiecare model in aceasta categorie poate avea un duplicat in alte categorii ale instantierilor.Definitie O categorie C este o categorie a instantierilor valida daca si numai daca exista toate produsele si coprodusele finite, coprodusele sunt disjuncte, si exista un functor ( un morfism de grafuri care pastreaza identitatile si compunerea ) F : FinSet C, asa incat pentru toate M1 , M2 : G FinSet are loc conditia M1 = M2 FM1 = FM2 .Categorii valide sunt : FinSet , Set , PartSet , Rel , FuzzySet.Orientarea obiectuluiModelele de date OO permit descrierea valorilor complexe. Valorile complexe pot fi privite ca arbori finiti a caror noduri interne indica utilizarea tuplelor si multimea constructorilor. Tipurile in modelele de date OO pot fi definite prin utilizarea acestor constructori.Modelele de date conceptuale OO pot prezenta valorile complexe fara sa utilizeze reprezentarile particulare. In modelele de date conceptuale OO toate obiectele au propria lor identitate, independent de compozitia lor structurala. Aceasta se poate face daca ne concentram pe proprietatile valorilor complexe. In plus aceste proprietati depend de tipul valorii complexe. De exemplu, o instantiere a unui tip relational, care este un echivalent conceptual al unui constructor de tuple, poate asigura accesul la componentele sale, in timp ce o instantiere a unui tip de colectie, care este un echivalent conceptual al unui constructor de multimi, este unic determinat de elementele sale. Facand abstractie de reprezentari, acest cadru este foarte flexibil in raport cu definitiile tipului.Din punct de vedere al OO, sagetile etichetate cu role intr-un graf de tip, pot fi privite ca atribute ale tipului de obiect corespunzator sursei sale. Alegand categoria instantierilor ca fiind Rel, atributele pot fi multi-valuate. In acest caz valoarea unui atribut poate fi o multime ( posibil vida) de valori.Mostenirea atributelor se realizeaza prin compunerea sagetilor. Daca un tip de obiect X este un subtip al unui alt tip de obiect Y, care are un atribut A, atunci X are de asemenea acces la acest atribut prin compunerea sagetii subtip cu sageata atribut.

Y r A

s rs

XCunostinte incerte si incomplete Modelele in FuzzySet sunt utilizate pentru modelarea incertitudinii. Fiecare tip de obiect A este echipat cu o functie A , care descrie probabilitatea ca un element sa fie membru a acestui tip de obiect. Sagetile in FuzzySet sunt functii totale si pentru fiecare sageata trebuie sa aiba loc relatia A(a) B(f(a)). Altfel spus, probabilitatea ca un element particular sa apartina unui tip dat de obiect trebuie sa fie mereu mai mare sau egala cu probabilitatea ca elementul particular sa apartina unui subtip al acestui tip de obiect. Acest lucru este evident intuitiv, deoarece daca un element particular apartine unui tip de obiect, el trebuie cu siguranta sa apartina tuturor subtipurilor acestui tip.In plus probabilitatile instantierilor tipurilor de relatie sunt mai mici decat probabilitatile partilor sale.Astfel modelele in FuzzySet ne arata cum se poate introduce incertitudinea in modelele de date conceptuale.Exista si alte cai de introducere a incertitudinii in modelele de date. Putem alege categoria instantierilor ProbSet, in care un obiect este o multime de functii probabilistice cu domeniul de definitie comun. O functie probabilistica asociaza valori din intervalul [0,1] ,oricarei valori din domeniul comun. Daca notam cu V multimea de valori din domeniu, trebuie sa fie indeplinita conditia = 1. Sagetile in ProbSet sunt functii totale.TimpIn bazele de date temporale sau cu istorii este pastrata istoria crearii si stergerii instantelor obiectelor. Bazele de date cu istorii nu pierd informatii si ne furnizeaza starile anterioare ale bazei de date pentru a fi restructurate. Exista tehnici de modelare a datelor conceptuale, care suporta notiunea explicita de timp si in consecinta faciliteaza implementarea unei aplicatii in termini ai sistemului de management a bazelor de date cu istorii.Cadrul de munca poate furniza semanticile natural pentru aceste tehnici, prin alegerea unei categorii a instantierilor adecvata. O astfel de categorie a instantierilor ar putea fi categoria TimeSet, in care fiecare obiect este o multime cu o functie care asociaza un interval de timp fiecarui element al multimii. Multimea momentelor de timp este o multime total ordonata si are un element maximal acum. Un interval de timp este un element (t1,t2) din x asa incat t1t2. Sagetile in aceasta categorie sunt functii dintre multimile de obiecte asociate astfel incat pentru fiecare element din domeniul unei astfel de functii intervalul de timp este inclus in intervalul de timp al originii acestui element. Aceasta este o cerinta necesara si , printre altele, ne arata ca obiectele compuse nu pot exista mai mult decat diversele parti ale lor.Dam in continuare o abordare alternativa pentru incorporarea timpului in cadrul de munca. Aceasta constructie porneste cu observatia ca este posibil sa construim un nou model de tip care descrie schimbarile modelului de tip petrecute in timp, pentru fiecare categorie a instantelor valida.Data o categorie C putem construi o noua categorie C in modul urmator: Obiectele sunt functii totale o : C0. Sagetile sunt functii totale a : C1. Sursele si adresele sagetilor sunt definite prin:source(a) = t.source(a(t)) si target(a) = t.target(a(t)). Compunerea este definite prin fg = t.f(t) g(t) Sageata identica pentru un obiect o este definita prin Ido = t.Ido(t).Este evident ca pentru orice categorie a instantierilor valida C , categoria C este de asemenea o categorie a instantierilor valida.Data o categorie C se poate construi functia @ : C C ,definita prin @t(x) = x(t). Pentru fiecare t , @t este un functor. Aplicarea acestui functor duce la populatia valida la un moment t.Evolutia in timp a unei populatii pentru un tip de graf dat G, cu categoria instantierilor C, poate sa fie descrisa ca o functie totala care aplica domeniul temporal unei populatii pentru acest tip de graf M : G C. Data o astfel de functie M care descrie evolutia unei populatii, putem construi un nou model M : G C . Acest model este definit prin M(x) = t.M(t)(x), sau alternativ prin @t M = M(t). Lema. Daca pentru fiecare t , M(t) este un model de tip valid,atunci M este de asemenea un model de tip valid.In concluzie, putem adauga timp oricarei categorii de instantieri.Transformarile schemei.Ne ocupam de problema echivalentei schemelor si de transformarile schemelor. Pentru multe tehnici de modelare a datelor, transformarile sunt descrise sau la nivel conceptual, sau de la nivelul conceptual la nivelul intern.Consideram in continuare, aplicarea cadrului categorical pentru transformarile schemei. Aceasta abordare ne asigura anumite avantaje:1. Deoarece teoria categoriilor ajuta la descoperirea si exploatarea relatiilor dintre diverse domenii in studiu, se obtin o serie de teorii pentru transformari.2. Datorita nivelului inalt de abstractizare a cadrului de lucru, discutiile despre transformarile schemei pot fi tinute independent de modelul de date.3. Transformarile pot fi studiate in raport cu categoriile de instantieri specifice, daca ele se bazeaza pe existenta unor trasaturi semantic specifice ( cum ar fi valoarea nula). Devine mult mai explicit rolul jucat de aceste trasaturi in determinarea corectitudinii anumitor transformari.Utilizam trei notiuni categoriale pentru verificarea formala a corectitudinii transformarilor schemei. Transformarile care sunt descrise sunt corect justificate in raport cu notiunea categoriala de echivalenta a schemei :O schema S1 este cel putin la fel de generica ca si schema S2, daca fiecare model al lui S2 poate sa fie translatat prin aplicatia constructorilor categoriali unui model al lui S1. Schemele S1 si S2 sunt echivalente daca reciproca este de asemenea adevarata.In prima sectiune folosim coprodusele pentru a arata transformarea de extragere/absorbtie a tipului de obiect, in a doua sectiune folosim compunerea sagetilor pentru a ilustra transformarea de grupare/degrupare, iar in sectiunea a treia se arata cum putem folosi pullback-urile pentru verificarea formala a corectitudinii transformarii de reuniune/scindare.1. Absorbtia tipului de obiect-extractia tipului de obiect f h p r absorbtia tipului de obiect t u v A q s B extractia tipului de obiect g A (f,g) B In schema din stanga tipurile de relatii binare f si g dintre tipurile de obiecte A si B pot fi inlocuite printr-o relatie ternara dintre A si B si un tip de obiect concret care are ca domeniu multimea de instantieri {f,g}.In urmatoarea diagrama este aratat graful de tip asociat schemei anterioare.Aceasta diagrama poate sa fie considerata,de asemenea, ca fiind aplicarea canonica f a grafului de tip intr-o categorie. p r In restul sectiunii aplicatia Pop va fi omisa. Vom arata cum o astfel de A Bpopulatie poate sa fie transformata intr-o populatie de tipul celei din schema din dreapta. q s gIn primul pas este construit coprodusul tipurilor de relatie f si g. Pentru a evita pierderea de informatii, injectiile canonoice sunt incluse in diagrama. Cele doua sageti de rol p si q pot fi inlocuite prin sageata p;q. Analog, sagetile de rol r si s pot fi inlocuite de sageata r;s. In termini ai teoriei multimilor, sageata r;s reprezinta o aplicatie de la f + g la B , compunere a aplicatiei r de la f la B si a aplicatiei s de la g la B, astfel incat r este aplicata elementelor ce provin din f si s este aplicata elementelor care provin din g.

f g If Ig p;q r;s A f+g B

In al doilea pas , injectiile canonice If si Ig sunt inlocuite prin aplicatia de la f+g la 1+1, coprodusul a doua obiecte terminale. Din punct de vedere categorial, un obiect terminal este un obiect cu proprietatea ca exista o sageata de la fiecare obiect la acest obiect. Obiectele terminale ale unei categorii sunt izomorfe. In categoria Set orice multime cu un element este un obiect terminal. In diagrama rezultata, sageata t de la f+g la 1+1 este unica sageata care distinge elementele din f si cele din g in coprodus. Deci, injectiile canonice devin superflue, deci pot fi omise. Obtinem diagrama p;q r;s A f+g B t

1+1Gruparea degrupareaIn tehnicile de modelare a datelor in care tipuri de relatii pot juca un rol in alte tipuri de relatii, gruparea si degruparea sunt notiuni comune. Degruparea este o relatie g printr-un rol r , care este jucat de un alt tip de relatie f corespunzatoare inlocuirii acestui rol cu rolul lui f direct. Deci, obiectele compuse care joaca rolul r sunt descompuse in trei parti : in exemplul din figura urmatoare, tipul de relatie negrupata h are ca participant directi tipurile de obiect A si B, in locul participantilor indirecti prin tipul de relatie f. Daca fiecare instantiere a tipului de relatie f are de jucat un rol in tipul de relatie g ( aceasta este capturata de constrangerea de cardinalitate 1 : in rolul s in schema din stanga a figurii urmatoare ),tipul de relatie f devine superfluu dupa ce g este degrupat. Observam ca daca un tip de relatie f in schema din stanga a figurii, joaca un rol intr-un alt tip de relatie g, este reprezentat grafic printr-un romb inchis intr-ocutie.

f degrupare h A p q B A f u B r grupare v

g C s 1: C

O populatie a schemei din stanga poate sa fie capturata prin urmatoarea diagrama : p q p qA f B A f B

r pr r qr

g g s s C C Compunerea sagetilor fiind mereu definita in orice categorie, sunt adaugate sagetile pr si qr.In final,constrangerea de cardinalitate, care stipuleaza ca fiecare instantiere a lui f, participant in g ,se translateaza categorial in faptul ca r poate fi aplicat pe un epimorfism. Deci , prin omiterea sagetilor p si q nu se pierde nici o informatie, rezulta pr qrA g B s C care poate fi privita ca o diagrama din schema din dreapta a figurii.Reunuine scindareIn anumite cazuri, tipurile de relatii cu trei sau mai multe roluri pot fi scindate fara pierdere de informatii. Aceasta este adevarata in cazul in care exista o cheie pe n doua roluri, unde n este numarul total de roluri ale tipului de relatie. f h p q reuniune t u B A B A = v r s scindare C CIn schema din dreapta a figurii, exista o cheie pe rolul t a tipului de relatie ternara . Deci,h poate fi sindat in doua tipuri de relatie binara, una intre tipurile de obiect A si B, iar cealalta intre tipurile de obiect A si C. In mod natural, exista chei pe rolurile jucate de tipul de obiect A. Trsansformarea inversa se numeste reuniune. Pentru echivalenta, este necesar ca daca o instantiere a lui A este asociata cu o instantiere a lui B, este de asemenea asociata cu o instantiere a lui C si viceversa. Acesta este un rezultat al faptului ca transformarea reuniune este bazata pe reuniunea interioara( permite valorile nule in instantierile relationale). Aceasta cerinta este capturata de constrangerea de egalitate pe rolurile p si r In schema din stanga a figurii anterioare. f q B f q B p p ep A A m M r r er g s C g s C

Prima diagrama arata reprezentatrea generala a unei populatii in schema din stanga figurii. Din punct de vedere categorial, faptul ca exista o constrangere de egalitate pe rolurile p si q, se translateaza in cerinta ca sa existe un obiect M si un monomorfism m:M A, asa incat exista doua epimorfisme ep : f M si er : g M, cu p = epm si r = er m. Obiectul M corespunde unui subobiect al lui A care contine instantierile lui A , jucand amindoua rolul p si rolul r.Cerintele p = epm si r = er m implica faptul ca sagetile p si r pot fi omise din diagrama. Mai mult , poate fi adaugat pullback-ul sagetilor ep si er. Din punct de vedere al teoriei multimilor, pullback-ul corespunde unei reuniuni. Dar, nu toate categoriile de instantieri valide au pullback ( Rel este un exemplu de astfel de categorie ).Pullback-ul lui ep si er consta dintr-un obiect , notat cu fg si doua sageti pf si pg. Se cere ca diagram formata din aceste patru sageti sa comute.Deci, exista o unica sageata n asa incat n = ep pf = er pg . Acum se poate demonstra ca pentru orice categorie a instantierilor valida , daca ep si eq sunt epimorfisme, pullback-ul corespunzator al sagetilor pf si pq este de asemenea izomorfism. Deci, omiterea sagetilor s si q si adaugarea sagetilor compuse qpf si spq , nu duce la pierderea de informatii. q f B B ep pf qpf A m M n fg A mn fg er pg spg

g s C C

Observam ca mn este un monomorfism deoarece compunerea unuei sageti cu un monomorfism este intotdeauna un monomorfism. Deci este satisfacuta cerinta ca t, care este aplicat pe aceasta sageata, ar putea sa fie o cheie pentru h.16