Sunteți pe pagina 1din 10

Curs BD

BAZE DE DATE RELAIONALE (BDR)


4.1. Conceptul de BDR
4.2. ro!ect"re" BDR pr!n te#n!c" nor$"l!%&r!!
4.'. Al(e)r" rel"*!on"l& +! c"lculul rel"*!on"l
4.1. Conceptul de )"%e de d"te rel"*!on"le (BDR)
Bazele de date relaionale (BDR) utilizeaz modelul de date relaional i noiunile
aferente (vezi cap.2).
BDR au o solid fundamentare teoretic, n special prin cercetrile de la IB conduse de
!.".#odd.
BDR este un ansam$lu or%anizat de tabele (relaii) mpreun cu legturile dintre ele.
A,"nt"-ele BDR fa de fiiere (c&teva)'
CRITERI. BDR /I0IERE
Independena datelor lo%ic i fizic fizic
(iveluri de structurare conceptual, lo%ic i fizic lo%ic i fizic
Desc)idere i porta$ilitate mare mic
reprezentarea i utilizarea
datelor
simplificat prin model complicat
structura de date se
pstreaz
n dicionarul BD n pro%rame.
Concepte utilizate la or%anizarea datelor n memoria e*tern n BDR i respectiv fiiere'
fiiere fiier nre%istrare c&mp valori
+r%anizare date n
BDR ta$el tuplu atri$ut domeniu valori
(relaie) (linie) (coloan)
Cond!*!! $!n!$"le pentru ca un ,-BD s fie relaional'
s implementeze modelul de date relaionale prin .DD i .D/
s implementeze cel puin un lim$a0 relaional.
Not. #ondiiile complete ca un ,-BD s fie relaional sunt date de cele 12 re%uli ale lui
#+DD (vezi cap.3).
4.2. ro!ect"re" BDR pr!n te#n!c" nor$"l!%&r!!
") Aspecte (ener"le pr!,!nd pro!ect"re" BD
ro!ect"re" unei BD este un proces n care se utilizeaz diferite modele, te)nici i
instrumente pentru a transpune un domeniu din lumea real ncon0urtoare, n termenii
or%anizrii datelor aferente, pe calculator.
4ornind de la lumea real se !dent!1!c& +! spec!1!c& cerinele aplicaiei (domeniul de
interes) prin' documentare, interviu, terminolo%ie, comunicare etc.
Rezultatul acestei activiti este o$inerea elementelor necesare pentru or%anizarea
informaiei din domeniul respectiv. 5cest lucru se realizeaz 6RI##718 cu a0utorul unor
concepte +! !nstru$ente adecvate'
- Schemele BD:
,c)ema conceptual specific structura or%anizaional i coninutul
informaional al sistemului i reprezint un mod de comunicare ntre proiectanii
i utilizatorii BD/
,c)ema lo%ic definete informaia ntr9o manier care poate fi folosit pentru
crearea BD.
,c)ema e*tern or%anizeaz informaia ntr9o ordine care permite accesul
utilizatorilor la BD (construcia viziunilor).
Not.#ele dou sc)eme pot fi separate sau inte%rate ntr9una sin%ur deoarece
am$ele se materializeaz prin instruciuni (nivelul lo%ic) dintr9un lim$a0 din
,-BD, destinate unor utilizatori (e*tern).
,c)ema fizic specific reprezentarea informaiei n calculator n termeni fizici
(cum este stocat informaia n memoria e*tern, pe suportul te)nic de
informaie).
- +$iectele din lumea real se reprezint prin entiti care au caracteristici (atri$ute).
- +$iectele din lumea real au asocieri (le%turi) de diferite tipuri cu alte o$iecte,
fiecare av&nd un anumit rol n aceste le%turi.
)) No*!un! pr!,!nd nor$"l!%"re"
Aspectul d!n"$!c al structurii de date este avut n vedere i rezolvat de BDR. 5cest lucru
nseamn c modelul de date relaional permite sc)im$area n timp a structurii de date
fr sc)im$area pro%ramelor de aplicaie (independena lo%ic).
Te#n!c" de nor$"l!%"re este utilizat n activitatea de proiectare a structurii BDR i
const n eliminarea unor anomalii (nea0unsuri) de actualizare din structur.
Ano$"l!!le de "ctu"l!%"re sunt situaii nedorite care pot fi %enerate de anumite ta$ele n
procesul proiectrii lor'
anomalia de tergere semnific faptul c ster%&nd un tuplu dintr9o ta$el, pe l&n%
informaiile care tre$uie terse, se pierd i informaiile utile e*istente n tuplul
respectiv/
anomaliile de adugare semnific faptul c nu pot fi incluse noi informaii necesare
ntr9o ta$el, deoarece nu se cunosc i alte informaii utile (de e*emplu valorile pentru
c)eie)/
anomalia de modificare semnific faptul c este dificil de modificat o valoare a unui
atri$ut atunci c&nd ea apare n mai multe tupluri.
Not. 5nomaliile de actualizare sunt rezolvate de ctre teoria relaional, lucru care nu se
nt&mpl la alte tipuri de BD.
Nor$"l!%"re" este o teorie construit n 0urul conceptului de forme normale ("(), care
amelioreaz structura BD prin nlturarea treptat a unor nea0unsuri i prin imprimarea
unor faciliti sporite privind manipularea datelor.
Not. :eoria normalizrii a fost conceput iniial de ctre !.".#odd, ulterior aduc&ndu9i
contri$uia i ali cercettori.
(ormalizarea utilizeaz ca metod desco$punere" (top9do;n) unei ta$ele n dou sau
mai multe ta$ele, pstr&nd informaii (atri$ute) de le%tur.
c) /or$ele nor$"le
+ ta$el (relaie) este ntr9o 1or$& nor$"l& ("() dac satisface anumite restricii, care
arat c "((i<1) este preferat fa de "((i), i=1,>.
,unt cinci forme normale ("(1 la "(?) i una suplimentar (B#(") care revizuiete
"(2.
+ )"%& de d"te este 2n "(i , i=1,? dac toate ta$elele sale sunt n "(i.
BD !n!*!"l& va fi format dintr9o sin%ur colecie de date, care apoi se descompune n mai
multe ta$ele, parcur%&nd formele normale.
/N1
+ t")el& este 2n /N1 dac toate atri$utele ei conin valori elementare
(nedecompoza$ile), adic fiecare tuplu nu tre$uie s ai$ date la nivel de grup sau
repetitiv.
,tructurile de tip ar$orescent i reea se transform n ta$ele cu atri$ute elemntare.
+ ta$el n "(1 prezint nc o serie de anomalii de actualizare datorit eventualelor
dependene funcionale incomplete.
Fiecare structur repetitiv %enereaz (prin descompunere) o nou ta$el, iar atri$utele la
nivel de %rup se nltur, rm&n&nd doar cele elemntare.
/N2
+ t")el& este 2n /N2 dac i numai dac este n "(1 i fiecare atri$ut nonc)eie al ta$elei
este dependent funcional complet de c)eie.
@n atri$ut B al unei ta$ele depinde funcional de atri$utul 5 al aceleiai ta$ele, dac
fiecrei valori a lui 5 i corespunde o sin%ur valoare a lui B, care i este asociat n
ta$el.
@n atri$ut B este dependent funcional complet de un ansam$lu de atri$ute 5 n cadrul
aceleiai ta$ele, dac B este dependent funcional de ntre% ansam$lul 5 (nu numai de un
atri$ut din ansam$lu).
+ ta$el n "(2 prezint nc o serie de anomalii de actualizare, datorit eventualelor
dependene tranzitive.
liminarea dependenelor incomplete se face prin descompunerea ta$elei iniiale n dou
ta$ele, am$ele conin&nd atri$utul intermediar (B).
/N'
+ t")el& este 2n /N' dac i numai dac este n "(2 i fiecare atri$ut nonc)eie depinde
n mod netranzitiv de c)eia ta$elei.
Antr9o ta$el :, fie 5,B,# trei atri$ute cu 5 c)eie. Dac B depinde de 5 (5 B) i #
depinde de B (B #) atunci # depinde de 5 n mod tranzitiv.
liminarea dependenelor tranzitive se face prin descompunerea ta$elei iniiale n dou
ta$ele, am$ele conin&nd atri$utul intermediar (B).
+ ta$el n "(2 prezint nc o serie de anomalii de actualizare, datorate eventualelor
dependene multivaloare.
Not. + definiie mai ri%uruas pentru "(2 a fost dat prin forma intermediar B#("
(BoBce #odd (ormal "orm)' o ta$el este n B#(" dac fiecare determinant este un
candidat c)eie.Determinantul este un atri$ut elementar sau compus fa de care alte
atri$ute sunt complet dependente funcional.
/N4
+ t")el& este 2n /N4 dac i numai dac este n "(2 i nu conine dou sau mai multe
dependene multivaloare.
Antr9o ta$el :, fie 5,B,# trei atri$ute. An ta$ela : se menine dependena multivaloare 5 (
) dac i numai dac mulimea valorilor lui B ce corespunde unei perec)i de date (5,#),
depinde numai de o valoare a lui 5 i este independent de valorile lui #.
/N3
+ t")el& este 2n /N3 dac i numai dac este n "(> i fiecare dependen !onciune este
%enerat printr9un candidat c)eie al ta$elei.
An ta$ela : (5,B,#) se menine dependena !onciune (5B, 5#) dac i numai dac :
menine dependena multivaloare 5 B sau #.
Not. Dependena multivaloare este caz particular al dependenei 0onciune. Dependena
funcional este caz particular al dependenei multivaloare.
d) E4e$plu de pro!ect"re BDR pr!n te#n!c" de nor$"l!%"re
4entru realizarea unei BDR se parcur%e mai nt&i studiul i analiza de sistem (modelarea
conceptual) av&nd ca finalitate dia%rama entitate"asociere.
,e continu cu proiectarea BD. An acest scop, considerm c pentru proiectarea unei BDR
privind activitatea didactic am identificat urmtoarele caracteristici (atri$ute) referitoare
la un cadru didactic (#D)'
#D
5R#5
(@!
CDR,:5
A(#5DR5R!
funcie
salariu
catedra
R!-I5#:IC
5#:ICDID (disciplina, an, sala, nrstud)
#+4II (datan, se*, pren, alocaie, v&rsta)
I,:4R+ (dataprom, funcia, I,:,5. (datasal, salariu))
Not. #onsiderm colecia (ta$ela) iniial cu toate atri$utele de mai sus (aa cum este
tendina de a se proceda n cazul lucrului cu fiiere) ca fiind dicionarul atributelor.
/N1
") 5nl&tur&$ "tr!)utele repet!t!,e.
Din colecia de date (ta$ela iniial) identificm atri$utele care se repet. 5cestea vor
deveni noi tabele i identificm cheile pentru fiecare'
#D' marca
5#:ICDID' marca, disciplina, an (un #D desfoar mai multe activiti)
#+4II' marca, pren (un #D are mai muli copii)
I,:4R+' marca, dataprom (un #D trece prin mai multe funcii)
I,:,5.' marca, dataprom, datasal (pentru o funcie sunt mai multe niveluri de
salariu).
Identificm atributele pentru fiecare nou ta$el (su$liniate sunt atri$utele c)eie,
identificate mai sus)'
#D (marca, nume, varst, (funcie, salariu, catereda), re%imactiv)
5#:ICDID (marca, discipl, sala, an, nrstud)
#+4II (marca, datan, se*, pren, v&rsta, alocaie)
I,:4R+ (marca, dataprom, funcia)
I,:,5. (marca, dataprom, datasal, salariu)
$) 5nl&tur&$ "tr!)utele "(re("te (la nivel de %rup)
Identificm un atribut la nivel de grup (A(#5DR5R!) ntr9o sin%ur ta$el (#D).
,e nltur atri$utul la nivel de %rup i rm&n doar atri$utele elementare (cele care fac
parte din %rup)'
#D (marca, nume, v&rsta, funcie, salariu, catedra, re%imactiv).
Rezult BDR n "(1 (fr atri$ute la nivel de %rup i fr atri$ute repetitive) cu
urmtoarele ta$ele'
#D marca, nume, v&rsta, funcie, salariu, catedra, re%imactiv
5#:ICDID marca, discipl, sala, an, nrstud
#+4II marca, datan, se*, pren, v&rsta, alocaie
I,:4R+ marca, dataprom, funcia
I,:,5. marca, dataprom, datasal, salariu
/N2
") Identificm dependen*ele 1unc*!on"le incomplete i tranzitive n ta$ela #D'
An ta$ela #D'
marca nume
(c)eie) v&rsta
funcie
salariu
catedra
re%imactiv (tranzitiv)
An ta$ela 5#:ICDID' An ta$ela #+4II'
marca marca datan
discipl sala pren se* (tranzitiv)
an nrstud (c)eie) v&rst
(c)eie) (incomplet) alocaie
(incomplet)
An ta$ela I,:4R+' An ta$ela I,:,5.'
marca marca
dataprom funcie datapren salariu
(c)eie) datasal
(c)eie)
)) Anlturm dependen*ele !nco$plete
Dependenele incomplete e*ist n ta$elele 5#:ICDID i #+4II.
5#:ICDID1
marca, discipl, an, sala
5#:ICDID
5#:ICDID2
an, nrstud
#+4II1
marca, pren, datan, se*, v&rsta
#+4II
#+4II2
marca, alocaie
Rezult BDR n "(2 (fr dependene incomplete) cu ta$elele' #D, 5#:ICDID1,
5#:ICDID2, #+4II1, #+4II2, I,:4R+, I,:,5..
/N'
Anlturm dependen*ele tr"n%!t!,e care e*ist n ta$ele #D i #+4II1.
#D1
marca, nume, v&rsta, funcie, salariu, catedra
#D
#D2
catedra, re%imactiv
#+4II11
marca, pren, datan, se*
#+4II1
#+4II12
datan, v&rsta
Rezult BDR n "(2 (fr dependene tranzitive) cu ta$ele' #D1, #D2, 5#:ICDID1,
5#:ICDID2, #+4II11, #+4II12, #+4II2, I,:4R+, I,:,5.
Not. 5v&nd BDR n "(2 putem construi sc)ema conceptual pentru aceasta'
#D1
arca nume v&rsta funcie salariu catedra
#D2 catedra re%imactiv
5#:ICDID1 marca discipl an sala
5#:ICDID2 an nrstud
#+4II11 marca pren datan se*
#+4II12 datan v&rsta
#+4II2 marca alocaie
I,:4R+ marca dataprom funcie
I,:,5. marca dataprom datasal salariu
4.'. Al(e)r" rel"*!on"l& +! c"lculul rel"*!on"l
4entru manipularea datelor conform modelului relaional se folosesc operatorii din
al%e$ra i calculul relaional 6RI##718.
4entru implementarea acestor operatori e*ist comenzi specifice n .D din ,-BDR.
5ceste comenzi sunt utilizate n operaii de re%sire (intero%are).
Dup tehnica folosit la manipulare, .D sunt $azate pe'
calculul relaional (E@!. n In%res, 5.4F5 propus de #odd)/
al%e$ra relaional (I,B., RD,)/
transformarea (,E., ,E@5R!)/
%rafic (EB!, EB").
C"lculul rel"*!on"l
#alculul relaional se $azeaz pe calculul predicatelor de ordinul nt&i (domeniu al
lo%icii) i a fost propus de !.".#odd.
#redicatul este o relaie care se sta$ilete ntre anumite elemente i care poate fi
confirmat sau nu.
#redicatul de ordinul $ este o relaie care are drept ar%umente varia$ile care nu sunt
predicate.
%ariabila poate fi de tip tuplu (valorile sunt dintr9un tuplu al unei ta$ele) sau domeniu
(valorile sunt dintr9un domeniu al unei ta$ele).
&uantificatorii (operatorii) utilizai n calculul relaional sunt' universal () i e*istenial
().
&onstrucia de baz n calculul relaional este e*presia relaional de calcul tuplu sau
domeniu (funcie de tipul varia$ilei utilizate).
'presia relaional de calcul este format din'
operaia de efectuat/
varia$ile (tuplu respectiv domeniu)/
condiii (de comparaie, de e*isten)/
formule $ine definite (operanzi9constante, varia$ile, funcii, predicate/ operatori)/
cuantificatori.
Not. !*emplu de implementare a calculului relaional n lim$a0ul E@!. vezi n cartea
6C!.@778.
Al(e)r" rel"*!on"l&
(lgebra relaional este o colecie de operaii formale aplicate asupra ta$elelor
(relaiilor), i ea a fost conceput de !.".#odd.
+peraiile sunt aplicate n e'presiile algebrice relaionale care sunt cereri de re%sire.
5cestea sunt compuse din operatorii relaionali i operanzi.
)peranzii sunt ntotdeauna ta$ele (una sau mai multe).
*ezultatul evalurii unei e*presii relaionale este format dintr9o sin%ur ta$el.
5l%e$ra relaional are cel puin puterea de re%sire a calcului relaional. + e*presie din
calculul relaional se poate transforma ntr9una echivalent din al%e$ra relaional i
invers.
Oper"tor!! din al%e$ra relaional pot fi %rupai n dou cate%orii (R1, R2, R2 sunt relaii
(ta$ele))'
$. )peratori pe mulimi
R!@(I@(!5' R2 = R1 R2, unde R2 va conine tupluri din R1 sau R2 luate o sin%ur
dat.
DI"!R!(G5' R2 = R1 H R2, unde R2 va conine tupluri din R1 care nu se re%sesc n R2
4R+D@,@. #5R:!II5(' R2 = R1 R2, unde R2 va conine tupluri construite din
perec)i (*1*2), cu *1R1 i *2R2.
I(:!R,!#GI5'R2 = R1 R2, unde R2 va conine tupluri care se %sesc n R1 i R2 n
acelai timp.
+. )peratori relaionali speciali
,!.!#GI5' din R1 se o$ine o su$ta$el R2, care va conine o su$mulime din tuplurile
iniiale din R1 ce satisfac un predicat (o condiie).
(umrul de atri$ute din R2 = numrul de atri$ute din R1
(umrul de tupluri din R2 J numrul de tupluri din R1.
4R+I!#GI5' din R1 se o$ine o su$ta$el R2, care va conine o su$mulime din
atri$utele iniiale din R1 i fr tupluri duplicate
(umrul de atri$ute din R2 J numrul de atri$ute din R1
(umrul de tupluri din R2 numrul de tupluri din R1.
K+(#GI@(!5' derivaie a produsului cartezian, ce presupune utilizarea unui calificator
care s permit compararea valorilor unor atri$ute din R1 i R2, iar rezultatul n R2.
R1 i R2 tre$uie s ai$ unul sau mai multe atri$ute comune care au valori comune.
Note.
1) #odd a introdus ase operatori de baz (reuniunea, diferena, produsul cartezian,
selecia, proiecia , 0onciunea) i doi operatori derivai (intersecia i diviziunea).
2) @lterior au fost introdui i ali operatori derivai (speciali).
2) 5l%e$ra relaional este prin definiie neprocedural (descriptiv), iar calculul
relaional permite o manier de cutare mi't (proceduralLneprocedural).
Tr"ns1or$"re"
+fer o putere de re%sire echivalent cu cea din calculul i al%e$ra relaional.
,e $azeaz pe transformarea (mappin%) unui atri$ut sau %rup de atri$ute ntr9un atri$ut
dorit prin intermediul unor relaii.
*ezultatul este o relaie (ta$el) care se poate utiliza ntr9o alt transformare.
6r"1!c"
+fer interactivitate mare pentru constrirea cererilor de re%sire.
@tilizatorul specific cerea aleg,nd sau complet&nd un ecran structurat %rafic.
4oate fi folosit de ctre toate cate%oriile de utilizatori n informatic.
Re%u$"t.
,e definete noiunea de $az de date relaional (BDR) in&nd cont de modelul de date
relaional. ,e face o comparaie a noiunilor utilizate n BDR cu cele utlizate la lucrul cu
fiiere.
Realizarea unei aplicaii cu BDR este o activitate comple*, care presupune o$li%atoriu
proiectarea $azei de date. An acest sens se folosesc diferite te)nici, dintre care cea mai
utilizat este normalizarea. ,copul te)nicii de normalizare este de a elimina, n procesul
de proiectare, anomaliile de actualizare.
,unt prezentate cele cinci forme normale ("(1 la "(?) care se construiesc n procesul de
proiectare a unei BDR.
An continuare, se prezint un e'emplu practic de proiectare a unei BDR prin te)nica de
normalizare, a0un%&ndu9se la o sc)em conceptual. ,unt e*emplificate doar primele trei
forme normale, deoarece acestea sunt cele mai utilizate n aplicaiile practice.
An finalul capitolului se prezint o sintez a dou domenii importante din teoria
relaional' calculul relaional i algebra relaional. "iecare dintre cele dou domenii
este definit pe scurt, iar apoi sunt prezentai cei mai importani operatori afereni. ,unt
citate e*emple de lim$a0e relaionale clasificate dup te)nica folosit la implementare.
Note )!)l!o(r"1!ce.
!lemente de teoria relaional sunt prezentate n toate titlurile $i$lio%rafice care se refer
la BDR 6C!.@718, 6C!.@77M, 6#+((778, 6D5:!3>8 etc.
4entru partea de proiectarea BDR prin te)nica normalizrii (dependene funcionale,
forme normale, constr&n%eri) dar i pentru al%e$ra i calculul relaional, se %sesc
e*plicaii i e*emple didactice n 6RI##718.
Cu,!nte c#e!e.
$aze de date relaionale (BDR) #odd
proiectare BDR normalizarea
forme normale anomalii de actualizare
dependene funcionale calculul relaional
e*presia relaional calculul predicatelor
cuantificatorii al%e$ra relaional
operatorii relaionali lim$a0e relaionale
transformarea %rafica

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