Documente Academic
Documente Profesional
Documente Cultură
BD Ierarhice, În Rețea Și Relaționale
BD Ierarhice, În Rețea Și Relaționale
“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.”
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).”
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.”
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 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).
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.)
“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.”
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.
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.
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.
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.
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.
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
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
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
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.
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.
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).