Sunteți pe pagina 1din 10

MODELE SI TIPURI DE BAZE DE DATE

“Un model este o abstractizare a unui sistem, care capteaza cele mai
importante trasaturi caracteristice ale sistemului (concepte), relevante din
punct de vedere al scopului pentru care se defineste modelul respectiv. Un
model de date stabileste reguli de organizare si interpretare a unei colectii
de date.”

Dupa modul de organizare, modul de stocare pe suportul magnetic a


informatiei se cunosc mai multe modele de baze de date: modelul de date
ierarhic, modelul de date retea, modelul de date relational, modelul de date
obiect – orientat, modelul de date obiect – relational, modelul de date
distribuite, modelul de date semantice, modelul logic, etc.

Modelul de date ierarhic a fost primul model folosit pentru dezvoltarea


bazelor de date, legaturile dintre date fiind ordonate unic, accesul se face
numai prin varful ierarhiei, un subordonat nu poate avea decat un singur
superior direct si nu se poate ajunge la el decat pe o singura cale. (Figura

“In modelul ierarhic (Hierarchical Model) o baza de date se reprezinta


printr-o structura ierarhica de inregistrari de date (records) conectate prin
legaturi (links).”

“Un model este o abstractizare a unui sistem, care capteaza cele mai
importante trasaturi caracteristice ale sistemului (concepte), relevante din
punct de vedere al scopului pentru care se defineste modelul respectiv. [] Un
model de date stabileste reguli de organizare si interpretare a unei colectii
de date.”[1]

Dupa modul de organizare, modul de stocare pe suportul magnetic a


informatiei se cunosc mai multe modele de baze de date: modelul de date
ierarhic, modelul de date retea, modelul de date relational, modelul de date
obiect – orientat, modelul de date obiect – relational, modelul de date
distribuite, modelul de date semantice, modelul logic, etc.

Modelul de date ierarhic a fost primul model folosit pentru dezvoltarea


bazelor de date, legaturile dintre date fiind ordonate unic, accesul se face
numai prin varful ierarhiei, un subordonat nu poate avea decat un singur
superior direct si nu se poate ajunge la el decat pe o singura cale. (Figura

“In modelul ierarhic (Hierarchical Model) o baza de date se reprezinta


printr-o structura ierarhica de inregistrari de date (records) conectate prin
legaturi (links).”
Fig. 2 – Model de baza de date ierarhic

Modelul de date retea este modelul in care datele sunt reprezentate ca intr-o


multime de ierarhii, in care un membru al ei poate avea oricati superiori, iar
la un subordonat se poate ajunge pe mai multe cai. Deosebirea fata de
modelul ierarhic consta in faptul ca in modelul retea asocierile se reprezinta
fara; duplicarea inregistrarilor, fiecare inregistrare putand fi referita de mai
multe inregistrari, ceea ce elimina redundanta datelor.

“Modelul retea (Network Model) foloseste o structura de graf pentru definirea


schemei conceptuale a bazei de date; nodurile grafului sunt tipuri de entitati
(inregistrari – records), iar muchiile grafului reprezinta in mod explicit
asocierile (legaturile – links) dintre tipurile de entitati.”

Modelul de date relational este modelul de baze de date cel mai utilizat in


prezent in gestiunea bazelor de date. Structura de baza a datelor este aceea
de relatie-tabel.

“Modelul relational (Relational Model) se bazeaza pe notiunea de relatie


(relation) din matematica, care corespunde unei multimi de entitati de
acelasi tip si are o reprezentare usor de inteles si de manipulat, ce consta
intr-un tabel bidimensional, compus din linii si coloane. Fiecare linie din tabel
reprezinta o entitate atribut corespunzand unei coloane a tabelului.”

Acest model este tratat mai amanuntit in subcapitolul 1.

Modelul de date distribuite este rezultatul integrarii tehnologiei bazelor de


date cu cea a retelelor de calculatoare, fiind baze de date logic integrate dar
fizic distribuite pe mai multe sisteme de calcul.

Modelul de date semantice – orientate spre obiecte, spre reprezentarea


semnificatiei datelor, structura de baza folosita este cea de clasa de obiecte,
definita prin abstractizare din entitatea fizica.
Modelul logic de date – orice sistem de gestiune a bazei de date pentru a
manipula o baza de date foloseste un anumit tip de model logic de date
fundamentale (ierarhice, retea, relationale, orientate obiect) si derivate
(distribuite).

Modelul orientat obiect marcheaza trecerea la a treia generatie de


baze de date. El aduce bazelor de date un plus de deschidere, flexibilitate si
da rezultate bune pentru probleme mari si complexe. In structura sunt
acceptate toate tipurile de date cunoscute, putandu-se aplica in toate
domeniile de activitate. Comunicarea intre obiecte se face prin mesaje,
actualizarea metodelor, actualizarea proprietatilor, actualizarea claselor,
realizarea legaturilor intre clase, actualizarea instantelor.

1. BAZE DE DATE RELATIONALE

Baza de date relationala a fost conceputa pentru prima data in 1969 si


se presupune ca a devenit modelul de baze de date cel mai utilizat in
prezent in gestiunea bazelor de date.

Parintele modelului relational, dr. Edgar F. Codd, cercetator la IBM,


cautand noi modalitati de manipulare a unor cantitati mari de date si nefiind
multumit de modelele si produsele de baze de date existente, a incercat sa
gandeasca o metoda de a aplica disciplinele si structurile din matematica
pentru a rezolva enorma diversitate de probleme pe care le intalnea.

Dr. Codd si-a prezentat in mod formal noul model relational intr-o
lucrare de referinta, intitulata „A Relational Model of Data for Large Shared
Databanks” (Un model relational de date pentru banci de date partajate de
mari dimensiuni.)

Baza de date relationala a devenit solutia preferata in numeroase


situatii.

2. STRUCTURA BAZEI DE DATE RELATIONALA

“O baza de date relationala este compusa dintr-o multime finita de


relatii, fiecare relatie reprezentand un tip de entitate sau o asociere dintre
doua sau mai multe tipuri (multimi) de entitati.” O baza de date relationala
stocheaza datele in „relatii unice”, pe care utilizatorul le percepe sub forma
unor tabele.
In proiectul realizat in Capitolul IV s-au utilizat patru tabele: clienti,

furnizori, iesiri, intrari.

Fig. 3 – Componenta bazei de date Magazia

Fiecare relatie este compusa din tupluri sau inregistrari si atribute sau
campuri. (Figura

Fig. 4 – Structura unei tabele


Atributul unei relatii este atributul tipului de entitate sau de asociere
pe care il reprezinta relatia respectiva, reprezentand coloana unei tabele
caracterizata printr-un nume. Unele atribute pot avea rol de chei, de diferite
tipuri.

Domeniul este ansamblu de valori posibile pentru atributele relatiei.


Domeniul poate fi explicit, enumerandu-se valorile posibile, sau implicit,
precizandu-se proprietatile valorilor.

Tuplul este inregistrarea dintr-o tabela format dintr-un sir de valori


corespunzatoare atributelor.

Ordinea fizica a inregistrarilor sau a campurilor dintr-un tabel este


complet lipsita de importanta, iar fiecare inregistrare din tabel este
identificata prin intermediul unui camp care contine o valoare unica. Aceasta
reprezinta cele doua caracteristici ale unei baze de date relationale care
permit datelor sa existe independent de modul in care acestea sunt fizic
stocate in calculator.

Un utilizator nu este obligat sa cunoasca locatia fizica a unei


inregistrari pentru a putea gasi datele incluse, situatie care difera de cea a
modelelor de baze de date ierarhice si retea, unde cunoasterea dispunerii
structurilor este esentiala pentru regasirea datelor.

3. TIPURI DE LEGATURI RELATIONALE

Relatia stabileste o conexiune intre doua tabele ce sunt corelate logic


unul cu celalalt, si ajuta la continuarea imbunatatirii structurilor de tabel si la
reducerea datelor redundante. Relatia este mecanismul care permite
extragerea datelor din mai multe tabele simultan.

O relatie corect definita asigura integritatea la nivel de relatie, care, la


randul ei, garanteaza ca relatia insasi este solida si de incredere.

Modelul relational clasifica relatiile ca fiind de tip unu la unu (1:1), unu


la mai multi (1:m) si mai multi la mai multi (m:m).

O relatie intre tabele dintr-o pereche este stabilita in mod implicit prin
intermediul valorilor echivalente ale unui camp comun.

Atata timp cat un utilizator cunoaste relatiile dintre tabelele incluse


intr-o baza de date, poate obtine acces la date intr-un numar aproape
nelimitat de moduri.

Doua tabele au o relatie unu la unu (1:1) cand o singura inregistrare


din primul tabel este corelata cu o singura inregistrare din al doilea tabel si o
singura inregistrare din al doilea tabel este corelata cu o singura inregistrare
din primul tabel.
Un tabel serveste ca tabel “parinte”, iar al doilea indeplineste rolul de
tabel “copil”. Relatia se stabileste prin preluarea unei copii a cheii primare a
tabelului parinte si incorporarea acestuia in structura tabelului copil, unde
devine tot o cheie primara.

Acesta este un tip special de relatie, deoarece este unicul in cadrul


caruia ambele tabele pot folosi executiv aceeasi cheie primara.

O inregistrare din TABELUL 1 este corelata cu o singura inregistrare din


TABELUL 2, iar o inregistrare din TABELUL 2 este corelata cu o singura
inregistrare din TABELUL 1. (Figura

Fig. 5 – Relatia 1:1

Intre doua tabele exista o relatie unu la mai multi (1:m) cand o


inregistrare din primul tabel poate fi corelata cu una sau mai multe
inregistrari din al doilea tabel, dar o inregistrare din al doilea tabel poate fi
corelata cu o singura inregistrare din primul tabel.

Un tabel serveste ca tabel “parinte”, iar al doilea indeplineste rolul de


tabel “copil”. Relatia se stabileste prin preluarea unei copii a cheii primare a
tabelului parinte si incorporarea acestuia in structura tabelului copil, unde
devine o cheie externa.

Aceasta reprezinta cea mai comuna categorie de relatie care exista


intre doua tabele dintr-o baza de date si este cruciala din punct de vedere al
integritatii datelor, intrucat contribuie la eliminarea datelor duplicate si
reducerea la un minimum absolute a datelor redundante.

O inregistrare din TABELUL 1 poate fi corelata cu una sau mai multe


inregistrari din TABELUL 2, iar o inregistrare din TABELUL 2 poate fi corelata
doar cu o singura inregistrare din TABELUL 1. (Figura
Fig. 6 – Relatia 1:m

In aplicatia Evidenta_magazie[7], tabelele Furnizori, respectiv Clienti


sunt intr-o relatie unu la mai multe cu tabelele Intrari, respectiv Iesiri, dupa
campurile comune nume_furnizor, respectiv nume_client, deoarece se pot
achizitiona de la acelasi furnizor mai multe produse si se pot livra mai multe
produse unui singur client de mai multe ori. (Figura

Fig. 7 – Relatii intre tabele

Intre doua tabele exista o relatie mai multi la mai multi (m:m) daca


o inregistrare din primul tabel poate fi corelata cu una sau mai multe
inregistrari din al doilea tabel si o inregistrare din al doilea tabel poate fi
corelata cu una sau mai multe inregistrari din primul tabel.

O relatie din aceasta categorie se stabileste cu ajutorul unui tabel de


legatura, care faciliteaza asocierea inregistrarilor dintr-un tabel cu
inregistrarile din celalalt tabel si asigura lipsa oricaror probleme la operatiile
de adaugare, stergere sau modificare a datelor corelate.

O inregistrare din TABELUL 1 poate fi corelata cu una sau mai multe


inregistrari (dar nu obligatoriu cu toate) din TABELUL 2, iar o inregistrare din
TABELUL 2 poate fi corelata cu una sau mai multe inregistrari din TABELUL 1.
(Figura
Fig. 8 – Relatia m:m

Acest tip de relatie este al doilea ca frecventa de aparitie intre doua


tabele dintr-o baza de date. Ea este ceva mai dificil de identificat decat o
relatie unu la mai multi.

4. PROIECTAREA
UNEI BAZE DE DATE RELATIONALE

Procesul de construire a unei baze de date se desfasoara in doua


etape:

Construirea tabelelor care compun baza de date ─ aceasta inseamna


ca pentru fiecare tabel din baza de date trebuie definita structura, adica
ansamblul de campuri impreuna cu proprietatile lor.

In figurile de mai jos sunt definite structurile tabelelor Furnizori


(Figura ), Clienti (Figura ), Intrari    (Figura ) si Iesiri (Figura ), utilizate in
aplicatie.

Fig. 9 – Structura tabelei furnizori


Fig. 10 – Structura tabelei Clienti

Fig. 11 – Structura tabelei Intrari

Fig. 12 – Structura tabelei Iesiri

Dupa definirea structurii incepe incarcarea datelor in tabel.


La nivelul tabelului: se pot adauga, sterge sau modifica inregistrari. se
poate modifica structura unui tabel chiar dupa ce a fost incarcat cu date.

2) Stabilirea relatiilor intre tabele ─ Relatiile care se vor stabili intre


tabele sunt unidi-rectionale, adica intre doua tabele nu se stabileste o relatie
de egalitate ci o relatie de subordonare: unul dintre tabele este tabelul
conducator sau principal (tabelul de la care porneste legatura), iar celalalt
este tabelul condus sau secundar (tabelul la care ajunge legatura). Tabelul
condus este subordonat tabelului conducator. Aceasta inseamna ca daca
utilizatorul selecteaza o inregistrare in tabelul conducator, sistemul va
selecta automat inregistrarea de care este legata din tabelul condus.

In aplicatia Evidenta_magazie tabelele Furnizori si Clienti sunt tabelele


de la care se porneste legatura catre tabelele Intrari si Iesiri. (Figura

Fig. 13 – Stabilirea relatiilor intre tabele

De obicei, modelul relational cel mai des intalnit este cel descris
printr-un arbore cu o singura radacina, adica in baza de date exista un
singur tabel conducator care reprezinta radacina arborelui. Celelalte tabele
sunt legate de tabelul conducator direct sau indirect (prin intermediul altor
tabele).

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