Sunteți pe pagina 1din 9

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

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

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

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

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

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, 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