Sunteți pe pagina 1din 15

PROIECTAREA LOGICA A BAZELOR DE DATE

n acest moment termenul de baza de date a intrat n limba ul curent !iind !olosit uneori si n alte acce"tiuni dec#t cea de "ro$enienta% n acest ca"itol sunt de!inite conce"tele de baza de date &BD' si sistem de (estiune a bazelor de date &)GBD' si se !ace o trecere n re$ista a elementelor continute n aceste de!initii% )unt "rezentate a"oi !unctiile "e care trebuie sa le asi(ure un )GBD si cate(oriile de utilizatori ale unui ast!el de sistem% Ca"itolul se inc*eie cu "rezentarea celor trei ni$ele de descriere a unei baze de date si a conce"tului de inde"endenta date+"ro(ram%

1.1. Baza de date si Sistem de gestiune a bazelor de date


Literatura de s"ecialitate contine mai multe de!initii "entru conce"tele de baza de date si sistem de (estiune a bazelor de date% n continuare sunt "rezentate cele din ,DeAd-./ "entru $aloarea lor descri"ti$a%

Definitie: O baza de date este un ansamblu structurat de date nre(istrat


"e su"orturi accesibile calculatorului "entru a satis!ace simultan cerintele mai multori utilizatori intr+un mod selecti$ si n tim" util% Definitie: 0n sistem de (estiune a bazelor de date este ansamblul de "ro(rame care "ermit utilizatorului sa interactioneze cu o baza de date% Aceste de!initii contin ma oritatea elementelor im"ortante ale "roblematicii bazelor de date "rezentate n ca"itolele urmatoare1 un ansamblu structurat de date 2u orice colectie de date este o baza de date% O cerinta "rimordiala este aceea a or(anizarii acestora du"a anumite re(uli% Re(ulile si conce"tele care "ermit descrierea structurii unei BD !ormeaza modelul datelor% n tim" au !ost de!inite trei ast!el de modele1 3odelul ierar*ic n care datele erau or(anizate sub !orma unui arbore4 nodurile const#nd din nre(istrari iar arcele re!erinte catre alte noduri% 3odelul retea n care datele erau or(anizate sub !orma unui (ra! orientat% 2odurile si arcele au aceeasui semni!icatie ca mai sus% 3odelul relational n care4 intuiti$4 datele sunt or(anizate sub !orma de tabele% Deza$anta ul "rinci"al al "rimelor doua modele consta n o"erarea (reoaie cu datele1 orice o"eratie necesita na$i(atia "rintr+un arbore sau o retea "entru localizarea datelor cautate sau a locului n care se insereaza noile 1

nre(istrari% De aceea ele nu se mai !olosesc n realizarea sistemelor de (estiune moderne4 acestea !iind bazate "e modelul relational al datelor% Po"ularitatea acestui model este datorata sim"litatii sale &din "unct de $edere al utilizatorului' si a "osibilitatii de de!inire a unor limba e ne"rocedurale de descriere si mani"ulare a datelor% Termenul de relatie &care da denumirea modelului' "ro$ine din matematica iar re"rezentarea intuiti$a a unei relatii este o tabela% n cazul modelului relational descrierea structurii unei baze de date consta n "rinci"al din descrierea tabelelor com"onente1 denumire4 lista de coloane si ti"ul datelor din acestea% De asemenea descrierea "oate include in!ormatii des"re elementele de identi!icare ale nre(istrarilor dintr+o tabela &c*eie "rimara'4 a coloanelor comune cu alte tabele &c*ei straine' si a altor restrictii si $eri!icari de corectitudine "entru datele stocate% Aceste in!ormatii sunt cunoscute sub numele (eneric de constran(eri de inte(ritate% O"eratiile de "roiectare si descriere a structurii unei baze de date sunt !acute n (eneral cu a utorul modelului entitte+asociere% Acesta este un model (eneric de descriere a datelor sub !orma (ra!ica + dia(rame entitate asociere + din care se "oate trece "e baza unor re(uli de trans!ormare n alte modele de date% ...nregistrat pe suporturi accesibile calculatorului ... Daca ansamblul de date nu este nre(istrat "e su"orturi accesibile calculatorului acesta nu se "oate numi baza de date n acce"tiunea lucrarii de !ata% n limba ul curent se intalnesc e5"resii ca1 6a$em aceasta in!ormatie n baza noastra de date6 si n cazurile n care datele res"ecti$e sunt de e5em"lu stocate sub !orma unor !ise &"e *artie' sortate al!abetic sau du"a alte criterii% n acest caz este $orba des"re o e5tensie a termenului de baza de date% n cazul sistemelor de (estiune a bazelor de date su"orturile "e care sunt stocate datele sunt n "rinci"al ma(netice si o"tice% ... pentru a satisface simultan cerintele mai multor utilizatori ... 7unctiile unui )GBD relati$e la accesul utilizatorilor la baza de date sunt urmatoarele1 8% Gestiunea utilizatorilor% 0n )GBD trebuie sa "ermita crearea4 modi!icarea si ster(erea utilizatorilor% O"eratia este e!ectuata de obicei de administratorul bazei de date% .% Concurenta la date% n cazul accesului simultan al mai multor utilizatori la aceleasi date un )GBD trebuie sa aiba mecanisme "entru a "reintam"ina inconsistenta datelor%Iata un e5em"lu de caz1

7ie o "ortiune a bazei de date4 notata A4 n care se tine numarul de locuri dis"onibile la o cursa aeriana si doua e5ecutii ale unui "ro(ram de rezer$are rulat de doua a(entii de bilete di!erite% Daca "ro(ramul este de ti"ul1
READ A /* se citeste numarul de locuri disponibile din BD */ A = A 1 /* se decrementeaza cu o unitate */ !R"#E A /* se scrie noul numar de locuri disponibile n BD */

atunci este "osibil ca "asii celor doua e5ecutii sa !ie intretesuti n !elul urmator1 3oment de tim" A(entia 8 A(entia . A n BD t8 READ A 89 t. READ A 89 t: A ; A < 8 89 t= A ; A + 8 89 t> ?RITE A @ tA ?RITE A @ )e obser$a ca desi s+au rezer$at . locuri4 A a scazut cu doar o unitate% O ast!el de situatie trebuie "reintam"inata% )unt "rezentate "roblemele le(ate de blocarea &aca"ararea' unor "ortiuni ale BD de catre o e5ecutie a unui "ro(ram4 rezol$area "roblemelor "e care le "oate ridica aste"tarea circulara "entru deblocarea acestor "ortiuni &deadlocB'4 e5ecutia "asilor "ro(ramelor de actualizare a BD ec*i$alenta cu o e5ecutie sec$entiala a "ro(ramelor &serializabilitate' si re(uli de scriere a "ro(ramelor de a"licatie "entru rezol$area "roblemelor de acces concurent% ... intr$un mod selecti% ... Orice )GBD are mecanisme "rin care di$ersilor utilizatori sau cate(orii de utilizatori li se asociaza dre"turi de acces s"eci!ice la obiectele bazei de date% n acest mod !iecarui utilizator i se da dre"tul de a e!ectua doar o"eratiile s"eci!ice acti$itatii sale si doar "e acea "ortiune a bazei de date care este necesara "entru acestea% 3ecanismul de dre"turi de acces are ca obiecti$e "rinci"ale1 Blocarea accesului unor cate(orii de utilizatori la date "e care nu trebuie sa le acceseze% n acest !el este asi(urata una dintre !unctiunile de baza ale unui )GBD si anume con!identialitatea datelor% Blocarea accesului unor cate(orii de utilizatori la date de care nu au ne$oie n acti$itatea lor4 minimiz#ndu+se ast!el riscul distru(erii accidentale a datelor "rin o"eratii necores"unzatoare% 7iecare ti" de )GBD are "ro"riile sale mecanisme de descriere a dre"turilor de acces bazate n "rinci"al "e acordarea sau neacordarea dre"tului

de a citi sau scrie di$erse "ortiuni ale bazei de date% O "rezentare detaliata a acestei "robleme se (aseste n Ca"itolul C% ... si n timp util ... n cazul bazelor de date de dimensiuni mari este e$ident ca orice cautare care s+ar baza "e o "arcur(ere sec$entiala a nre(istrarilor din tabele ar duce la tim"i de ras"uns inadec$at de mari% De asemenea4 o"eratii mai com"licate "rin care se re(asesc date stocate n mai multe tabele le(ate intre ele "rin coloane comune "ot duce n li"sa unor al(oritmi s"eci!ici la tim"i de e5ecutie inacce"tabili% De aceea orice )GBD are mecanisme "rin care minimizeaza tim"ul de ras"uns4 mecanisme bazate n s"ecial "e indecsi si modalitati s"eci!ice de or(anizare !izica a datelor%

1.&. 'unctiile unui S(BD


O de!initie alternati$a a conce"tului de baza de date este urmatoarea ,El2a@=/1 o baza de date este o colectie de date interconectate% Deci ea re"rezinta de"ozitul de date al oricarei a"licatii de (estiune4 "artea sa statica% O"eratiile asu"ra datelor sunt e!ectuate de sistemul de (estiune a bazelor de date% El este cel care asi(ura structurarea datelor4 accesul concurent al utilizatorilor4 selecti$itatea accesului si tim"i de e5ecutie normali "entru cereri% Dar acestea sunt doar o "arte din o"eratiile "e care acesta trebuie sa le asi(ure% 7unctiile unui sistem de (estiune a bazelor de date sunt urmatoarele1

1.&.1. Descrierea datelor


0n )GBD trebuie sa includa "osibilitatea descrierii stucturii obiectelor care !ormeaza baza de date% n cazul bazelor de date relationale aceasta consta n "rinci"al n "osibilitatea creerii si modi!icarii structurii tabelelor si constran(erilor de inte(ritate asociate acestora% Limba ul "rin care se realizeaza aceste o"eratii se numeste Limba de Descriere a Datelor &LDD' si n cazul "rimelor sisteme de (estiune el era im"lementat sub !orma unor module se"arate% n sistemele relationale bazate "e )DL aceste o"eratii au !ost incluse n limba sub !orma comenzilor de ti" CREATE &"entru creare' sau ALTER &modi!icare'% O caracteristica im"ortanta a sistemelor relationale este aceea ca descrierea structurii bazei de date este stocata n acelasi mod ca si baza de date n sine% E5ista "entru aceasta o serie de tabele (estionate direct de sistemul de (estiune numite cataloa(e care contin descrierea obiectelor care !ormeaza baza de date% Aceste tabele sunt accesate de sEstem "entru a re(asi in!ormatiile necesare e5ecutiei cererilor dar "ot !i accesate si de utilizatori "entru a obtine in!ormatii "ri$ind structura bazei de date% Ast!el toate in!ormatiile de sistem necesare unui )GBD relational sunt stocate n acelasi mod4 inclusi$ descrierea utilizatorilor si a dre"turilor de acces ale acestora%

Aceasta abordare a !ost necesara "entru a nu a$ea mecanisme di!erite de acces la datele de sistem si la datele stocate n baza de date% Din cele de mai sus rezulta ca nu orice "ro(ram care (estioneaza date este un )GBD% )a luam e5em"lul unui "ro(ram scris n limba ul C care (estioneaza niste !isiere de nre(istrari a caror structura este cablata n "ro(ram% Acesta nu res"ecta !unctia de descriere a datelor necesara unui )GBD deoarece utilizatorul1 2u "oate adau(a noi !isiere de date% 2u "oate modi!ica structura !isierelor de date (estionate &adau(ari sau ster(eri de cam"uri ale nre(istrarilor !isierelor4 sc*imbarea ti"ului acestora'% )tructura bazei de date este cablata n "ro(ram si nu este stocata n baza de date% 0n )GBD trebuie sa "ermita deci de!inirea si modi!icarea de catre utilizatorii autorizati a structurii bazei de date4 limitarile !iind doar de natura te*nica sau "ri$ind ti"urile de obiecte care se "ot nre(istra1 dimensiune ma5ima "entru o tabela4 numar ma5im de coloane sau linii dintr+o tabela4 ti"ul unei coloane ales dintr+o multime "rede!inita de ti"uri "osibile4 etc%

1.&.&. )tilizarea datelor


Aceasta !unctie include o"eratiile de lucru cu datele nre(istrate intr+o baza de date% Cele "atru cate(orii de o"eratii "rinci"ale sunt urmatoarele1 Inserarea de noi date% Aceasta se concretizeaza "rin adau(area de noi linii n tabelele care !ormeaza baza de date% )ter(erea de linii din tabele% Actualizarea datelor4 insemn#nd modi!icarea continutului unor linii e5istente n tabele% Re(asirea datelor du"a anumite criterii de cautare Pentru im"lementarea acestei !unctii !iecare )GBD are un Limba de 3ani"ulare a Datelor &L3D' care "oate !i un modul se"arat sau inclus n limba ul sistemului cum este n cazul )DL% O"eratia de re(asire este esentiala4 ea !iind necesara si n cazul celorlalte trei o"eratii1 n cazul inserarii4 daca aceeasi in!ormatie nu "oate !i "rezenta de mai multe ori n baza de date4 este necesara o cautare "realabila "entru a $eri!ica acest lucru% n cazul ster(erii si actualizarii este necesara localizarea datelor care $or !i eliminate sau modi!icate% Pentru e!ectuarea unei o"eratii de acest ti" un )GBD e5ecuta mai multi "asi1

8% Consultarea cataloa(elor de sistem "entru a $eri!ica e5istenta obiectelor im"licate si a a!la structura si "ro"rietatile acestora "recum si "entru a $eri!ica daca utilizatorul care a lansat comanda are dre"tul de a e!ectua o"eratia res"ecti$a .% Crearea unui "lan de e5ecutie o"tim "entru o"eratia res"ecti$a4 lu#nd n consideratie e5istenta unor e$entuale structuri de cautare ra"ida &indecsi'% :% E5ecutia o"eratiei si $eri!icarea !a"tului ca rezultatul nu $ioleaza constran(erile de inte(ritate e5istente =% E5ecutarea altor o"eratii care "ot !i declansate automat de o"eratia de baza &n cazul n care sistemul su"orta ast!el de o"eratii'% )i din "unct de $edere al acestei !unctii nu toate "ro(ramele de (estiune de date sunt )GBD% n cazul "ro(ramului scris n limba ul C descris anterior4 daca o"erarea se !ace "rin intermediul unui arbore de meniuri care "ermite e!ectuarea unui set "restabilit de o"eratii !unctia de utilizare a datelor nu este inde"linita% Adau(area unei noi o"tiuni n "ro(ram descriind o o"eratie care nu a !ost "re$azuta nu se "oate !ace de utilizator ci doar "rin modi!icarea si recom"ilarea "ro(ramului% O situatie s"eciala este aceea a "ro(ramelor dedicate care au insa la baza un sistem de (estiune a bazelor de date% n acest caz )GBD+ul dis"une de toate !acilitatile de descriere si utilizare a datelor dar acestea nu sunt "use la dis"ozitia utilizatorului a"licatiei decat n masura n care au !ost cu"rinse n meniurile acesteia%

1.&.*. "ntegritatea datelor


3a oritatea sistemelor de (estiune "ermit de!inirea unor re(uli "e care datele stocate trebuie sa le $eri!ice numite constran(eri de inte(ritate% n cazul n care o o"eratie are ca rezultat $iolarea acestor restrictii aceasta este automat re ectata si nu are e!ect n baza de date% n !elul acesta este asi(urata o mai mare si(uranta n ceea ce "ri$este corectitudinea datelor% )a consideram o baza de date contin#nd in!ormatii des"re !acultati4 studentii inscrisi si notele obtinute de acestia% Im"unerea unor constran(eri de inte(ritate "oate "re$eni n acest caz1 Introducerea accidentala de $alori incorecte n baza de date% De e5em"lu "entru tabela contin#nd notele studentilor se "oate de!ini o restrictie "ri$ind inter$alul de $alori admisibil "entru acestea1 9+89% Orice o"eratie de introducere a unei noi note sau de modi!icare a uneia e5istente care nu res"ecta acest inter$al de $alori $a (enera o eroare si nu $a !i dusa "ana la ca"at% Lasarea necom"letata a unor in!ormatii necesare% n cazul introducerii unui nou student sau a modi!icarii in!ormatiilor des"re unul de a nre(istrat4 o restrictie de acest ti" asociata coloanei sau coloanelor "e care este memorat numele studentului $a e$ita a"aritia n baza de date a unor nre(istrari n care numele este necom"letat%

Alocarea accidentala a aceluiasi numar matricol "entru mai multi studenti n cazul n care "entru coloana contin#nd acest numar s+ar de!ini o constran(ere de unicitate a $alorilor% Introducerea accidentala a unui student cu un cod incorect al !acultatii la care acesta este inscris% Acest lucru se "oate realiza de!inind o constra(nere de inte(ritate "rin care se $eri!ica e5istenta n tabela de !acultati a $alorii res"ecti$e inainte de scrierea ei n tabela de studenti% De!inirea de constran(eri de inte(ritate nu "re$ine insa total erorile accidentale de o"erare1 de e5em"lu introducerea din (reseala a unei note de = n loc de > nu $a !i semnalata4 ambele $alori !iind n inter$alul admisibil%

1.&.+. ,onfidentialitatea datelor


n cazul unui )GBD accesul la date este "ermis doar utilizatorilor nre(istrati si doar n masura dre"turilor de acces alocate% Para(ra!ul 8%:% contine o "rezentare detaliata "ri$ind ti"urile de utilizatori ai unui sistem de (estiune si rolurile acestora% 0n utilizator este identi!icat "rintr+un nume+utilizator si o "arola% 7iecarui utilizator i se "ermite accesul doar la o "ortiune a bazei de date si doar "entru a e!ectua anumite ti"uri de o"eratii% n cazul bazelor de date accesate n retea se "ot de!ini de asemenea locatiile de la care utilizatorul "oate interactiona cu baza de date% Toate aceste in!ormatii relati$e la ce4 cum si de unde "oate accesa datele un utilizator re"rezinta dre"turile de acces asociate acestuia si sunt stocate n cataloa(ele sistemului% Asa cum s+a mentionat anterior4 "rin mecanismul de dre"turi de acces este asi(urata !unctia de con!identialitate a datelor% Este "re$enita ast!el "osibilitatea de acces la date a "ersoanelor care nu au acest dre"t1 de e5em"lu4 n cazul sistemului in!ormatic al unei or(anizatii4 accesul la datele "ri$ind salariile an(a atilor4 detalii ale "roceselor te*nolo(ice4 datele contabile sau alte in!ormatii sensibile nu $or "utea !i accesate decat de cate(orii restranse de utilizatori% Din acest "unct de $edere nu orice "ac*et de "ro(rame de (estiune a datelor "oate !i numit )GBD deoarece unele dintre acestea !ie nu contin nici un !el de !acilitate "ri$ind (estiunea utilizatorilor si asi(urarea con!identialitatii !ie aceste !acilitati sunt rudimentare si nu "ot !i considerate ca atare% O alta "osibilitate de asi(urare a con!identialitatii este aceea a accesului la datele din baza de date doar "rin intermediul unor "ro(rame de a"licatie% 0tilizatorii acestor "ro(rame nu sunt n acelasi tim" si utilizatori nre(istrati ai )GBD+ului care (estioneaza datele iar "ortiunea din baza de date la care au acces este cablata n "ro(ram%

1.&.-. Accesul concurent la date

E5ista trei ti"uri de "robleme "e care un )GBD trebuie sa le rezol$e "entru a asi(ura accesul concurent corect al mai multor utilizatori la aceeasi baza de date1

7acilitati de blocare a unor "ortiuni ale bazei de date% Aceasta


inseamna ca o e5ecutie a unui "ro(ram "oate ca"ata un acces e5clusi$ la o "ortiune a bazei de date4 denumita si articol4 moment n care orice alta e5ecutie trebuie sa aste"te deblocarea acesteia "entru a continua% Daca notam o"eratiile de blocare si deblocare cu LOCF si 02LOCF4 "ro(ramul de rezer$are de locuri descris anterior este urmatorul1
./,0 A /* se blocheaza articolul A */ READ A /* se citeste din BD numarul de locuri disponibile */ A = A 1 /* se decrementeaza cu o unitate */ !R"#E A /* se scrie noul numar de locuri disponibile n BD */ )1./,0 A /* se deblocheaza articolul A */

n acest caz4 "rima dintre cele doua e5ecutii care $a reusi sa bloc*eze cu succes articolul A isi $a e5ecuta toti "asii inaintea celeilalte4 ne$oita sa aste"te deblocarea lui A1 3oment de tim" A(entia 8 A(entia . A n BD t8 LOCF A 89 t. READ A Aste"tare 89 t: A ; A < 8 Aste"tare 89 t= ?RITE A Aste"tare @ t> 02LOCF A Aste"tare @ tA LOCF A @ tC READ A @ t- A ; A + 8 @ t@ ?RITE A t89 02LOCF A 7iecare ti" de )GBD are "ro"riul sau mecanism de de!inire a dimensiunii articolelor si a ti"urilor de blocari care se "ot e!ectua%

3odalitati de e$itare sau de eliminare a interblocarii% Blocarea articolelor rezol$a o serie de "robleme dar creaza "remisele a"aritiei interbloca ului4 situatie n care doua e5ecutii de "ro(rame astea"ta deblocarea unui articol blocat de cealalta%
)a luam cazul a doua "ro(rame care au urmatoarea structura1
2rogram 21 2rogram 2& $$$$$$$$$$ $$$$$$$$$$ ./,0 A ./,0 B ./,0 B ./,0 A ..... ..... )1./,0 B )1./,0 A

)1./,0 A )1./,0 B

n cazul n care atat P8 cat si P. au e5ecutat "rima instructiune bloc#nd articolele A si res"ecti$ B4 !iecare dintre ele intra n aste"tare1 P8 astea"ta ca P. sa+l debloc*eze "e B iar P. astea"ta ca P8 sa+l debloc*eze "e A% O ast!el de situatie se numeste deadlocB si trebuie !ie e$itata !ie eliminata de catre )GBD%

E5ecutia serializabila% n cazul mai multor e5ecutii simultane care acceseaza baza de date se considera ca e!ectul lor este corect daca rezultatul !inal este identic cu e5ecutia lor succesi$a% Aceasta "ro"rietate se numeste serializabilitate si un )GBD trebuie sa "una la dis"ozitie mecanisme de asi(urare a serializabilitatii e5ecutiilor "ro(ramelor de acces%
Ca"itolul A !ace o "rezentare a bazelor teoretice ale accesului concurent la date n sistemele de (estiune a bazelor de date relationale%

1.&.3. Siguranta n functionare


Desi nu este le(ata direct de cele "rezentate "ana acum4 si(uranta n !unctionare este o caracteristica esentiala "entru un )GBD si contine acele elemente care e5clud sau minimizeaza "osibilitatea de "ierdere a datelor datorata incidentelor so!tGare sau *ardGare% Prnci"alele !acilitati "e care un sistem de (estiune a bazelor de date trebuie sa le asi(ure din acest "unct de $edere sunt urmatoarele1 )al$area datelor% n cazul sistemelor mai $ec*i aceste !acilitati erau su"linite de o"tiunile de co"iere sau ar*i$are a !isierelor bazei de date o!erite de sistemul de o"erare "e care rula )GBD+ul% Actualmente im"lementarea o"eratiilor de sal$are este mult mai so!isticata a$#nd n $edere di!icultatea teoretica si "ractica a e!ectuarii de co"ii de si(uranta consistente ale bazei de date n conditiile n care a"licatia ruleaza non+sto" si o"erarea nu "oate !i o"rita "entru e!ectuarea sal$arii% Restaurarea du"a incident% n cazul a"aritiei de incidente *ardGare sau so!tGare care au ca e!ect distru(erea bazei de date este necesara e!ectuarea o"eratiei de restaurare care sa minimizeze $olumul de o"eratii al caror e!ect se "ierde% n acest sco" cele mai multe ti"uri de )GBD au "osibilitatea de a nre(istra toate sc*imbarile a"arute n baza de date sub !orma unor !isiere urnal% n acest !el o"eratia de restaurare du"a incident se !ace restaur#nd ultima co"ie de si(uranta si ree!ectu#nd toare "relucrarile consistente nre(istrate n urnal du"a momentul n care a !ost e!ectuata co"ia% Aceste !acilitati sunt necesare mai ales n cazul a"licatiilor care (estioneaza date im"ortante si "entru care "ierderea acestora ar a$ea im"licatii deosebite4 de e5em"lu n cazul a"licatiilor bancare% E!icienta acestor !acilitati "oate !i !oarte im"ortanta n momentul demararii unei noi a"licatii si actualmente cele mai bine $#ndute ti"uri de )GBD sunt

tocmai cele care au mecanisme "er!ormante de asi(urare a si(urantei n !unctionare%

1.*. ,ategorii de utilizatori


n "ara(ra!ele "recedente a !ost !olosit !rec$ent termenul de utilizator% n cele ce urmeaza sunt "rezentate cate(oriile de utilizatori care interactioneaza cu o baza de date% Din "unct de $edere al dre"turilor de acces4 ca si n cazul sistemelor de o"erare4 un )GBD are doua ti"uri "rinci"ale de utilizatori1

1.*.1. )tilizatori pri%ilegiati


Acestia sunt utilizatori care au dre"tul de a a!ectua toate ti"urile de o"eratii "use la dis"ozitie de sistem% Termenul (eneric "entru acest ti" de utilizatori este cel de administrator al bazei de date si n (eneral este $orba de una sau mai multe "ersonae care ras"und de buna !unctionare a )GBD+ului% Princi"alele !unctii inde"linite de administrator sunt1 Crearea si modi!icarea structurii bazei de date% Aici sunt incluse o"eratiile de creare si modi!icare a tabelelor si a celorlalte obiecte ale bazei de date necesare a"licatiilor !olosite n or(anizatia res"ecti$a% Gestiunea utilizatorilor% Administrarorul este cel care creaza noi utilizatori "entru )GBD4 con!era dre"turile de acces la date si "oate sc*imba acest ti" de in!ormatii "entru orice utilizator% El ras"unde deci si de securitatea datelor si "re$enirea accesului neautorizat la baza de date n intre(ime sau la "ortiunile sale care nu sunt "ublice% 3odi!icarea "arametrilor )GBD% n cazul sistemelor de (estiune com"le5e "er!ormantele di!eritelor ti"uri de o"eratii sunt in!luentate de o serie de "arametri la care un utilizator obisnuit nu are acces% Administratorul este cel care monitorizeaza "er!ormantele sistemului si "oate sc*imba "arametrii acestuia "entru o"timizarea anumitor o"eratii% )al$area "eriodica a bazei de date &crearea de co"ii de si(uranta' si restaurarea sa n caz de incident so!tGare sau *ardGare% Poate trans!era unele dintre dre"turile sale de acces si altor utilizatori care nu sunt administratori ai bazei de date n cazurile n care acest lucru este necesar dar ras"unde de e$entualele brese de securitate care "ot a"are !iind cel mai n masura sa e$alueze "roblemele ridicate de un ast!el de trans!er%

1.*.&. )tilizatori nepri%ilegiati


10

Acestia sunt utilizatorii obisnuiti ai )GBD+ului si dis"un de dre"turile de acces care le+au !ost alocate de administratorul bazei de date% 3a oritatea sistemelor de (estiune "ermit de!inirea de cate(orii (enerice de utilizatori &numite roluri' iar !iecare utilizator indi$idual are asociat unul sau mai multe roluri4mostenind dre"turile de acces ale acestora% Este usurata ast!el o"eratia de creare a unui nou utilizator% E5ista doua ti"uri de utilizatori ne"ri$ile(iati1 0tilizatorul este o "ersoana !izica lucr#nd direct cu )GBD+ul "rin intermediul inter!etelor "e care acesta le "une la dis"ozitie% De e5em"lu n Oracle o ast!el de inter!ata este "ro(ramul sHl"lus "rin care se "ot e5ecuta cereri )DL asu"ra bazei de date% 0tilizatorul este o entitate (enerica a$#nd asociat un nume+utilizator si o "arola "rin intermediul careia o multime de "ro(rame de a"licatie se conecteaza la )GBD "entru a e!ectua di$erse o"eratii% Persoanele care utilizeaza aceste a"licatii nu cunosc numele+utilizator sau "arola !olosite "entru accesul la date4 e5ist#nd e$entual mecanisme "aralele de autenti!icare a utilizatorilor autorizati ai a"licatiei% Din "unct de $edere al relatiei cu una dintre bazele de date (estionate de un )GBD "ersoanele care acceseaza datele se im"art n doua cate(orii1

0tilizatori care "roiecteaza4 realizeaza si intretin a"licatia % n aceasta


cate(orie intra toti cei im"licati n crearea unei a"licatii si n acti$itatea de mentenanta si ada"tare la ne$oile bene!iciarilor% Acti$itatile e!ectuate de acestia sunt1 Analiza de sistem si "roiectarea bazei de date si a modulelor de "ro(ram ale a"licatiei% Dez$oltarea "ro(ramele con!orm "roiectului rezultat din analiza de sistem Asi(ura su"ortul "entru utilizarea a"licatiei% n multe sisteme de (esiune de"anarea incidentelor si intretinerea bazei de date se "ot !ace de la distanta de "ersonalul com"aniei care a li$rat sau distribuit a"licatia% Acesti utilizatori "ot "rimi de la administratorul bazei de date o serie de dre"turi s"eci!ice acestuia1 crearea de noi tabele4 modi!icarea structurii celor e5istente4 (estiunea constran(erilor de inte(ritate si a altor obiecte din baza de date%

0tilizatori obisnuiti% )unt cei care au acces la baza de date "rin


intermediul inter!etelor "entru care sunt autorizati% Acesti utilizatori n (eneral nu au dre"tul de a modi!ica structura bazei de date a a"licatiei dar n anumite cazuri "ot crea obiecte su"limentare "entru care dis"un de dre"turi nelimitate1 creare4 modi!icare4 ster(ere si trans!er al dre"turilor de acces la acestea catre alti utilizatori% 11

1.+. 1i%ele de descriere a unei baze de date


O aceeasi baza de date "oate !i "ri$ita din di$erse "ers"ecti$e rezult#nd descrieri di!erite% Termenul consacrat "entru descrierea structurii unei baze de date este acela de sc*ema% n literatura de s"ecialitate e5ista o clasi!icare "e trei ni$ele a acestor descrieri1 !izic4 conce"tual si e5tern% Gestionarea sc*emelor bazei de date "entru !iecare ni$el este una dintre atributiile administratorului bazei de date%

1.+.1. 1i%elul fizic


La acest ni$el baza de date este descrisa din "ers"ecti$a stocarii sale "e dis"oziti$ele !izice1 identi!icarea discurilor si a cailor unde este stocata4 numele !isierelor care !ormeaza baza de date4 structura !izica a acestora4 etc% Descrierea bazei de date la acest ni$el "oarta numele de sc*ema !izica si sistemul de (estiune a bazelor de date "une la dis"ozitie !acilitatile "entru nre(istrarea si modi!icarea acesteia% 7iecare )GBD are n (eneral asociat un model s"eci!ic de descriere la ni$el !izic a bazei de date%

1.+.&. 1i%elul conceptual


Descrierea bazei de date la acest ni$el "oarta numele de sc*ema conce"tuala &numita uneori si sc*ema lo(ica' a bazei de date% Ea consta intr+o descriere abstracta dar e5acta a structurii acesteia4 las#nd la o "arte detaliile !izice de im"lementare% )c*ema conce"tuala este !acuta n termenii modelului de date utilizat% Ast!el4 n cazul ado"tarii modelului relational4 aceasta consta n1 Tabelele care !ormeaza baza de date )tructura &coloanele' !iecarei tabele Ti"ul de date asociat coloanelor Elementele "e baza carora se realizeaza interconectarea tabelelor &coloane comune' Constran(eri de inte(ritate O"eratii declansate automat la modi!icarea unor elemente ale bazei de date Im"lementarea sc*emei conce"tuale se !ace cu a utorul limba ului "entru descrierea datelor &LDD' asociat sistemului de (estiune utilizat%

1.+.*. 1i%elul e4tern

12

Di!eritele cate(orii de utilizatori ai unei baze de date au ne$oie n acti$itatea lor doar de "ortiuni s"eci!ice ale acesteia% Descrierea acestor "ortiuni "oarta numele de sc*eme e5terne% O baza de date are deci asociata o sin(ura sc*ema !izica si o sin(ura sc*ema conce"tuala dar mai multe sc*eme e5terne% )c*emele e5terne sunt descrise de obicei cu a utorul modelului de date !olosit "entru sc*ema conce"tuala% n "lus se s"eci!ica modul n care se !ace cores"ondenta intre obiectele celor doua descrieri% Daca "entru administratorului bazei de date sc*ema e5terna coincide cu sc*ema conce"tuala4 celelalte cate(orii de utilizatori acceseaza baza de date doar "rin intermediul sc*emelor e5terne s"eci!ice acestora% Din aceasta cauza4 orice "relucrare lansata de un utilizator este translatata de catre )GBD mai intai la ni$el conce"tual si a"oi la ni$el !izic% Aceste o"eratii "ot !i consumatoare de tim"% De aceea nu toate sistemele de (estiune dis"un de mecanisme de descriere "entru !iecare dintre cele trei ni$ele1 n cazul multor "ac*ete de "ro(rame "entru calculatoare "ersonale descrierea sc*emei !izice se !ace cu a utorul LDD4 o data cu sc*ema conce"tuala% De asemenea !acilitatile "entru de!inirea sc*emelor e5terne sunt reduse sau ine5istente% n cazul sistemelor de (estiune a bazelor de date com"le5e4 descrierea sc*emelor e5terne se !ace "rin de!inirea de $ederi utilizator% O ast!el de $edere este n cazul modelului relational o tabela $irtuala care nu e5ista la ni$el !izic si conce"tual n baza de date dar care se "oate calcula "e baza tabelelor continute n aceasta ori de cate ori este !olosita de o"eratiile lansate de utilizator%

1.+.+. "ndependenta datelor


E5istenta celor trei ni$ele de descriere "ermite de!inirea conce"tului de inde"endenta intre datele stocate n baza de date si a"licatiile care utilizeaza aceste date% Conce"tul de inde"endenta a datelor a a"arut o data cu dez$oltarea sistemelor com"le5e de a"licatii "entru care cablarea in!ormatiilor structurale n "ro(ram constituie o bariera n calea dez$oltarii si modi!icarii acestora% n lumea reala orice o"eratie de modi!icare a bazei de date a unei a"licatii se masoara si "rin "risma costurilor materiale necesare modi!icarii "ro(ramelor care o !olosesc% 3inimizarea acestora a !acut necesara im"lementarea !acilitatilor de inde"endenta a datelor n sistemele de (estiune a bazelor de date comerciale% E5ista doua ti"uri de inde"endenta1

Inde"endenta lo(ica re"rezinta "osibilitatea de sc*imbare a sc*emei conce"tuale a bazei de date !ara modi!icarea sc*emelor e5terne% Conditia este ca modi!icarea sa nu elimine nici unul dintre elementele necesare translatiei de la sc*ema e5terna la sc*ema conce"tuala% O"eratii ca1
13

Adau(area de noi tabele n baza de date Adau(area de noi coloane n tabelele e5istente 3odi!icarea numelor tabelelor si coloanelor e5istente Adau(area de noi constran(eri de inte(ritate 3odi!icarea n anumite limite a ti"ului datelor stocate n baza de date Restructurarea bazei de date "rin mutarea unor coloane n alte tabele4 !ra(mentarea unei tabele sau reunirea mai multor tabele% "ot !i su"ortate doar "rin modi!icarea de!initiei sc*emelor e5terne4 !ara ca acestea sa su!ere modi!icari structurale% n acest caz deoarece "ro(ramele de a"licatie si utilizatorii acceseaza baza de date doar "rin intermediul sc*emelor e5terne modi!icarile sc*emei conce"tuale nu $or !i sesizate de catre acestia% E5em"lu1 )a consideram o baza de date contin#nd la ni$el conce"tual o tabela cu date des"re studenti cu urmatoarea structura1

)tudent&Cod)tudent4 2ume4 Cod7acultate4 3edie' si n sc*eme e5terne contin#nd tabelele $irtuale )tudent+84 )tudent+.4 I4 )tudent+n de!inite ast!el1 )tudent+i&Cod)tudent4 2ume4 Cod7acultate4 3edie' ; liniile din tabela )tudent care "e coloana Cod7acultate contin $aloarea i%
n cazul modi!icarii bazei de date "rin adau(area unei noi tabele cu"rinz#nd lista s"ecializarilor din cadrul uni$ersitatii si a unei noi coloane n tabela )tudent "entru a s"eci!ica la ce s"ecializare este inscris !iecare student4 tabelele cu datele studentilor din sc*emele e5terne $or ramane aceleasi daca le sc*imbam de!initia1 Baza de date conce"tuala1

)tudent&Cod)tudent4 2ume4 Cod7acultate4 3edie4 Cod)"ecializare' )"ecilizare&Cod)"ecializare4 2ume)"ecializare'


)c*emele e5terne1

)tudent+i&Cod)tudent4 2ume4 Cod7acultate4 3edie' ; $alorile de "e


coloanele Cod)tudent4 2ume4 Cod7acultate si 3edie din liniile din tabela )tudent care "e coloana Cod7acultate contin $aloarea i% Inde"endenta lo(ice im"lica !olosirea de catre )GBD a in!ormatiilor de de!initie a sc*emelor e5terne stocate n cataloa(ele sistemului "entru con$ersia oricarei o"eratii din termenii sc*emei e5terne a a"licatiei sau utilizatorului care a lansat+o n termenii sc*emei conce"tuale a bazei de date%

Inde"endenta !izica re"rezinta "osibilitatea de sc*imbare a sc*emei !izice a bazei de date !ara modi!icarea sc*emei conce"tuale si im"licit a sc*emelor e5terne% Aceasta da "osibilitatea reor(anizarii !izice a bazei de date !ara a!ectarea a"licatiilor care o !olosesc%

14

O"eratii ca1 )c*imbarea dis"oziti$elor !izice "e care este stocata baza de date )c*imbarea numelor !isierelor !izice n care este stocata baza de date sau a directoarelor unde acestea sunt "lasate Adau(area de noi structuri de cautare ra"ida &indecsi' "entru cresterea $itezei de e5ecutie a anumitor o"eratii )c*imbarea n anumite conditii a structurii !izice a !isierelor bazei de date )c*imbarea unor "arametri ai sistemului de (estiune care a!ecteaza modul n care datele sunt stocate la ni$el !izic "ot !i su"ortate doar "rin modi!icarea cataloa(elor sau a !isierelor de con!i(uratie "e care )GBD+ul le !oloseste "entru a !ace translatia de la sc*ema conce"tuala la sc*ema !izica% Cum nu toate sistemele de (estiune a bazelor de date im"lementeaza total cele trei ni$ele de descriere4 "osibilitatea de a asi(ura cele doua ti"uri de inde"endenta este conditionata de !acilitatile o!erite de sistem% n cazul "osibilitatii asi(urarii inde"endentei datelor a$anta ul consta n e5istenta "remiselor scrierii de a"licatii care "ot !i usor dez$oltate4 intretinute si actualizate%

15

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