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