Sunteți pe pagina 1din 9

Curs: Object-relational mapping - Hibernate

Modul: Object - Relational Mapping


Unitate: Modelul relaional

Modelul relaional este unul dintre cele mai rspndite modele de date
folosit pentru modelarea problemelor reale. Ideea acestui model a
aprut la nceputul anilor 70, n laboratoarele IBM din San Jose,
California.
Dou caracteristici ale acestui model l mai fac i n zilele de azi
popular i accesibil.
Structura modelului este foarte simpl, pentru c relaiile pot fi cu
uurin reprezentate ca tabele al bazei de date.

Este posibil interpretarea formal-matematic a tabelului.

Identitatea
n modelul relaional, entitile sunt definite prin relaii. Aceast form
de prezentare este extrem de convenabil pentru implementare,
deoarece fiecare relaie se poate prezenta prin tabele. Cazul contrar
nu este valabil. Tabelul trebuie s ndeplineasc anumite criterii pentru
a deveni o relaie.
Atributele relaiei se pot prezenta sub form de coloane ale tabelului.
Fiecare n-tuplu dintr-o relaie (rnd n tabel) este diferit, deoarece
exist unul sau mai multe atribute care o identific n mod unic. Un
astfel de atribut sau grup de atribute este numit cheia relaiei. Cheia
relaiei poate fi simpl, dac este vorba de un singur atribut, sau
complex, dac este vorba de un grup de atribute. n modelul
relaional, de regul, cheia primar se subliniaz, aa cum este
prezentat n urmtoarea imagine.

Copyright Link group

1/9

Curs: Object-relational mapping - Hibernate


Modul: Object - Relational Mapping
Unitate: Modelul relaional

Figura 1: Transformarea relaiilor n tabele bazei de date

Figura 2: Relaia modelului relaional cu tabelele bazei de date

Este important de remarcat faptul c modelul relaional este orientat


spre valoare i nu pot exista dou n-tupluri n relaie cu aceleai valori
ale coloanelor. Acest lucru se ntmpl tocmai pentru c situaia n
care exist dou chei primare egale nu poate avea loc. Prin urmare, se
poate spune c identitatea din rndul bazei este egal cu cheia
sa primar.

Clasificarea
Atunci cnd vorbim despre paradigma orientat pe obiect, baza ei sunt

Copyright Link group

2/9

Curs: Object-relational mapping - Hibernate


Modul: Object - Relational Mapping
Unitate: Modelul relaional

entitile. De fapt, entitile sunt cele care, n urma traducerii


modelului obiectual n model relaional, devin relaii. Cum entitile nu
sunt altceva dect o clas de obiecte similare, observm c n modelul
relaional clasele devin relaii. Astfel, entitatea, respectiv clasa Book
cu atributele ei ISBN, Name i Pages, n modelul relaional devine
relaia Book, iar atributele sale devin atributele relaiei Book. Aa arat
relaiile Book i Author n modelul relaional:
Book (ISBN , Name, Pages)
Author (PersonID, Name, Last name)

Generalizarea
Generalizarea este o abstracie n care un set de tipuri de obiecte
similare reprezint un tip generic, respectiv un supertip. Similare sunt
tipurile de obiecte care au n comun anumite trsturi i
comportamente.
n modelul relaional, conceptul de generalizare se realizeaz n felul
urmtor:
normalizare complet

denormalizare complet

soluie hibrid

Normalizarea complet
Cazul normalizrii complete reprezint situaia n care fiecare subclas
concret se reprezint printr-o relaie.

Copyright Link group

3/9

Curs: Object-relational mapping - Hibernate


Modul: Object - Relational Mapping
Unitate: Modelul relaional

Book (PublicationID, Name, Pages, Content, ISBN)


Magazine (PublicationID, Name, Pages, Content,
Factor)

Impact

Denormalizarea complet
Cazul de denormalizare complet reprezint situaia n care o
superclas i subclasele ei reprezint doar o singur relaie.
Publication (PublicationID,
Impact factor)

Name,

Pages,

Content,

ISBN,

Acesta este un mod de a depi dezavantajele modelului relaional,


care ar trebui implementat n situaiile n care subclasele difer numai
printr-un numr mic de atribute, deoarece n cazul unui numr mai
mare de atribute, multe cmpuri din tabel vor avea valoarea NULL,
ceea ce ngreuneaz mentenana bazei de date. O practic bun este
aceea de a aduga coloane noi prin care s se identifice subtipurile.
Publication (PublicationID, Name,
Impact factor, PublicationType)

Pages,

Content,

ISBN,

Cazul Hibrid
Cazul Hibrid reprezint situaia n care pentru fiecare superclas i
subclas se face o relaie separat.
Publication (PublicationID, Name, Pages, Content)
Book (PublicationID, ISBN)
Magazine (PublicationID, Impact factor)
Acest lucru nu este un caz real de generalizare, pentru c dac ne
uitm doar la relaia Book sau doar la relaia Magazine, nu exist
nicio modalitate de a ti dac aceasta este un tip special, supertip sau

Copyright Link group

4/9

Curs: Object-relational mapping - Hibernate


Modul: Object - Relational Mapping
Unitate: Modelul relaional

subtip. Aceast problem poate fi depit prin adugarea unor noi


atribute pentru subtipuri, care s indice relaiile cu supertipul la care
se refer.
Publication (PublicationID, Name, Pages, Content)
Book (BookID, ISBN, PublicationID)
Magazine (MagazineID, Impactor factor, PublicationID)
De asemenea, dac avem n vedere doar relaia Publication i valorile
sale, nu se poate determina dac este vorba de Book sau de
Magazine. Acest caz se poate rezolva dac relaia Publication se
extinde cu o coloan suplimentar ce reprezint tipul de publicaie.
Publication
(PublicationID,
PublicationType)

Name,

Pages,

Content,

Agregarea
Agregarea este cazul n care legtura dintre dou sau mai multe
entiti se realizeaz ca o relaie. n urmtorul exemplu este
prezentat situaia mprumutului de cri de ctre un membru al
bibliotecii, prin care Borrowing devine o nou relaie cu atribute
proprii: Borrowing date i Return date.
Book (ISBN, Name, Pages)
Member (PersonID, Name, Last name)
Borrowing (ISBN, PersonID, Borrowing Date, Return Date)
Relaia Borrowing, prin urmare, devine o entitate nou. Ea este
rezultatul relaiei, respectiv a agregrii dintre dou sau mai multe
entiti, de aceea este numit AGREGARE. Aa cum fiecare relaie are
o cheie primar, i agregarea trebuie s aib una atunci cnd este
tradus n relaie. Agregarea primete o cheie primar complex, care
const din atributele unice ale entitilor implicate n agregare. n
acest caz, relaia Borrowing va avea cheia complex care este format
din atributul ISBN i PersonID.

Copyright Link group

5/9

Curs: Object-relational mapping - Hibernate


Modul: Object - Relational Mapping
Unitate: Modelul relaional

n acest exemplu, pe ambele pri ale agregrii avem situaia n care


limita superioar este cardinalitatea m. Totui, dac unele dintre
entitile implicate n agregare au limita superioar de cardinalitate 1,
atunci identificatorul unic al acelei entiti, adic cheia primar a
relaiei sale, devine cheia primar a agregrii, respectiv cheia primar
a relaiei, care este obinut prin traducerea agregrii n modelul
relaional. Celelate chei primare ale relaiilor implicate n agregare
devin cheile strine ale agregrii relaiilor.

Copyright Link group

6/9

Curs: Object-relational mapping - Hibernate


Modul: Object - Relational Mapping
Unitate: Modelul relaional

ORMH_09 - Maparea obiectual-relaional


Hibernate
1. Cazul existenei a dou n-tupluri ale relaiei cu exact
aceleai valori ale atributului este:
a) posibil
b) imposibil
c) posibil, n cazul n care cheia primar este simpl
2. Atributul n relaie este echivalent cu:
a) o coloan din tabel
b) un rnd din tabel
c) un cmp din tabel
3. Cheia primar a relaiei este simpl dac:
a) se compune dintr-un singur atribut
b) domeniul este un simplu tip de date
c) atunci cnd aceasta nu este un identificator unic pentru
relaie
4. Ce este cardinalitatea relaiei n tabel:
a) un numr de rnduri
b) un numrul de celule
c) numrul de coloane
5. Ce reprezint instana relaiei?
a) o coloan
b) un rnd
c) o celul
d) un tabel
6. O soluie hibrid reprezint o modalitate pentru realizarea:
a) agregrii
b) generalizrii

Copyright Link group

7/9

Curs: Object-relational mapping - Hibernate


Modul: Object - Relational Mapping
Unitate: Modelul relaional

c) clasificrii

Copyright Link group

8/9

Curs: Object-relational mapping - Hibernate


Modul: Object - Relational Mapping
Unitate: Modelul relaional

1. Cazul existenei a dou n-tupluri ale relaiei cu exact


aceleai valori ale atributului este:
b
2. Atributul n relaie este echivalent cu:
a
3. Cheia primar a relaiei este simpl dac:
a
4. Ce este cardinalitatea relaiei n tabel:
a
5. Ce reprezint instana relaiei?
b
6. O soluie hibrid reprezint o modalitate pentru realizarea:
b

Copyright Link group

9/9

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