Sunteți pe pagina 1din 17

BAZE DE DATE

Prin baz de date nelegem o colecie de date elementare i


interdependente, structurate i organizate astfel nct s fie accesibile unei
comuniti de utilizatori.
Bazele de date sunt concepute pentru a prelucra volume mare de informaii.
Se poate observa faptul c organizarea datelor n unul sau mai multe fi iere
stocate n memoria extern este n concordan cu aceast defini ie.
in pacate, utilizarea direct a fi ierelor ridic probleme foarte mari!
". acces dificil la date # n practic, pentru fiecare acces trebuie scris un
program, n plus orice modificare a structurii fi ierului presupune
modificarea tuturor programelor care l folosesc.
$. lipsa de securitate # ntruct orice programator poate accesa direct
fi ierele, este imposibil s se garanteze securitatea i integritatea
datelor.
%. ntr#un mediu n care mai mul i utilizatori acceseaz acelea i fi iere
apar probleme de concuren greu de rezolvat.
Prin urmare, devine necesar utilizarea unui soft&are specializat,
responsabil cu gestionarea fi ierelor bazei de date, u urarea rezolvrii aspectelor
de securitate i de furnizare de diferite tipuri de interfe e necesare pentru a accesa
datele.
'cest soft&are complex poart denumirea de Sistem de (estiune a Bazelor
de ate )S(B* i reprezint sistemul de programe care permite construirea
bazelor de date, introducerea informaiilor n bazele de date i dezvoltarea de
aplicaii privind bazele de date. +onceptul de Sistem de (estiune a Bazelor de
ate )S(B* se regsete cu aceeai denumire i semnificaie n terminologia
francez )S(B # S,steme de (estion de Bases de onnees* i englez )-BS #
ataBase -anagement S,stem*.
+onceptul de baz de date a aprut n "./0 n cadrul primului raport
+1'S23
"
prezentat la lucrrile unei conferine pe probleme de limba4e de
gestiune a datelor Development and Management of Computer centered date-
base. 3a aceast conferin a fost lansat ideea organizrii datelor prin
intermediul unui fiier de descriere global, numit dicionar de date care are
menirea de a asigura independena programelor fa de date i a datelor fa de
programe
$
.
Baza de date conine nu numai datele operaionale ale organizaiei, ci i o
descriere a acestora. e aceea ea este definit i ca o colecie autodescris de
nregistrri integrate. 'ceast descriere a datelor este cunoscut sub denumirea de
catalog de sistem sau dicionar de date sau meta-date )date despre date*. 5atura
1
+1nference on 'ta S2stems 3anguages 6 +onferina despre 3imba4ele Sistemelor de
ate
2
3ungu, 7., .a., Baze de date, 1rganizare, proiectare i implementare, 8ditura 'll,
Bucureti, "..9, p."%
"
autodescriptiv a bazelor de date este cea care determin independena program#
date.
'ccesul utilizatorilor la informaiile despre structura unei baze de date se
realizeaz prin intermediul dicionarului de date.
Sistemul de gestiune a bazelor de date constituie o interfa ntre utilizatori
i baza de date i asigur urmtoarele funciuni!
". escrierea structurii bazei de date! a fiecrui tabel, a relaiilor
dintre tabele, a restriciilor n reprezentarea informaiilor etc. cu
a4utorul unui limba4 de descriere a datelor 3.
3 este utilizat att pentru proiectarea bazelor de date ct i
pentru redefinirea lor.
$. 1peraii asupra datelor aflate n baza de date!
: 7ntroducerea ini ial a datelor
: 'dugarea de noi date
: -odificarea unor date existente pentru a le pune n
acord cu realitatea
: ;tergerea unor date devenite inutile
+u a4utorul unui limba4 de manipulare a datelor 3-
%. 7nterogarea bazei de date, adic extragerea unor informaii stocate
n aceasta, realizarea de statisci asupra datelor etc. cu a4utorul unui
limba4 de cereri 3+
0. 'dministrarea i protec ia bazei de date.
Diferite modele de baze de date
8xist mai multe modele de baze de date, diferen iate n func ie de
reprezentarea datelor pe care le con ine!
Modelul ieraric! atele sunt clasificate ierar<ic ntr#o structur de tip
arbore. 'cest model folose te pointeri ntre nregistrri. 'cesta a fost primul
model S(B
Modelul de re ea ! ca si modelul ierar<ic acest model foloseste pointeri la
nregistrri. Structura sa nu este neaprat arborescent.
$
Modelul rela ional ! datele sunt stocate n tabele bidimensionale )formate din
rnduri i coloane*. -anipularea acestor date are loc n conformitate cu teoria
matematic a rela iilor.
Modelul deductiv! datele sunt reprezentate n form de tabel, dar
manipularea lor se face prin calculul predicatelor.
Modelul orientat pe obiecte! datele sunt stocate ca obiecte, adic structuri
numite clase de date cu membri.
Bazele de date rela ionale reprezint cel mai frecvent tip de baze de date
utilizat.
Niveluri i modele de reprezentare a datelor n bazele de date

=n demersul realizrii unei baze de date exist trei niveluri de percepie a
acesteia!
# extern, corespunztor utilizatorilor, care i exprim cerinele
informaionale prin aa # numitele sc<eme externe )subsc<eme*>
# conceptual, aferent proiectanilor bazei de date, care se
concretizeaz n sc<ema conceptual>
# intern, corespunztor programatorului, care realizeaz
reprezentarea datelor pe suportul fizic.
%
?zut prin prisma celor trei niveluri, baza de date poate fi reprezentat ca
n figura urmtoare.
%


@tilizator '" @tilizator B" @tilizator B$
'plicaie
@tilizator '$
+omenzi
autonome
'plicaie
+omenzi
autonome
7magine '
)nivel extern*
7magine B
)nivel extern*
A.
...
A.
Scema
e!tern "
Scema
e!tern #
75B8CD'E' ' 75B8CD'E' B
7magine global
)nivel global*
Scema conceptual
$global%
Sistem de
gestiune a
bazei de date
75B8CD'E'
BAZA DE DATE MEMORAT PE DISC

Scema intern
&ivele de abstractizare a datelor 'n bazele de date

eterminarea structurii unei baze de date se poate aborda ascendent,
realizndu#se descrierea sc<emelor externe, urmat de elaborarea sc<emei
conceptuale, sau descendent definind mai nti, sc<ema conceptual i deducnd
ulterior sc<emele externe posibil de obinut.
+el mai adesea, sc<ema conceptual se obine pe baza sc<emelor externe,
prin eliminarea redundanelor i FrafinareaG acestora. Brecerea de la sc<ema
conceptual la cea intern se face prin intermediul limba4elor de descriere a
datelor, care sunt incluse n S(B#uri. @n model de date presupune un limba4 de
descriere a realitii, n timp ce o sc<em este o descriere a unei realiti dup un
model dat.
Nivelul extern (schema extern)
3a nivelul extern, fiecare grup de lucru care manipuleaz datele posed o
anumit descriere a acestora numit sc<em extern. 'ceast descriere corespunde
felului n care grupul vede baza de date n programele lui de aplicaii. Prin urmare
nivelul extern reflect mulimea datelor care prezint interes pentru un utilizator
sau pentru un grup de utilizatori.
3
Dotac<e, -., Baze de date relaionale. 1rganizare, interogare i normalizare, 8ditua
Hunimea, 7ai, "..I, p.%$
0
8xist aadar, mai multe sc<eme externe, fiecare sc<em extern
presupune utilizarea unei pri din baza de date, folosind informaiile ntr#un mod
bine determinat. 'ceast parte de informaie se numete vedere. Diecrei vederi i
corespunde un grup de utilizatori. Pentru un grup particular se definesc tipurile de
cereri de informaii i modul de determinare a datelor din B care formeaz
rspunsuri la aceste cereri. @n pas important n proiectarea unei B este
determinarea vederilor i a claselor de utilizatori asociate lor. ?ederile permit ca
aceleai date s fie privite din perspective diferite de diferii utilizatori.
Nivelul conceptual (modelul conceptual)
5ivelul conceptual este un nivelul central care structureaz datele astfel
nct acestea s poat fi preluate i prelucrate cu a4utorul unui S(B.
5ivelul conceptual reprezint viziunea proiectanilor B asupra datelor.
-odelul)sc<ema* conceptual al datelor este esen ial pentru buna dezvoltare
a bazei de date. =n msura n care baza de date este fundamentul ntregului sistem,
o proiectare gre it a sc<emei conceptuale va induce n baza de date anomalii
dificil de remediat ulterior.
=n practica proiectarii bazelor de date )n principal a bazelor de date
rela ionale*, la nivel conceptual, unul dintre modelele frecvent utilizat este modelul
8ntitate#'sociere )8J'*. -odelul 8ntitate#'sociere )8J'* denumit i model
8ntitate#Celatie)8JC* a fost propus de Peter Pin#S<an +<en n ".I/.
-odelul 8J' este caracterzat prin a fi simplu dar suficient de puternic
pentru a reprezenta structuri rela ionale. -ai presus de toate, acest model se
bazeaz pe o reprezentare grafic care faciliteaz foarte mult n elegerea.
-odelul 8' mparte elementele unui sistem real n dou categorii i anume
n entiti)agregri de date elementare* i n asocieri ntre entiti.
1 entitate )sau tip entitate* este o grupare de obiecte cu caracteristici sau
propriet i similare. 8ntit ile sunt reprezentate grafic prin dreptung<iuri.
1 entitate este identificat printr#un nume)un substantiv* i descrie
propriet ile obiectelor pe care le reprezint, numite atribute ale entit ii.
8xemple de entit i! student, profesor, curs, anga4at, produs, utila4, factura.
@n atribut se definete ca fiind o proprietate a unei entiti sau a unei
asocieri. Diecare atribut care a fost selectat la definirea unei entiti este o
caracteristic semnificativ pentru domeniul studiat.
8xemplu!
'5('H'B
-arca
5ume
Prenume
ata naterii
+5P
9
7dentificatorul entitii
'tribute
enumirea entitii
@n atribut poate fi simplu, cnd poate lua o singur valoare, sau repetitiv
cnd poate lua mai multe valori)ex. 3imbi straine cunoscute, numar telefon*.
8xist atribute care necesit valori KnuleG fapt care trebuie s fie luat n
considerare la proiectarea bazei de date.
8ntitatea este perceput ca un tip de obiecte. Diecare obiect individual
constituie o realizare)sau instan* a entitii.
=n cadrul unei entiti nu pot exista dou realizri)instane* identice. Diecare
entitate trebuie sa conin un atribut sau un grup de atribute care identific n mod
unic instanele entitii. 'cesta este denumit identificatorul)c<eia* entitii i
servete drept ceie primar n viitoarea baz de date.
8xist dou tipuri de identificatori naturali i artificiali.
@n identificator natural este alctuit dintr#un atribut sau un grup de atribute
cu semnificaie real pentru entitatea n cauz. e exemplu, combinaia 5ume,
Prenume, ata naterii este un identificator natural pentru entitatea 'nga4at.
@n identificator artificial este alctuit dintr#un atribut sau un grup de atribute
fr semnificaie real pentru entitatea n cauz, fiind folosit doar pentru a face
distincie ntre instanele entitii. 8xemple +5P, -arca, 5umr inventar.
=n reprezentarile grafice identificatorii entitilor se noteaza subliniat.
(egula minimalit ii identificatorilor! n cazul identificatorilor compui,
trebuie s nu existe un subgrup al su care s poat ndeplini rolul de identificator,
adic numrul de elemente componente ale identificatorului s fie minim. 'ceasta
se poate asigura prin verificarea dependenelor funcionale dintre componentele
identificatorului respectiv.
"socierile modeleaz interdependenele dintre clasele de obiecte
reprezentate de entiti. Sunt luate n considerare doar interdependenele necesare
aplicaiei de proiectat, n lumea real putnd exista ntre entitile analizate i alte
asocieri care nu sunt semnificative pentru aplicaie. 1 asociere poate avea atribute
proprii.
'socierile sunt reprezentate uzual prin verbe i grafic prin linii ntre entit i.
'socierile pot fi binare )ntre $ entiti* sau n#are )ntre n entiti, nL$*.
1 caracteristica foate importanta a asocierilor este cardinalitatea. 'cesta
exprima modul de participare al instanelor fiecarei entitati la asociere, mai concret
cardinalitatea ne arat la cte asocieri poate participa o instan a unei entit i .
Diind date dou entiti, 8" i 8$, se definesc urmtoarele asocierile binare!
"socierea unu-la-unu )one-to-one* este asocierea n care unei
instane a entitii 8" i coreaspunde cel mult o instan a entitii 8$,
i reciproc> se noteaz cu 1:1.
"socierea unu-la-multi )one-to-man)* este asocierea n care unei
instane a entitii 8" i coreaspund zero, una sau mai multe instane
ale entitii 8$, dar unei entiti din 8$ i corespunde cel mult o
instan a entitii 8"> se noteaz cu 1:N.
"socierea multi-la-multi )man)-to-man)* este asocierea n care unei
instane a entitii 8" i coreaspund zero, una sau mai multe instane
/
ale entitii 8$, i, de asemenea, instane a entitii 8$ i coreaspund
zero, una sau mai multe instane ale entitii 8"> se noteaz cu N:N.
'ceste valori reprezint cardinalitatea maxim a asocierii. 1 asociere este
caracterizat i de o cardinalitate minim care indic obligativitatea participrii
instanelor la asociere.
Cardinalitatea minim zero! pot exista instane ale entitii care nu
particip la nici o realizare a asocierii.
Cardinalitatea minim unu! toate instanele entitii trebuie s participe la
asociere.
(olul unei entiti este un nume care desemneaz modul de participare al
entitii la o asociere. 7dentificarea asocierilor se realizeaz prin rolurile entitilor
participante deci, concret, cu a4utorul identificatorilor entitilor participante.
8xemple!
SB@85B
+od student
5ume
Prenume
ata na terii
+@CS
+od curs
enumire curs
5r.puncte credit
P'CB7+7P'
", n M, n
I
8P'CB'-85B
+od departament
enumire departament
'dresa departament
'5('H'B
+5P
5ume
Prenume
ata na terii
'dresa

", " M, n
lucreaza la loc munca


3@+C8'N'
ata ncadrarii
Cardinalitate ma!im
Cardinalitate minim
rol
rol "tribut al asocierii
8P'CB'-85B
+od departament
enumire departament
'dresa departament
'5('H'B
+5P
5ume
Prenume
ata na terii
'dresa

M, " M, "


+15@+8
ata numirii
7n determinarea asocierilor trebuie s se in seama i de posibilitatea
existenei asocierilor complexe )ntre mai mult de dou entiti*. e exemplu, fie
entitile D@C57N1C, -'B8C7'3, 8P1N7B i asocierile binare
corespunztoare. 'ceste asocieri permit s se determine furnizorii materialelor,
materialele intrate n depozite respectiv furnizorii ce aprovizioneaz depozitele. 5u
se poate determina ce furnizor aprovizioneaz cu un anumit material un anume
depozit. 7ntroducerea asocierii FaprovizionareG ntre entit ile D@C57N1C,
-'B8C7'3 i 8P1N7B permite rezolvarea cererii Fce furnizor aprovizioneaz
cu un anumit material un anume depozitOG.
Cazui s!e"ia#e de entit$i %i as&"iei
Subentitate-Superentitate. =n modelul 8#' se pot defini subtipuri de entiti
denumite i subentiti, care reprezint specializri ale unor tipuri de entiti
denumite superentiti, i se pot defini, de asemenea, ierar<ii pe mai multe nivele
de tipuri i subtipuri de entiti.
Se pot folosi dou modaliti de definire a ierar<iilor de tipuri! specializarea
i generalizarea.
Specializarea este un proces de abstractizare a datelor prin care, pornind de
la o entitate dat, se definesc una sau mai multe subentiti, difereniate ntre ele n
funcie de rolul pe care l au n modelul de date.
e exemplu, de la tipul de entitate '5('H'B se definesc subentitile
75(758C, 8+151-7SB, -@5+7B1C. 'cestea FmotenescG toate atributele
tipului iniial dar au n plus atribute suplimentare, specifice rolului lor.
D@C57N1C
-'B8C7'3
8P1N7B
aprovizionare
M, n M, n
M, n
"sociere
comple!
P
'5('H'B
+5P
nume si prenume
adresa
75(758C
Specializare
8+151-7SB
+alificare
-@5+7B1C
-eserie
M," M,"
M,"
"," "," ","
7ntre subentitate i superentitate exist ntotdeauna o asociere de tip","!M,,
semnificnd faptul c o instan a unei subentiti este asociat cu o singur
instan a entitii de baz i reciproc.
1 subentitate se reprezint ntr#un dreptung<i inclus n dreptung<iul care
reprezint superentitatea corespunztoare.
Generalizarea este procesul de abstractizare invers specializrii, prin care se
creaz un supertip de entitate pornind de la mai multe tipuri de entiti. Pentru
aceasta se identific atributele comune ale mai multor tipuri de entiti i aceste
atribute vor caracteriza superentitatea, iar atributele care difer de acestea rmn
atribute specifice ale fiecrui tip.
e exemplu, dac au fost definite tipurile de entiti! '@B1-1B73 )-arca,
?iteza-axima, Pret, 5umarPasageri* i +'-715 )-arca, ?iteza-axima, Pret,
Bona4*, se poate defini un supertip al acestor tipuri! ?8Q7+@3 )-arca,
?iteza-axima, Pret*, care cuprinde toate atributele comune, iar tipurile
'@B1-1B73 i +'-715 devin subtipuri ale tipului ?8Q7+@3, fiecare
coninnd atributele specifice )5umrPasageri pentru tipul '@B1-1B73 i Bona4
pentru tipul +'-715*.
Cezultatul obinut prin generalizare este, ca i n cazul specializrii, o
ierar<ie de tipuri i subtipuri de entiti, iar asociearea dintre mulimile
corespunztoare este tot o asociere "!". +eea ce difer n generalizare fa de
specializare, este doar modul n care se definesc nivelele ierar<iei.
AN'A(AT
+5P
nume si prenume
adresa
ECONOMIST
+alificare
IN'INER
Specializare
M)NCITOR
-eserie
.
Specializarea poate fi total)instanele superentitii aparin unei subentiti*
sau pariala)pot exista instane ale superentitii care s nu aparin nici unei
subentiti*. (eneralizarea, fiind prin definiie gruparea de entit i de4a existente n
baza de date nu poate fi dect total.
7ntre subtipuri poate exista o excluziune, ceea ce se traduce prin faptul ca o
anumita instan nu poate apartine decat unei singure subentiti. 8xista insa si
cazuri n care aceea i instan apar ine mai mulor subtipuri. e exemplu un
anga4at al unei universita i poate fi i student la frecven redus. Pentru astfel de
situa ii trebuie precizate dup caz rela ii de excluziune, incluziune, etc.
7ntroducerea de subtipuri prin specializare sau prin generalizare prezint
dou avanta4e principale! favorizeaz proprietile comune la nivelul tipului
)superentitii* i face mult mai clar reprezentarea unor tipuri de asocieri la care
particip numai o parte dintre entiti.
Asocieri reflexive
Pot exista asocieri i intre o entitate i ea insi, acestea se numesc asocieri
refle!ive sau recursive.

Eta!e#e &b ineii m&de#u#ui Entitate*As&"iee
"* 7dentificarea entit ilor sistemului
$* 7dentificarea atributelor i a identificatorilor entit ilor
%* 7dentificarea asocierilor ntre entit i
0* 7dentificarea atributelor proprii asocierilor
9* Stabilirea cardinalit ilor
/* Brasarea diagramei
Nivelul intern
-uncitor
conduce
subordonat Sef ec<ipa
"M
5ivelul intern este nivelul elementar la care pot fi considerate datele i se
refer la modul n care sunt stocate datele pe suporturi magnetice. 3a acest nivel
structura datelor este foarte detaliat. 5ivelul intern cuprinde structurile de date i
organizrile fiierelor utilizate pentru stocarea datelor pe dispozitivele de stocare.
8l trateaz probleme cum ar fi! alocarea spaiului de stocare pentru date i
indexuri, descrierile nregistrrilor pentru stocare, cu dimensiunile de stocare
pentru articolele de date, plasarea nregistrrilor, te<nicile de comprimare i de
codificare a datelor. 5ivelul intern interacioneaz cu metodele de acces al
sistemului de operare )te<nici de administrare a fiierelor, pentru stocarea i
regsirea nregistrrilor de date* pentru a plasa datele pe suporturile de stocare, a
regsi datele, a realiza indexurile.
7ncluderea n baza de date a descrierii structurii acesteia o deosebete
calitativ de fiierele de date, deoarece prin aceasta se asigur independena datelor
din baz fa de programele de aplicaii i invers. Posibilitatea modificrii structurii
la un nivel, fr a afecta structura celorlalte niveluri este ntlnit sub numele de
independena datelor, prezent sub dou forme!
independena fizic de date, adic posibilitatea modificrii structurii
bazei de date la nivel intern )cum ar fi utilizarea unor organizri ale fiierelor sau
structuri de stocare diferite, a unor dispozitive diferite de stocare, modificarea de
indexuri sau de algoritmi <as<*, fr a fi necesar sc<imbarea structurii
conceptuale i rescrierea programelor de prelucrare a datelor. 'semenea
modificri sunt necesare pentru ameliorarea performanelor de lucru )vitez de
acces, mrimea fiierelor etc.*. 'utonomia fizic este cea care asigur i
portabilitatea bazei de date de pe un sistem de calcul pe altul fr modificarea
sc<emei conceptuale i a programelor>
independena logic de date se refer la faptul c modificarea
sc<emei conceptuale a bazei de date )cum ar fi adugarea sau eliminarea unor
entiti, atribute sau relaii* nu necesit i modificarea sc<emei externe sau
rescrierea programelor de aplicaii.
8ste important s se fac distincie ntre descrierea bazei de date i baza de
date nsi. escrierea bazei de date constituie sc<ema bazei de date. 8a este
specificat n timpul procesului de proiectare a bazei de date i este sc<imbat
rareori. Setul de date din baza de date se numete instana bazei de date. -ai multe
instane ale bazei de date pot corespunde aceleiai sc<eme a bazei de date.
""
M&de#u# e#a$i&na# a# date#&


Modelul rela ional al datelor a fost conceput i dezvoltat de
8dgar DranR +odd )".$%6$MM%, informatician american de origine englez* la
nceputul anilor ".IM i cuprinde trei componente principale! structura datelor,
integritatea datelor i prelucrarea datelor.
Stu"tua date#&
7n modelul rela ional al datelor sunt definite no iunile de atribut, domeniu,
rela ie , scema rela iei , scema rela ional .
@n atribut este un identificator)un nume* ce descrie o informatie memorat
n baza de date.
Domeniul unui atribut este o mul ime de valori posibile. 'ceste valori sunt
de tip similar.
1 rela ie este o submul ime a produsului cartezian a n domenii ale
atributelor)nLM*.
8lementele unei rela ii se numesc tupluri.
7ntr#o rela ie nu sunt permise tupluri identice.
Cela iile sunt reprezentate sub forma tabelelor bidimensionale n care
fiecare rnd reprezint un tuplu i fiecare coloan)atribut al rela iei* reprezint
valorile actuale ale tuplurilor dintr#un domeniu al produsului cartezian. Babelele
formeaz structura logic a modelului rela ional.
3a nivel fizic, sistemul utilizeaz diverse te<nici de stocare )fi iere
secven iale, indexate, tabele de dispersie, compresia datelor, pointeri etc*.
Babelele reprezint o abstractizare a datelor nregistrate fizic n memorie.
*radul )aritatea* unei rela ii este dat de numrul de atribute.

Pentru o rela ie)tabel*, pot exista trei tipuri de cei)identificatori*!
ceie candidat 6 un ansamblu minimal de atribute)coloane* eventual un
singur atribut care permite identificarea fr ec<ivoc a fiecrui
tuplu)rnd* al rela iei)tabelului*.
ceie primar. Pentru fiecare rela ie se alege o c<eie candidat care va fi
desemnat ca fiind c<eia primar a rela iei. +elelalte c<ei candidat, daca
exist, poart denumirea de cei alternante. 'tributele care compun c<eia
primar nu pot avea valoarea 5ull )valoare conven ional pentru situa ia
n care valoarea unui atribut este necunoscut sau neaplicabil*.
ceie strin 6 un ansamblu de atribute)eventual un singur atribut* al
unei rela ii C care n acela i timp este c<eie primar sau alternant n alt
rela ie S, nu neaprat distinct de C i care respect regula integrit ii
referen iale) (+(* adic valorile c<eii strine, dac nu sunt null, se
regsesc printre valorile c<eii primare )candidat*ale rela iei S.
"$
Scema rela iei precizeaz numele rela iei, lista de atribute cu domeniile lor
i c<eia primar a rela iei.
Scema rela ional este compus din mul imea sc<emelor rela iilor cu
men ionarea c<eilor strine.
e exemplu, pentru rela iile +1-'5' i +3785B urmatoare!

avem urmtoarea sc<em rela ional!
+1-'5')5r+omanda, S+od+lient*
+3785B)+od+lient, 5ume+lient, 'dresa+lient*
Integitatea date#&
8ste dat de corectitudinea informa iilor con inute n baza de date i
presupune detectarea, corectarea i prevenirea diferitelor erori. +ondi iile de
integritate nu permit introducerea n baza de date a unor date aberante.
8xist constrngeri)reguli* de integritate la nivel de domeniu care privesc
anumite valori pentru atribute, constrngeri la nivel de tuplu i constrngeri
multituplu# combina ii de mai multe tupluri, constrngeri legate de c<eile candidat
)unicitatea valorilor c<eii i pentru c<eia primara, excluderea valorilor nule*,
constrngeri legate de c<eia strin )necesitatea existen ei unei valori apar innd
c<eii primare din rela ia asociat care s coincid cu valoarea c<eii strine nenul
)C7C**.
Pe#u"aea date#&
're la baz algebra rela ional bazat pe o colec ie de operatori ce au ca
operanzi rela ii. Cezultatul aplicrii unui operator la una sau dou rela ii)n func ie
de aritatea acelui operator* este tot o rela ie.
Sunt cinci opera ii de baz care pot fi aplicate rela iilor! reuniunea,
diferen a, produsul cartezian, proiec ia i selec ia.
+1-'5'
5r+omanda +od+lient
"M" $0
"M$ $%
"M% $0
"M0 $9
+3785B
+od+lient 5ume+lient 'dresa+lient
$% -arius Pitesti
$0 Bogdan Pitesti
$9 Cadu Bucuresti
"%
c<eie strain
c<eie primar
A#g&itm de tans+&mae a m&de#u#ui Entitate*As&"iee ,n m&de# e#a i&na#-
" 1 entitate devine o rela ie)tabel*
$ @n atribut al unei entit i devine atribut al rela iei corespunztoare)coloan n
tabel*. 7dentificatorul entit ii devine c<eie primar a rela iei.

C8")7d8", 'tribut
"
, 'tribit
$
,A, 'tribut
n
*
%. 1 asociere, n func ie de tipul su, va fi reprezentat fie printr#o rela ie special
)tabel asociativ* fie printr#o c<eie strin ntr#una din cele dou rela ii care face
referire la c<eia primar a celeilalte rela ii.
%." 'socierile maximale "!" se rezolv prin intermediul c<eii strine.
+<eia strin va fi plasat n func ie de cardinalitatea minim.
#Pentru cardinalitatea minim "!M c<eia strin va fi plasat n rela ia
cu cardinalitatea minim ".
C8")7d8", S7d8$, A*
C8$)7d8$, A*
#Pentru cardinalitatea minim M!M c<eia strin va fi plasat n rela ia cu mai
pu ine tupluri.
#Pentru cardinalitatea minim "!" c<eia strin va fi plasat n oricare rela ie.
8"
7d8"
'tribut
"
'tribut
$
A
'tribut
n
8"
7d8"
8$
7d8$
"," M,"
"0
%.$ 'socierea maximal "!n se rezolv prin intermediul c<eii strine. +<eia
strin va fi plasat n rela ia de partea " a asocierii.
8")7d8", 'tribut
"
,

'tribut
$,
A, 'tribut
n
, S7d8$, 'tributT'
"
, 'tributT'
$
*
8$)7d8$, A..*
%.% 'socierea maximal n!n se transform ntr#o rela ie nou, un tabel asociativ
care con ine dou c<ei strine corespunztoare celor dou tabele asociate. +<eia
primar a tabelului asociativ este compus din cele dou c<ei strine plus eventual
alte coloane adi ionale.
8xemplificare!
Se dore te realizarea unei aplica ii cu baze de date pentru eviden a vnzrilor unei
firme. Produsele se vnd ctre clien i prin intermediul facturilor.
Se consider urmtoarea colec ie )simplificat* a datelor !
5rDactura, ataDactura, +od+lient, enumire+lient, 'dresa+lient, +odProdus,
enumireProdus, +antitate, Pret.
Ceguli de gestiune!
1 factur este emis pentru un client
@nui client i pot fi emise mai multe facturi
1 factur face referire la mai multe produse
@n produs este obiectul mai multor facturi
S se realizeze modelul conceptual i modelul rela ional al datelor.
Cezolvare!
8ntit ile sistemului sunt!
Dactura, +lient, Produs.
8"
7d8"
'tribut
"
'tribut
$
A
'tribut
n
8$
7d8$
A
"9
'sociere
'tributT'
"
'tributT'
$
","
M,n
8ntitatea Dactura este caracterizat prin atributele 5rDactura i ataDactura.
5rDactura reprezint identificatorul entit ii.
8ntitatea +lient este caracterizat prin atributele +od+lient, enumire+lient,
'dresa+lient. +od+lient reprezint identificatorul entit ii.
8ntitatea Produs este caracterizat prin atributele +odProdus, enumireProdus,
Pret. +odProdus reprezint identificatorul entit ii.
7ntre entit ile +lient i Dactur exist asocierea UUsolicit,, de cardinalitate n-./
7ntre entit ile Dactur i Produs exist asocierea UUcon ine LL de cardinalitate
n-n i cu atributul specific cantitate/
-odelul conceptual al sistemului analizat este urmtorul!

Prin aplicarea algoritmui de transformare a modelului 8ntitate#'sociere n model
rela ional ob inem urmtorul model rela ional !
+3785B7 )+od+lient, enumire, 'dresa*,
D'+B@C7 )5rDactura, ata, S+od+lient*,
PC1@S8 )+odProdus, enumire, Pret*,
8B'377D'+B@C7 )S5rDactura, S+odProdus, +antitate*
"/
+3785B
+od+lient
enumire
'dresa
D'+B@C'
5rDactura
ata Solicit
M, n ", "
PC1@S
+odProdus
enumire
Pret
+on ine
+antitate
M,n
",n
"I

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