Sunteți pe pagina 1din 16

Modelarea datelor

Un modeleste o abstractizare a unui sistem: capteaz cele mai importante trsturi caracteristice ale sistemului (concepte) conceptele trebuie sa fie relevante din punct de vedere al scopului pentru care se definete modelul respectiv Tehnica de identificare a trsturilor caracteristice eseniale ale unui sistem se numete abstractizare. Un model de date stabilete regulile de organizare i interpretare a unei colecii de date.

n proiectarea bazelor de date se folosesc2 categorii de modele:


Modele conceptualede nivel nalt(modelul Entitate-Asociere, modelul EntitateAsociere Extins) descriu concis colectiile de date care modeleaz activitatea dorit fr s detalieze modul de reprezentare sau de prelucrarea datelor !schem conceptual de nivel nalt Modele specializate(modelul ierarhic" modelul reea" modelul relaional" etc.) !descriu reprezentarea mulimilor de entiti i a asocierilor dintre acestea prin structuri de date specifice !schem conceptual (logic) Trecerea de la modelul conceptual de nivel #nalt la un model de date specific proiectare logic a bazei de date. Modelul Entitate-Asociere $odelul %ntitate!&sociere (%ntit'!(elationship $odel) defineste multimile de entiti i asocierile dintre ele" dar nu impune nici un mod specific de structurare i prelucrare (gestiune) a datelor) * entitate (entit') este +orice e,ista in realitatea obiectiva si poate fi identificat #n mod distinctiv %,emple: o persoana"o planta" o activitate" un concept etc. .n atribut (attribute) este o proprietate care descrie un anumit aspect al unei entiti

%,emple: persoanele au nume" prenume" adresa etc. Tip de entitate (entit' t'pe): se refera la entittile similare" care pot fi descrise prin aceleasi atribute %,emple: tipul persoana" tipul planta $ultime de entitati (entities set): colecia tuturor entitilor de acelai tip dintr!o baz de date constituie o mulime de entiti %,emple: multimea tuturor persoanelor" multimea tuturor plantelor * entitate este o instanta a unui tip de entitate si un element al multimii de entitati de acel tip /n e,primarea curenta" adeseori nu se face diferentierea dintre entitate" tip de entitate si multime de entitati" dar diferenta este evidenta &semanare cu modelul obiect: tip de entitate ! clasa) entitate obiect

Asocieri O asociere(relationship) este o coresponden #ntre entiti din dou sau mai multe mulimi de entiti) asocierile pot avea atribute Tipul asocierii(relationship type) se refera la asocierile similare" care pot fi definite intre 0 sau mai multe multimi de entitati Multime de asocieri(relationship set): multimea asocierilor de acelasi tip * asociere este o instanta a unui tip de asociere si un element al multimii de asocieri de acel tip /n e,primarea curenta" adeseori nu se face diferentierea dintre asociere" tip de asociere si multime de asocieri" dar diferenta este evidenta Gradul unui (tip de) asociere (degree): numrul de (mulimi de) entiti asociate) dupa grad" asocierile pot fi: binare(de gradul 0" #ntre 0 mulimi de entiti) ma1oritatea asocierilor multiple(#ntre 2 mulimi de entiti" 2 3 0) destul de rare 4ategorii de (tipuri de) asocieri binare ! dup numrul elementelor din fiecare dintre cele dou mulimi puse #n coresponden: -unul!la!unul5(one!to!one) 6:6) e,emplu: sot!sotie

5unul!la!multe5(one!to!man') 6:7) e,emplu: parinte!fii -multe!la!unul5(man'!to!one) 7:6) e,emplu: fii!parinte -multe!la!multe5(man'!to!man') $:7) e,emplu: profesori!studenti

Cardinalitatea asocierilor Cardinalitatea (multiplicitatea) unei asocieri fa de o mulime de entiti( cardinality, multiplicity) este numrul maxim de elemente din acea mulime care pot fi asociate cu un element din alt mulime a asocierii %,emplu: asocierea -unul!la!multe5dintre mulimile & i 8 prezint multiplicitatea 6 fa de mulimea & i multiplicitatea 7 (se #nelege o valoare oarecare 7 3 6) fa de mulimea 8 Raport de cardinalitate(cardinality ratio): raportul dintre valorile cardinalitilor unei asocieri fa de dou din mulimile de entiti asociate %,emple pentru asocieri binare: 6:6" 6:7" 7:6" $:7 &socierile multiple (2!are" 2 3 0) prezint c9te un raport de cardinalitate pentru fiecare pereche de mulimi de entiti pe care le asociaz.

Diagrama Entitate Entitate-Asociere :iagrama %ntitate!&sociere(%ntit'!(elationship :iagram) reprezint grafic modelul %ntitate!&sociere prin mulimile de entiti i asocierile dintre acestea $ultimi (tipuri) de entitati: ;uternice (de sine statatoare) <labe (depind de alte multimi de entitati) 7otatii:

Modelul de date ierarhic Modelul ierarhic(Hierarchical Model): baza de date se reprezinta printr!o structur ierarhic de #nregistrri (records) conectate prin legturi (links). & fost primul model folosit pentru dezvoltarea bazelor de date 4el mai cunoscut <=8: ierarhic: sistemul /$< (Information Mana ement !ystem) dezvoltat de /8$ #n programulde cercetri &pollo" #n perioada anilor 6>?@ O nregistrare de date#n modelul ierarhic este o instan a unui tip de #nregistrare (record type) i const dintr!o colecie de c9mpuri ( fields)" fiecare c9mp conin9nd valoarea unui atribut. .n tip de legtur #n modelul ierarhic: tip de asociere cu raportul de cardinalitate 6:7 (printe!fiu) #ntre dou tipuri de #nregistrri <chema conceptual a unei baze de date #n modelul ierarhic se reprezint printr!un numr oarecare de scheme ierarhice * schem ierarhic este un arbore direcionat" reprezentat pe mai multe niveluri" #n care nodurile sunt tipuri de #nregistrri" iar arcele sunt tipuri de legturi

Modelul de date retea Modelul re ea("et#ork Model) folosete o structur de graf pentru definirea schemei conceptuale a bazei de date $odelele ierarhic si retea modele pre!relationale <tandardizat #n 6>A6" de o comisie :8T= ($ata%ase &ask 'roup). <isteme de gestiune comerciale in modelul retea: /:< // (Bone'Cell)" .7/<D< (8urroughs)" /:$< (4omputer &ssociates) 7odurile grafului sunt tipuri de entiti ( (nre istrri -records)" iar muchiile reprezint asocierile (le turile-links) dintre tipurile de entiti &socierile $:7 se reprezint fr duplicarea #nregistrrilor" fiecare #nregistrare put9nd fi referit de mai multe #nregistrri" ceea ce elimin redundana :ezavanta1e: aceleasi ca si la modelul ierarhic" la care se adauga comple,itatea mare in reprezentarea datelor

&ctualmente modelul retea este rar utilizat pentru baze de date de uz general" care necesita interogari %,ist domenii #n care modelul retea este util" de e,emplu" pentru reprezentarea scenelor virtuale (baze de date grafice)

Modelul de date relational Modelul rela ional()elational Model) se bazeaz pe noiunea de rela ie(relation) din matematic" care corespunde unei mulimi de entiti Eundamentat de %.E. 4odd (/8$)" prin lucrarea F.n model (elaional de :ate pentru 8nci $ari de :ate ;arta1ateF (6>A@) :ezvoltare e,traordinara a sistemelor de gestiune a bazelor de date relationale" datorit simplitii i a fundamentrii matematice a modelului &lte lucrri ale cercetatorilor 4.G. :ate" ;. 4hen" (. 8o'ce" G.:. .llman" (. Eagin" H. &rmstrong" $. <tonebra2er etc. au perfecionat modelul relaional ;rimul <istem de =estiune a 8azelor de :ate (elaionale (<=8:() a fost prototipul <'stem ( (/8$" 6>A@) :up aceasta numeroase companii au realizat sisteme de gestiune relaionale: *racle" $icrosoft" /ngres" <'base <=8:( folosesc limba1ul <IJ (!tructured *uery +an ua e)" pentru care au fost emise mai multe standarde &7</ (&merican 7ational <tandardization /nstitute) si /<* (/nternational <tandardization*ffice) $a1oritatea <=8:!urilor relaionale actuale implementeaz versiunea <IJ0 (<IJ>0) siKsau <IJL (<IJ>>)

Modelul obiect obiect-orientat Modelul obiect(,%-ect Model) este un concept unificator 7ecesar in domenii in care se manipuleaza date de tipuri comple,e: proiectarea sistemelor de calcul: programare" hardCare" interfete" baze de date proiectarea asistat de calculator in alte domenii

sisteme de informaii geografice medicin i altele <trategii pentru dezvoltarea sistemelor de gestiune a bazelor dedate obiect!orientate (<=8:**): %,tinderea unui limba1 de programare obiect!orientat cu capaciti de administrare a obiectelor persistente: sistemul =em<tone (e,tinde Gava si 4MM) %,tinderea unui limba1 de programare relaional cu capaciti de orientare spre obiecte. %,empl.: limba1ul *:J (*b1ect Iuer' Janguage) (sau *b1ect <IJ)" %,ist mai multe astfel de sisteme" cum sunt: *ntos" Nersant" *0. :ezvoltarea unui limba1 obiect!orientat pentru baze de date complet nou: </$ (<emantic /nformation $anager). :ificultati: 4omple,itate in dezvoltare a bazei de date i a aplicaiilor /nterogarile trebuie s fie prevzute e,plicit in structura datelor .tilizare <=8:**: cam OP din sistemele de gestiune actuale

Modelul obiect obiect-relational $odelul obiect!relaional(*b1ect!(elational $odel) reprezint e,tinderea modelului relaional cu caracteristici ale modelului obiect $odelul obiect!relaional pstreaz structurarea datelor #n relaii" si" in plus: permite definirea unor noi tipuri de date" ca domenii ale atributelor permite e,tinderea tipurilor de date prin motenire <istemele de gestiune a bazelor de date obiect!relaionale (<=8:*() se realizeaz prin e,tinderea sistemelor relaionale" de regula #n mod gradat" adug9ndu!se de la o versiune la alta c9t mai multe caracteristici posibile ale modelului obiect &ceasta abordare asigur rularea #n continuare a aplicaiilor relaionale e,istente #n noile versiuni de sisteme <=8:*(" ceea ce permite productorilor (*racle" /nformi, i /8$) s!i pstreze clienii i domeniile de utilizare Jimba1ele de programare pentru <=8:*( sunt standarde mai recenteale limba1ului <IJ: <IJL (<IJ6>>>)" <IJ!0@@L" <IJ!0@@?

S-ar putea să vă placă și