CATEGORII DOCUMENTE |
NORMALIZAREA BAZELOR DE DATE ORIENTATE-OBIECT
I.Structura lucrarii
II.Modelul orientat-obiect
II.1.Descriere
II.2.Algebra de proiectie
II.3.Path-uri
II.4.Proiectii
III.Restrictii de integritate
III.1.P-dependente
III.2.L-dependente
III.3.G-dependente
III.4.Constrangeri cheie
IV.Axiome de inferenta
V.Normalizarea obiectelor
V.1.Forme normale ale unui obiect
V.2.Reguli de normalizare
VI.Algoritmi de normalizare
VI.1.Generarea de forme normale prin restructurare.Algoritmul de
transformare.
VI.2.Generare de forme normale prin reconstructie.Algoritmul de
descompunere si fuziune
VII.Concluzii
Paradigma orientarii-obiect este o solutie in modelarea universului pentru ca modelul de date orientat-obiect suporta mecanisme complexe, care permit reutilizarea datelor, construirea obiectelor complexe prin mostenire (folosind tuplurile si multimea de constructori ortogonali) si identificarea obiectelor independent de valoarea lor (prin mecanismul de identitatea obiectului). Modelele traditionale au urmatoarele dezavantaje:
1).Modelele nu sunt suficient de puternice pentru a face fata mecanismelor complexe de
modelare, precum identificatorul obiectului, obiecte complexe si mostenire .
2).Restricttiile de integritate (F-dependente, MV-dependente) sunt date de o multime
restransa de constrangeri, care pot fi impuse unor atribute dintr-o relatie. Modelul
obiectual include restrictii mult mai complexe, vizand nu numai legaturile dintre
obiecte si componentele lor, ci si restrictiile dintre obiectele insele (legaturi inter-
obiectuale). in modelele relationale, restrictiile de integritate reflectau
dependentele dintre datele unei relatii. in modelul obiectual, dependentele includ
conceptul de identitate a unui obiect prin legaturile dintre obiecte exprimate nu prin
valoarea lor, ci prin identitatea lor.
3). Nu este potrivita considerarea redundantelor si a problemelor de actualizare la
inceputul proiectarii schemei orientate-obiect, deoarece acestea tin de implementare.
Modelarea obiectuala ar trebui sa se bazeze pe ipoteza ca detaliile de implementare
nu sunt scopul activitatilor de modelare. Normalizarea obiectelor vizeaza descrierea
schemei care refecta interpretarea universului a utilizatorului (o schema corecta). in
interpretari ale cailor sale (path-urilor), iar obiectul va fi intr-o forma corecta daca
interpretarea utilizatorului este exprimata de interpretarile obiectului. Din acest punct
de vedere, normalizarea orientata- obiect produce scheme corecte prin prisma
utilizatorului.
Lucrarea de fata propune descrierea unei teorii de normalizare orientata-obiect, care sa rezolve problemele mentionate mai sus si este organizata astfel:
II. Descrierea modelului orientat-obiect si a algebrei de proiectie pentru definire P-dependentelor, L-dependentelor, G-dependentelor si a tipurilor de proiectii.
III. Descrierea tipurilor de dependente folosind operatorii algebrei de proiectie.
IV. Axiomele de inferenta pentru tipurile de dependente.
V. Normalizarea obiectelor pornind de la descrierea formelor normale ale unui obiect, prezentarea regulilor de normalizare.
VI. Descrierea algoritmilor de generare a formelor normale ale unui obiect: algoritmul de transformare si algoritmul de descompunere si fuziune.
VII. Utilizarea de date obiectuale mai bogate decat modelele de date conceptuale care incorporeaza conceptele de identitatea unui obiect, obiecte complexe, mostenire .
Modelul orientat-obiect, utilizat in dezvoltarea teoriei de normalizare, suporta majoritatea conceptelor orientarii-obiect: obiecte complexe, identitatea unui obiect, mostenire, clase/ tipuri.
Restrictiile de integritate specifica semantica obiectelor si a legaturilor lor, devenind o exensie a dependentelor functionale si multivoce, care lucreaza cu legaturi variate, incluzand legaturile intra si inter obiectuale.
Algebra de proiectie se afla la baza definirii restrictiilor de integritate si suporta accesul la diferite obiecte legate prin proiectie simpla (permite accesul la componentele directe ale unui obiect), proiectie complexa (permite accesul la toate obiectele legate printr-un drum), proiectie conditionata (permite accesul la obiectele selectate de o instanta a unui drum dat).
Modelul orientat-obiect descris aici suporta notiunea de obiect care inglobeaza proprietatile comune unei multimi de instante cu aceleasi caracteristici precum si universul. Aceste caracteristici sunt reprezentate ca atribute in obiecte. Relatiile reprezinta legaturi intre obiecte si pot fi unidirectionale (precum agregarea) sau bidirectionale (precum asocierea).
Mostenire a este un tip de legatura care asigura reutilizarea informatiilor unui obiect intr-o schema orientata-obiect.
Fiecare obiect are o multime de atribute. Un atribut poate fi simplu sau complex. Un atribut simplu are un domeniu simplu (de exemplu char, integer), pe cand un atribut complex este un atribut format din constructori tuplu si/sau multime de atribute existente (domenii).
Obiectele sunt legate prin legaturi de tipul: agregare, asociere si mostenire.
Mostenirea dintre doua obiecte semnifica faptul ca orice instanta a unui obiect (numit sub-obiect) este instanta a celuilalt obiect (numit super-obiect).
Agregarea dintre doua obiecte desemneaza faptul ca unul dintre obiecte refera celalat obiect (ca atribut).
Asocierea poate fi privita ca un acces in ambele sensuri de la obiectul vizat.
Conceptul principal in modelul obiectual este acela de obiect. Un obiect denota un element al schemei, facand abstractie ca este o entitate sau un atribut. Un obiect O este reprezentat ca O(D0), unde D0 este tipul obiectului. Instantele obiectelor sunt construite instantiind tipul obiectelor. Fiecare instanta a unui obiect are un identificator de obiect si atributele au identificatori, derivati conform constrangerilor specificate in obiectul corespunzator.
O schema orientata-obiect este definita ca o multime de obiecte complementata de restrictiile de integritate. Formal, schema este reprezentata astfel: < >, unde este o multime a obiectelor de schema si este multimea restrictiilor peste . Populand o schema orientata-obiect cu instante ale obiectului, se defineste o baza de date orientata-obiect, exprimata formal prin < < >, >, unde reprezinta instanta a lui
#n mod obisnuit, o cale este o secventa ordonata de obiecte dintr-o schema, astfel incat fiecare obiect din secventa este legat de predecesorul si de succesorul sau fie printr-un atribut, fie printr-o legatura.
Formal, calea de la obiectul O1 la un obiect On (n>2) prin obiectele O2, ,On-1 este notat :
O1-O2- -On.
Tipuri de cai:
drum vertical: Este o secventa care genereaza dintr-un obiect una din componentele sale.
drum orizontal: Este o secventa in care alterneaza numai obiecte. Aceasta include agregarea inversa. De obicei, o relatie de agregare este unidirectionala (intr-un singur sens). Permitand relatia de agregare inversa, o schema este conservata semantic.
drum compus : Este o secventa care foloseste o combinatie de drumuri verticale si orizontale.
O instanta a unei cai O1-O2- -On este o secventa de forma n, unde i simbolizeaza o instanta a obiectului Oi , iЄ
II Proiectii
Algebra de proiectie ne da operatorii algebrici care permit accesul diferit la obiecte. Accesul poate fi generic (prin cai) sau restrictiv (prin instantele cailor). Prin cel generic este accesat intreaga multime de instante conectate la un obiect dat folosind o cale obisnuita, pe cand cel restrictiv imbunatateste accesul generic prin gasirea anumitor instante.
Fie instanta unui obiect, , si un drum sau o instanta a unui drum. Notam:
τa0s : proiectia lui in obiectul O.
τρa0s : proiectia lui in O conform lui
Tipuri de proiectie:
O proiectie simpla realizeaza la un nivel doar un drum vertical sau orizontal.
Formal, proiectia simpla a instantei τ=aτ1, τ2,.,τj,.τns a obiectului O(aO1,.Oj,.Ons) la una din componentele sale Oj este definita ca : τaOjs=.
Proiectia simpla a unei instante poate implica regasirea altor instante care o contin.
O proiectie complexa implica drumuri de nivele multiple. Formal, proiectia complexa a unei instante , ale unui obiect O intr-un alt obiect Oq, conform cu un drum compus O-O1- -Oq-1, este definita prin proiectii succesive in obiectele O1, O2, ,Oq-1.Avem:
τaOqs=(τaOq-1s)aOqs=(.(.((τaO1s)aO2s).)aOq-1s)aOqs.
O proiectie simpla conditionata este o proiectie simpla in care obiectul-tinta este conditionat de o instanta data.
Formal, proiectia simpla conditionata a unei instante a unui obiect O in componenta directa Oi, conform instantei unui drum a drumului O-Oi este :
IF
THEN
ELSE
IF Oi este obiect univoc
THEN
ELSE
O proiectie complexa conditionata implica drumuri instantiate la nivele multiple, unde este cel putin o conditie atasata obiectului de-a lungul drumului selectat.
Formal, proiectia complexa conditionata a unei instante a unui obiect Op , conform unei instante a drumului p-1 p a unui drum compus O1-O2- -Op-1-Op este :
ττ1-τ2-.-τp-1-τpaOps=(((ττ1-τ2aOps).)τp-2 -τp-1aOp-1s)τp-1-τpaOps
Operatorii acestei proiectii asigura tipuri diverse de acces la obiecte, inclusiv generic si restrictiv, folosind drumurile verticale si orizontale.Cum de modelul obiectual este legata notiunea de atribute multivoce, trebuie definit un operator care va aduce la acelasi nivel structurile multiseturilor.Aceasta operatie se numeste flatten si este definita astfel: Flattern-ul unei instante =a j ns a obiectului O(aO1, Oj, Ons) intr-o componenta multivoca Oj este : raOjs=Uktk , tk as.
Fie o schema orientata-obiect < >, defineste multimea restrictiilor asupra lui . Aceste dependente iau forme diferite, in functie de tipul drumului dintre obiecte. Restrictiile care se bazeaza pe drumuri orizontale se numesc P-dependente si sunt restrictii multitip, deoarece exprima legaturile dintre obiecte. Dependentele bazate pe drumuri verticale se numesc fie dependente locale (L-dependente), fie dependente globale (G-dependente). L-dependentele sunt limitate la o singura instanta a unui obiect, pe cand cele globale sunt valabile pentru toate instantele acelui obiect.
III.1.P-dependente
P-dependentele reprezinta legaturile semantice dintre obiect multitip si se bazeaza pe notiunea de drumuri orizontale.
Definitie (P-dependente)
Intre doua obiecte X si Y avem P-dependenta, in raport cu un drum , notata X/ àY, daca si numai daca pentru orice instanta a lui , care porneste din X, este obtinut acelasi rezultat pentru obiectul Y.
Folosind algebra de proiectie propusa anterior, o P-dependenta se formalizeaza astfel:
X/ àY V X0 si V 1, V a..i. este singurul drum dintre X si Y si:
X0 este o instanta a lui X
sunt instante ale lui care il contin pe X0
Atunci:
X0ρ1ays=X0ρ2ays
Definitie (L-dependente)
Un obiect Y este local dependent (L-dependent) de X, notat X|->Y, daca si numai daca alegand orice drum de la X la Y, se obtine acelasi rezultat pentru Y.
Utilizand algebra de proiectie, L-dependentele se formalizeaza astfel:
X|->Y V X0 si V ρ1, V ρ2 si V τ1, Vτ2 a.i
-X0 este instanta a lui X
si sunt drumuri distincte, care leaga X si Y
si sunt instante ale lui , respectiv si contin X0.
Atunci :
X0τ1ays=X0τ2ays
P-dependentele exprima legaturile inter-obiectuale, pe cand L-dependentele pe cele intra-obiectuale. in schema orientata -obiect, acestea se aplica doar unei singure instante a obiectului.Cand L-dependentele vizeaza toate instantele ale aceluiasi obiect cu acelasi identificator, acestea se numesc G-dependente (dependente globale).
Definitie (G-dependente)
Un obiect Y este G-dependent de X, notat X->Y, daca si numai daca Y este local dependent de X si oricare doua instante ale egale in X sunt egale si in Y.
Cu algebra de proiectie, G-dependentele se definesc astfel:
X->Y X|->Y si V X0 ,X1 , V 1, V si V , V a.i.:
-X0 aXs, X1 aXs (X0=X1)²;
si sunt drumuri distincte, care leaga X si Y
si sunt instante ale lui , respectiv si contin X0,X1.
Atunci :
X0 ays=X1 ays
Toate instantele clasei sunt cuprinse in . Proiectia acestei multimi in X, notata aXs, reprezinta toate instantele posibile ale acelui obiect. aXs se numeste instanta globala a lui X si se defineste astfel:
IF X este obiect THEN aXs=C
ELSE
aXs=
Unde pathX(E) reprezinta cel mai drum care leaga E si X.
Formal, functia path() poate fi definita astfel:
Fie un obiect O. Notam pathO1, On(O) cel mai mic drum care porneste din O si ncontine toate obiectele O1, On. pathO1, On(O) verifica proprietatile:
pathO1, On(O) contine O1, On
V O1 On O1 On este un drum care porneste din O si contine toate obiectele O1, On, deci
length(pathO1, On(O) )<length( O1 On
Modelul obiectual este conceput sa descrie o schema conceptuala corecta, care sa reflecte interpretarea utilizatorului a universului mai mult decat detaliile de implementare. Prin interpretarea utilizatorului se subintelege o multime de restrictii de G-dependente, care sunt specificate de un utilizator ca o intelegere a sa , a semanticii universului. Aceasta interpretare este exprimata ca o multime de G-dependente numite restrictii GD ale utilizatorului. in plus un obiect poate avea multiple interpretari, numite interpretarile obiectului, care rezulta din multiplele interpretari a structurii complexe ale obiectului. Interpretarile multiple deriva din drumurile verticale si compuse si formeaza interpretarea unui obiect. Toate interpretarile obiectului formeaza semantica acelui obiect.
Fie doua tipuri diferite de interpretari(a utilizatorului si a obiectului) descrise intr-o schema orientata obiect, normalizarea unui obiect poate fi privita ca un proces de potrivire, interpretarea utilizatorului comparandu-se cu cea a obiectului. Cand interpretarea utilizatorului este derivabila din interpretarea obiectului(prin axiomele de inferenta) atunci obiectul este in forma normala . Altfel, el este un obiect normalizat. in acest mod, formele normale asigura compatibilitatea intre interpretarile universului de catre utilizator si interpretarile reflectate de structura obiectului. Cand un obiect nu este in forma normala structura complexa a obiectului trebuie modificata sau restructurata pentru a reflecta caile induse de utilizator.
Definitie(Dependente coerente)
O dependenta A->B este coerenta daca A-B este o cale. Altfel, se numeste dependenta incoerenta.
Definitie(Interpretarea obiectuala)
Interpretarea unui obiect este o multime de G-dependente coerente ale obiectului. O interpretare este maximala daca si numai daca nu poate fi derivabila din alta interpretare obiectuala.
Formal, fie un obiect O notam:
-user, interpretarea utilizatorului a lui O
- , modelul lui O.
Definitie(Model)
Fie toate interpretarile maximale ale unui obiect O, atunci se numeste model.
Folosind aceasta definitie a modelului unui obiect, caracterizam G-dependente prin structura complexa a obiectului, bazata pe conceptele de dependente coerente, constrangeri de chei si identitatile unui obiect.
Teorema M este un model al obiectului E daca M verifica urmatoarele conditii:
1) este identificatorul lui E si
a) A este atribut univoc al lui E, atunci ->AM
b) A este atribut multivoc al lui E, atunci ->M.
c) K este cheie a lui E si K nu este identificatorul lui E, atunci K->M si ->KM
2) Daca este componenta complexa a lui E , este identificatorul lui si
a) B este atribut univoc al lui , atunci ->BM si -> B M
b) B este atribut multivoc al lui , atunci ->M si -> M
c) este cheie a lui si nu este identificatorul lui , atunci ->M
si ->M.
3) Daca sunt componente ale lui E, unde este o cale a lui E,
este identificator al lui si daca
a) B este atribut univoc al lui , atunci ->BM
unde =.
b) B este atribut multivoc al lui atunci-> ararrrsM
unde =.
c) este cheie a lui si nu este identificatorul lui atunci ->M
si ->M.
4) Nu mai sunt dependente in M.
Fie un obiect O, modelul lui O este notat, multimea de restrictii ale lui O este user. Prin Fw(w-o dependenta si F o multime de dependente) intelegem faptul ca w este rezultatul a uneia sau mai multor aplicatii a axiomelor de inferenta pentru elementele lui F.
Definitie(Forma Normala a unui obiect)
Un obiect E este in forma normala daca:
-fiecare componenta complexa a lui E are un identificator si
-user .
Teorema Daca un obiect E este in forma normala, atunci sunt satisfacute conditiile:
1) Daca A->Buser unde A si B sunt componente ale lui E, atunci A->B.
2) Daca B este componenta univoca a obiectului din E, atunci exista o multime de atribute cheie unde este cheie in in E si este componenta a lui si -> B user
Daca B este componenta multivoca a obiectului din E, atunci exista o multime de atribute cheie unde este cheie in din E si este componenta a lui si user
4) Nu exista dependente intre atributele componente ale lui O din E care nu sunt cheie.
V. 2. Reguli de normalizare
Pentru a normaliza un obiect trebuie analizate dependentele incoerente si modificata structura obiectului pana cand aceste dependente devin coerente, adica reflecta calea de acces a utilizatorului.
Teorema Un obiect E este in forma normala daca :
1) Daca A->B este o dependenta inuser atunci
a) A-B este cale in E .
b) A este o multime de chei care sunt componente ale lui E unde este
componenta a lui si B este componenta univoca a lui .
c) A este componenta a lui O avand cardinalul 1:n si B este univoc in O.
2) Daca A->user atunci
a) A-B este cale in E .
b) A este o multime de chei care sunt componente ale lui E, unde este atribut al
lui si B este componenta multivoca a lui .
c) A este componenta a lui O avand cardinalul 1:n si B este componenta univoca in O.
Aceasta teorema sta la baza identificarii regulilor de normalizare.
Regula 1 Fie E un obiect, daca exista o dependenta incoerenta A->B(sau A->) si o cale care contine A si B, atunci este despartita in doua sub-cai: . contine numai A si B, contine A si (tB).
Regula 2 Fie E un obiect, daca toate dependentele lui E care utilizeaza obiecte complexe sunt coerente, si mai mult, daca exista o restrictie de G-dependente A->B astfel incat
user A->B, atunci E este transformat prin creearea unui nou obiect dupa proprietatile:
- este componenta a lui E, avand cardinalul(min(),min()),unde A= si () sunt cardinalele minime si maxime ale atributului.devine univoc in .
-B este componenta a lui .
-A este cheie a lui .
Referinte:
Baza lucrarii de fata este constituita de:
Tari,Z.,1997, Object Normal Forms and Dependency Constraints for OO Schemata
ACM Transactions on Database Systems, vol.22,No.4 (dec.).
Alte referinte:
Rumbaugh,J., Blaha,M.,Premerlani,W.,Eddy,F. si Lorensen, W.,1991 Object-Oriented
Modeling and Design . Prentice-Hall,Inc.Upper Saddle River,NJ.
Tari.Z,1992, On the design of object-oriented databases in Proccedings of the Conference
on Entity-Relationships (Karlsruhe,Germany),389-405.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1264
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2025 . All rights reserved