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.”[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).”

“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

odelul 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
far111g65b 9; 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 Larfe Shared
Databanks” (Un model relational de date pentru banci de date partajate de
mari dimensiuni.) [5]

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.”[6]

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. (Figura
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