Sunteți pe pagina 1din 6

CAPITOLUL 2.

MODELE DE REPREZENTARE A DATELOR ÎN BAZELE DE DATE

Literatura de specialitate face referire la următoarele modele utilizate în gestiunea bazelor de date:
 modelul ierarhic, fondat pe reprezentarea arborescentă a schemei conceptuale a bazei de date
în care nodurile reprezintă clasele de obiecte, iar arcele legăturile dintre acestea;
 modelul reţea, fondat pe reprezentarea schemei conceptuale sub formă de reţea;
 modelul relaţional, fondat pe noţiunea matematică de relaţia;
 modelul obiectual, fondat pe modelarea realităţii prin intermediul obiectelor;

2.1. Modelul ierarhic

Primul model utilizat în bazele de date este modelul ierarhic, care se bazează pe o structură
arborescentă, în care un nod părinte poate avea mai multe noduri fiu, în timp de un nod fiu nu poate avea
decât un singur nod părinte. Schema ierarhiei are un singur nod rădăcină, iar pentru reprezentarea
relaţiilor de tipul m:n într-o structură de bază de date ierarhică se admite duplicate pentru instanţele
înregistrărilor fiu.
Pentru a realiza reprezentarea acestui model se folosesc diagramele de structură care sunt formate din
două elemente principale: dreptunghiuri - pentru tipurile de înregistrări – şi linii – pentru legături. Aceste
diagrame se aseamănă cu o structură arborescentă, locul liniilor fiind luat de tipurile de înregistrare.
Pentru a pune în evidenţă legăturile care pot exista între tipurile de înregistrări, se folosesc
următoarele reprezentări grafice:
• relaţia 1:1 – se consideră tipurile de înregistrări CONTRIBUABIL şi ROL. Între aceste două tipuri
de înregistrări există următoarea legătură: orice contribuabil aflat în evidenţa administraţiei financiare are
deschis un singur rol, iar fiecare rol deschis la administraţie nu aparţine decât unui singur contribuabil.
Reprezentarea grafică a acestei legături este următoarea:

CONTRIBUABIL ROL

• relaţia 1:n – se consideră tipul de înregistrări COMANDĂ şi CLIENT. Între aceste tipuri de
înregistrări există următoarea legătură: un client emite mai multe comenzi, în timp ce o comandă este
emisă de un singur client. Reprezentarea grafică a acestei legături este următoarea:

CLIENT COMANDĂ

• relaţia m:n - se consideră tipul de înregistrări COMANDĂ şi PRODUSE. Între aceste tipuri de
înregistrări există următoarea legătură: o comandă poate conţine mai multe produse, iar un produs poate fi
inclus în mai multe comenzi. Reprezentarea grafică a acestei legături este următoarea:

COMANDĂ PRODUSE

O bază de date ierarhică este constituită dintr-un grup de înregistrări interconectate prin intermediul
unor legături. O înregistrare reprezintă o colecţie de câmpuri, fiecare câmp conţinând o singură valoare,
iar prin legătură se înţelege o asociere între cele două câmpuri. Fiecare tip de înregistrare din diagrama de
structură are asociat în baza de date un anumit număr de realizări, ceea ce înseamnă că pentru fiecare tip
de înregistrare părinte pot exista nici una, una sau mai multe înregistrări ale tipului de înregistrare fiu. De
exemplu, un anumit client nu a emis nici o comandă.
Exemplu: Se consideră o bază de date cu informaţii despre studenţii şi specializările unei facultăţi. O
specializare are mai mulţi studenţi, în schimb, un student nu poate urma, la un moment dat, decât o
singură specializare. Reprezentarea modelul ierarhic al exemplului este prezentată mai jos:

SPECIALIZARE Cod_spec Denumire

STUDENTI Nr_matrico Nume_student Localitate


l

SPECIALIZARE

CIGContabilitate FA Finanţe MGManagement MK Marketing

120 Popa Dan Vaslui 322 Radu Ioana Arad 187 Vlad Andrei Iaşi 562 Sima Ileana Titu

În acest exemplu, tipului de înregistrare părinte SPECIALIZARE îi corespund patru înregistrări:


(CIG, Contabilitate), (FA, Finanţe), (MG, Management) şi (MK, Marketing). Prima înregistrare, (CIG,
Contabilitate) este părinte pentru (120, Popa Dan, Vaslui), care este o realizare a tipului de entitate
STUDENŢI, a doua înregistrare nu are înregistrări fiu, a treia înregistrare are doi fii (322, Radu Ioana,
Arad) şi (187, Vlad Andrei, Iaşi), în timp ce ultima înregistrare are un singur fiu (562, Sima Ileana, Titu).

2.2. Modelul reţea

Este un model care are la bază o structură de tip reţea. Acest model este oarecum similar cu modelul
ierarhic, în sensul că un nod părinte poate avea mai mulţi fii, deosebirea constând în faptul că un nod fiu
poate avea mai mulţi părinţi. Ca şi modelul ierarhic şi modelul reţea foloseşte diagramele de structură,
care se aseamănă cu un graf, nodurile fiind înlocuite de tipurile de înregistrare. Reprezentarea grafică a
legăturilor care pot exista între tipurile de înregistrări (legături 1:1, 1:n, n:m) este similară modelului
ierarhic.
Exemplu: Se consideră o bază de date cu informaţii despre studenţi, specializarea urmată de aceştia şi
bursele pe care aceştia le primesc. O specializare are mai mulţi studenţi, în schimb, un student nu poate
urma decât o singură specializare; bursa poate fi obţinută de mai mulţi studenţi, în schimb, un student
poate obţine o singură bursă.
Reprezentarea modelul reţea al exemplului este realizată în cele ce urmează:

SPECIALIZARE Cod_spec Denumire BURSE Tip Cuantum

STUDENTI Nr_matrico Nume_student Localitate


l
CIG Contabilitate 120 Popa Vaslui Studiu 600
Dan

FA Finanţe 322 Radu Arad Socială 500


Ioana

MG Management 187 Vlad Iaşi Merit 700


Andrei

Mk Marketing 562 Sima Titu


Ileana

În acest exemplu, tipului de înregistrare părinte SPECIALIZARE îi corespund patru înregistrări:


(CIG, Contabilitate), (FA, Finanţe), (MG, Management) şi (MK, Marketing), tipului de înregistrare
BURSE trei realizări (Studiu, 600), (Socială, 500) şi (Merit, 700), iar tipului de înregistrare STUDENŢI
patru realizări (120, Popa Dan, Vaslui), (322, Radu Ioana, Arad), (187, Vlad Andrei, Iaşi) şi (562, Sima
Ileana, Titu). Înregistrările (CIG, Contabilitate) – SPECIALIZARE şi (Studiu, 600) – BURSE sunt părinţi
pentru (120, Popa Dan, Studiu) – STUDENŢI. Înregistrarea (FA, Finanţe) nu are înregistrări fiu.
Înregistrarea (Socială, 500) – BURSE şi (MG, Management) – SPECIALIZARE sunt părinţi pentru (322,
Radu Ioana, Socială). Realizarea (187, Vlad Andrei, Iaşi) are drept părinte (MG, Management), iar
înregistrarea (562, Sima Ileana, Titu) este copilul realizărilor (MK, Marketing) şi (Merit, 700).

2.3. Modelul relaţional

Modelul relaţional a fost introdus de E. F. Codd şi reprezintă astăzi cel mai utilizat model pentru
gestionarea bazelor de date.
Modelul are la bază conceptul de relaţie definit în teoria matematică a mulţimilor ca fiind o
submulţime a produsului cartezian al mai multor mulţimi: R  M1 x M2 x … x Mn.
Familia de mulţimi pe care este definită relaţia se numeşte domeniu, atunci când M 1 = M2 = … = Mn
se spune că relaţia este omogenă. Numărul n se numeşte gradul relaţiei, un element al relaţiei t = (m 1, m2,
…, mn) se numeşte tuplu, iar numărul de tupluri indică cardinalitatea relaţiei.
Schema unei relaţii este formată din numele relaţiei, atributele acesteia şi restricţiile de integritate.
Domeniul reprezintă mulţimea tuturor valorilor posibile care definesc o anumită proprietate a unui
obiect. Atributul reprezintă mulţimea valorilor existente la un moment dat în coloana pe care acesta o
desemnează în cadrul unei relaţii. Într-o relaţiei pot exista mai multe atribute care să ia valori în acelaşi
domeniu.

Relaţia STUDENŢI se scrie în felul următor


Atribute

Nr_matricol Nume_student Localitate

120 Popa Dan Vaslui

187 Vlad Andrei Iaşi

322 Radu Ioana Arad


Tuplu
562 Sima Ileana Titu

Domeniu
Relaţiile se prezintă sub forma unor tabele, supuse următoarelor restricţii:
- fiecare coloană din tabel conţine acelaşi fel de valori;
- în tabel ordinea liniilor nu este stabilită şi în acelaşi timp nu se admit valori duplicat;
- orice valoare este un număr sau un şir de caractere (nu are cum să fie un ansamblu);
- orice coloană este identificată printr-un nume care reprezintă atributul relaţiei.
O bază de date, privită din punct de vedere al modelului relaţional, este văzută ca o colecţie de tabele
(relaţii), în care fiecare coloană reprezintă un atribut distinct, iar fiecare rând, un tuplu distinct.
Tuplurile unei relaţii se pot identifica în mod unic prin intermediul valorilor unuia sau mai multor
atribute, care joacă rolul de cheie primară a relaţiei respective.
Orice relaţie posedă cel puţin o cheie. Când această cheie este alcătuită dintr-un singur atribut, poartă
numele de cheie simplă, iar atunci când este formată din mai multe atribute ea se numeşte cheie compusă.
Cheia primară a unei tabele este un atribut sau un grup de atribute care permite identificarea fără
ambiguitate a fiecărui tuplu din tabelă. La alegerea unei astfel de chei, administratorul bazei de date
trebuie să aibă în vedere criterii prin care să asigure identificarea efectivă a tuplurilor (lungime, natură).
Cheia primară trebuie să verifice următoarele trei restricţii:
- unicitatea: o cheie identifică un singur tuplu al relaţiei;
- compoziţia minimală: atunci când cheia primară este compusă, nici un atribut cheie nu poate fi
eliminat fără distrugerea unicităţii tuplului în cadrul relaţiei;
- valorile non-nule: valorile atributului sau ale ansamblului de atribute care desemnează cheia
primară sunt întotdeauna specificate, deci nenule; nici un atribut din compoziţia cheii primare nu poate
avea valori nule.
Dacă într-o relaţie există mai multe combinaţii de atribute care conferă unicitatea tuplului, acestea
sunt denumite chei candidate. Atunci când o cheie candidată nu este cheie primară este considerată cheie
alternativă (secundară).
Legăturile între tuplurile din relaţii diferite se realizează prin atribute sau combinaţii de atribute
numite chei străine (externe).
Reflectând un aspect din realitate, relaţiile se spun unor restricţii, ce pot fi de două feluri:
• restricţii de integritate – depind de semantica valorilor domeniilor şi impun relaţiilor să se supună
regulilor:
- integritatea entităţii – valorile cheii primare trebuie să fie diferite de zero, pentru că altfel, cheia
respectivă nu va mai fi identificator;
- integritatea referirii – valorile unei chei externe trebuie să refere tuplurile unei alte relaţii.
• alte restricţii – se aplică asupra domeniilor şi reflectă anumite corelaţii de ordin valoric (egalitate,
inegalitate).
Avantajele modelului relaţional în comparaţie cu celelalte tipuri de modele sunt:
- independenţa sporită a programelor de aplicaţie faţă de modul de reprezentare internă a datelor şi de
metodele de acces la date;
- definirea unei structuri conceptuale optime, minimalizând redundanţa datelor şi erorile la
actualizare;
- utilizarea unor limbaje procedurale bazate pe algebra relaţională şi a unor limbaje neprocedurale
care contribuie la îmbunătăţirea comunicării dintre sistem şi neinformaticieni.
2.4. Modelul obiectual

Deşi în prezent cel mai utilizat model este modelul relaţional, el nu permite: descrierea unor structuri
de date complexe (documente electronice, date în format multimedia); partajarea şi reutilizarea
structurilor de date; declararea prelucrărilor aferente structurilor de date (datele sunt descrise separat de
prelucrări).
Răspunsul la astfel de cerinţe îl constituie modelul orientat obiect. Modelarea orientată obiect se
bazează pe următoarele concepte: obiect, abstractizare, încapsulare, moştenire, polimorfism.
Obiectul este definit ca o entitate cu o identitate proprie, caracterizat printr-o stare şi un
comportament. Orice entitate a lumii reale este un obiect, şi invers, orice obiect reprezintă o entitate a
realităţii. Obiectele pot comunica între ele prin intermediul mesajelor.
Identitatea unui obiect este proprietatea acestuia care îl distinge de alte obiecte, ea fiind o adresă
logică invariabilă. Dacă în modelul relaţional datele sunt identificate prin valorile cheilor primare definite
de utilizator, în modelul orientat obiect, identificarea obiectelor este făcută automat de sistem la crearea
acestora şi este transparentă utilizatorului. Două obiecte O 1 şi O2 sunt identice (O1==O2) dacă au acelaşi
identificator; în schimb două obiecte sun egale (O 1=O2) dacă au aceleaşi valori (O1==O2, implică O1=O2,
reciproca nefiind valabilă).
Starea unui obiect este definită de valorile atributelor sale (realizările). Un atribut se defineşte printr-
un nume şi poate lua valori elementare (numeric, alfanumeric) sau complexe (referinţe spre alte obiecte).

Exemplu: Clientul CL1: Cod = 678


Denumire = „S.C. OMEGA S.R.L.”
Localitate = „Târgovişte”
Comanda CDA1: Număr = 17865
Data = 10/03/2019
CotaTVA = 19%
Client = CL1.

Comportamentul unui obiect este definit ca un set de operaţii aplicate obiectului respectiv. Operaţiile
unui obiect reprezintă modalităţile de răspuns la mesajele primite din exterior de obiectul respectiv; ele
sunt de regulă proceduri sau funcţii ce acţionează asupra obiectului respectiv.
Abstractizarea este procesul prin care obiectele care au aceleaşi atribute şi comportament similar sunt
grupate în tipuri abstracte de obiecte numite şi clase. Obiectele devin astfel instanţieri (realizări) ale
claselor; în timp ce obiectele descriu entităţi ale realităţii, clasele sunt reprezentări abstracte ale acestor
entităţi.
Exemplu: Client, Comandă, Student.
Dacă este să facem o paralelă între modelul relaţional şi modelul obiect, putem constatat următoarele:
Modelul O.O. Modelul relaţional
Clasa Tabel (relaţie)
Obiect Tuplu (înregistrare)
Atribut Câmp
Metodă -

Încapsularea constă în capacitatea obiectelor de a conţine la un loc atât date cât şi operaţii, dar numai
o parte a acestora este vizibilă din exterior. Se poate spune că în felul aceste obiectele apar ca nişte „cutii
negre”, care ascund detaliile de implementare, ele oferind o interfaţă simplă de rezolvare a unei probleme.
Moştenirea este procesul prin care toate atributele şi metodele vizibile ale unei clase (numită şi clasă
se bază) sunt preluate în mod automat de o altă clasă înrudită cu această (numită şi subclasă sau clasă
derivată). Clasele derivate pe lângă acestea pot conţine şi atribute sau metode specifice. Moştenirea se
constituie ca o cale de încurajare a partajării şi reutilizării structurilor de date; prin intermediul ei se pot
exprima relaţii deosebit de importante între clase, cum ar fi: clasificarea, generalizarea sau specializarea.
Exemplu: Se consideră clasa PERSOANA definită prin atributele publice (vizibile din exterior):
CNP, NumePrenume, DataNaşterii, Sex
şi metoda publică
ReturneazăVârsta(An).
Din clasa PERSOANA pot fi derivate clasele ANGAJAT şi STUDENT, de acelaşi fel cu ea, fiecare
student sau angajat fiind descris prin CNP, nume şi prenume, data naşterii, sex şi vârstă, calculată în
funcţie de anul naşterii. STUDENT poate conţine ca atribute specifice NumărMatricol, AnStudiu iar ca
metodă proprie MediaGenerală, în timp ce clasa ANGAJAT poate fi descrisă prin atributele proprii
Marca, DataAngajării şi metoda ReturneazăVechime().

PERSOANĂ

ANGAJAT STUDENT

Polimorfismul reprezintă posibilitate unui obiect, instanţă a unei clase, de a răspunde în mod diferit la
primirea aceluiaşi mesaj. Poate fi asigurat în două variante:
- redefinirea metodelor moştenite în clasele derivate;
- crearea unor metode cu acelaşi nume sau cu parametri diferiţi (supraîncărcarea unei metode).
Polimorfismul măreşte flexibilitatea modelului orientat obiect de a reprezenta cât mai sintetic
realitatea.

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