Dictionarul si definirea datelorStudent : Raducanu AngelaDictionarul datelorDictionarul datelor unei BDD contine informatia referitoare la descrierea datelor globale, plasamentul datelor si controlul semantic al datelor. Dictionarul este o baza de date continand meta-date care descriu datele din baze, el putand fi exploatat ca o BDD si fragmentat si duplicat cu aceleasi tehnici aplicabile la o baza de date clasica. Dintre modalitatile de organizare si plasare a dictionarului in BDD amintim :Abordarea centralizata administreaza dictionarul intr-o statie unica, existand un singur punct de acces ;Abordarea cu dubluri administreaza in fiecare statie o copie a dictionarului ;Abordarea distribuita fragmenteaza dictionarul in dictionare locale, fiecare continand informatia necesara statiei unde este stocat.1 Definirea datelorDefinirea datelor distribuite cuprinde doua aspecte : descrierea datelor (influentata de gradul de autonomie a statiilor) si plasamentul lor in retea (influentat de obiectivele propuse si de disponibilitatile existent). Plasamentul datelor poate fi descompus in doua etape succesive : fragmentarea relatiilor si alocarea optima a fragmentelor.1.2. Descrierea datelorOperatia de descriere a unui obiect global (de exemplu, o noua relatie) sau de modificare a acestei descrieri depinde de organizarea dictionarului datelor.Descrierea datelor este introdusa in statia locala, numita loc creator. Aceasta comunica, cooperand si schimband informatii, cu fiecare alta statie autorizata sa acceseze datele descrise. Locul creator poate cunoaste limba statiilor care vor accesa datele sale pentru a le informa de orice modificare ulterioara a descrierii lor.Exemplu : Numele unic al unui obiect ar putea include numele intern al utilizatorului, identificatorul statiei utilizatorului si numele obiectului. Se presupune ca utilizatorul poate crea obiecte numai in statia in care se gaseste. Numele relatiei CARTE creata de IONESCU in statia DEVA este IONESCU @ DEVA.CARTE unde @ precede numele statiei. Mecanismul permite identificarea unica a relatiilor avand acelasi nume, create independent in diferite statii sau create in aceeasi statie, de catre diferiti utilizatori. Cand obiectul este deplasat spre alta statie, locul creator pastreaza descrierea obiectului si indica statia unde se gaseste efectiv obiectul.1.3. Proiectarea fragmentariiFragmentarea relatiilor permite impartirea unei relatii globale in unitati logice (fragmente) care pot fi plasate optim in BDD. Fragmentarea trebuie sa indeplineasca urmatoarele cerinte :Sa pastreze coerenta semantica a BDD ;Sa realizeze o descompunere fara pierderi de informatii, fara dubluri ;Sa permita reconstructia relatiei initiale din fragmente.Regulile care trebuie respectate in definirea fragmentelor sunt date de urmatoarele conditii :Conditia de completitudine intreaga relatie globala trebuie partajata in fragmente. Un articol care apartine unei relatii globale, in mod obligatoriu apartine unui fragment.Conditia de reconstructie In orice moment trebuie sa fie posibila reconstructia relatiei globale din fragmentele ei.Conditia de disjunctie Fragmentele obtinute sa fie disjuncte astfel incat duplicarea datelor sa poata fi controlata explicit la nivelul alocarii datelor.O relatie poate fi divizata in relatii mai mici, prin doua moduri : orizontal si vertical, rezultand trei tipuri de fragmentari : orizontale (care pot fi directe si indirecte), verticale si mixte. Fragmentarea orizontala directa consta in partitionarea unei relatii R in submultimi de tupluri, fiecare submultime Ri fiind definita printr-o operatie de selectie aplicata relatiei, reconstructia relatiei initiale realizandu-se prin reuniunea fragmentelor orizontale : R = R1 ? R2 ? .. ? Rn.De exemplu fragmentarea relatiei CARTE, avand schema relationala CARTE (codel, titlu, autor, pret, nrex) in fragmentele :CARTE1 = ?pret < 5000 (CARTE) si CARTE2 = ?pret ? 5000 (CARTE)Fragmentarea orizontala indirecta consta in partitionarea unei relatii R in submultimi de tupluri Ri, fiecare submultime fiind definita printr-o operatie de semi-compunere a relatiei cu fragmente obtinute dintr-o fragmentare orizontala directa a altei relatii S, fragmentarea indirecta fiind derivata din fragmentarea orizontala a altei relatii.Fragmentele Ri sunt definite prin : Ri = SEMIJOIN(R, Si), 1 ? i ? k,unde k este numarul maxim de fragmente definite pe R, Si = ?Fi(S), iar Fi este formula in raport cu care a fost definita fragmentarea orizontala directa.De exemplu, fragmentarea relatiei IMPRUMUTA in functie de fragmentele CARTE1 si CARTE2 definite anterior in :IMPRUMUTA1 = SEMIJOIN(IMPRUMUTA, CARTE1)IMPRUMUTA2 = SEMIJOIN(IMPRUMUTA, CARTE2)Plasarea in acelasi loc a perechii de fragmente CARTE1 IMPRUMUTA1 si CARTE2 IMPRUMUTA2 permite realizarea compunerii relatiilor CARTE si IMPRUMUTA prin realizarea in paralel a compunerilor JOIN(CARTE1, IMPRUMUTA1), JOIN(CARTE2, IMPRUMUTA2).Fragmentarea orizontala (directa sau indirecta) se face in doua etape :1.se initializeaza multimea rezultat cu un predicat care partitioneaza relatia in doua fragmente, fiecare fragment fiind accesat de cel putin o aplicatie.2.se adauga iterativ un nou predicat, care va pozitiona un fragment deja definit in multimea rezultat, in doua fragmente, fiecare fiind accesat de cel putin o aplicatie. Predicatele care devin nerelevante in raport cu multimea rezultat sunt eliminate. Fragmentarea verticala consta consta in partitionarea unei relatii R in submultimi de tupluri Ri, fiecare submultime fiind definita printr-o operatie de proiectare aplicata unei relatii, reconstructia relatiei initiale obtinandu-se prin operatia de compunere a fragmentelor verticale : R = JOIN(R1, R2, ., Rn).De exemplu, fragmentarea verticala a relatiei CARTE in fragmentele :CARTE1 = ?codel, autor, pret (CARTE)CARTE2 = ?codel, titlu, nrex (CARTE)unde JOIN(CARTE1, CARTE2) = CARTE.Determinarea fragmentelor verticale ale unei relatii R presupune impartirea atributelor in multimi care sunt referite in acelasi fel in cadrul aplicatiilor. Conditia de corectitudine cere ca fiecare atribut al relatiei R sa apartina cel putin unei multimi. Exista doua moduri de abordare a problemei :abordarea ascendenta grupeaza iterativ atributele in fragmente din ce in ce mai mari.abordarea descendenta descompune iterativ relatia in fragmente din ce in ce mai mici.Fragmentarea mixta combina fragmentarea orizontala si verticala si consta in aplicarea fragmentarii verticale la un fragment orizontal sau invers. Aceste operatii pot fi repetate cursiv, insa in practica, este vine sa existe cel mult doua nivele de fragmentare.De exemplu, relatia CARTE poate fi fragmentata in :CARTE1 = ?codel, titlu, nrex (CARTE) CARTE2 = ?pret < 5000 (?codel, autor, pret (CARTE))CARTE3 = ?pret < 5000 (?codel, autor, pret (CARTE))Reconstructia relatiei CARTE este JOIN(CARTE1, CARTE2 ? CARTE3) = CARTE1.4. Alocarea fragmentelorAlocarea fragmentelor permite plasarea fragmentelor cat mai aproape de aplicatiile care acceseaza frecvent aceste fragmente si duplicarea anumitor fragmente, astfel incat sa fie folosite drept date locale in statiile unde sunt necesare frecvent.O baza de date este replicata daca o copie a acesteia este memorata in mai multe statii. Baza de date poate fi complet replicata, partial replicata sau nereplicata. Replicarea datelor mareste complexitatea proiectarii deoarece gradul de replicare a fiecarui fragment devine o variabila a problemei.Problema alocarii fragmentelor poate fi tratata ca o problema de optimizare a plasamentului fiecarui fragment. Proiectarea alocarii, in functie de metodele utilizate, poate avea ca rezultat o alocare finala neredundanta sau redundanta.Presupunem ca exista o multime de fragmente F = {F1, F2,....,Fn} si o retea de statii S = {S1, S2, .., Sn}, in care se executa aplicatiile Q = {q1, q2, , qp}. Problema alocarii se reduce la gasirea distributiei optime a lui F pe S.Optimalitatea poate fi definita in raport cu doua masuri :Costul minimal. Functia cost include constul depunerii, al filtrarii si al reactualizarii fiecarui fragment Fi in fiecare loc Sj si costul comunicatiei datelor, problema alocarii constand in a gasi scheme de alocare care sa minimalizeze functia cost.Performanta. Este aleasa o schema de alocare care sa realizeze o anumita performanta masurabila (de exemplu, sa realizeze un timp de raspuns minim).Metoda celei mai bune alegeri permite determinarea unei alocari finale neredundante. Fragmentul se aloca statiei unde numarul de referiri la segment este maxim. Metoda ofera o solutie care elimina posibilitatea plasarii unui fragment la o anumita statie daca un fragment inrudit este deja alocat statiei respective.Metoda selectarii statiilor profitabile permite determinarea unei alocari redundante a fragmentelor, fiind selectate statiile profitabile, adica statiile pentru care beneficiul alocarii unei copii a fragmentului este mai mare decat costul alocarii.Metoda replicarii progresive implica constuirea initiala a unei solutii neredundante si apoi introducerea progresiva a copiilor replicate incepand cu cea mai profitabila, alogoritmul incheindu-se cand nici o replicare posibila nu mai este profitabila.
Referat informatica. DICTIONARUL DATELOR - BAZE DE DATE
label Referate calendar_month 19 Mar 2007, 00:00 autorenew 29 Sep 2025, 16:56 history_edu @ngela
Noutati











