Sunteți pe pagina 1din 32

Academia de Studii Economice Bucureti Facultatea de Contabilitate i Informatic de Gestiune Concepte si practici de audit la nivel national i internaional

Sistem informatic pentru gestiunea activitii unei agenii de turism utiliz nd


S!" SE#$E# %&&'

Coordonator tiinific:
Prof. univ. dr. MIHAI Florin

Student: Pil Alina

Cuprins

I()#*+,CE#E
Prezenta lucrare prezint aspecte conceptuale referitoare la bazele de date precu! i e"e!plificarea i!portanei acestora #n dezvoltarea te$nolo%iei infor!aiei dezvoltare care are un i!pact decisiv asupra !odului de or%anizare i funcionare a nu!eroaselor instituii i servicii fie ca sunt co!panii de co!unicaie intreprinderi de co!er servicii bancare servicii de transport asi%urri ori de pild universiti. Acestea sunt dependente de funcionarea corect i ne#ntrerupt a siste!elor de baze de date. &e aceea siste!ele de baze de date sunt o co!ponent i!portant a vieii de zi cu zi #n societatea !odern. 'ilnic !a(oritatea persoanelor desfoar activiti care i!plic interaciunea cu o baz de date. &o!eniul bazelor de date este foarte i!portant la ora actual. Indiferent c sunte! un utilizator obinuit unul e"peri!entat sau un profesionist I) studiul unei baze de date este !ai i!portant ca oric*nd. +n prezent orice siste! co!ple" nu poate fi privit #n afara unei puternice surse de date structurat consistent persistent care i!plic un siste! adecvat de %estiune. Ca o consecin fireasc a acestui interes #n toate pro%ra!ele de #nv!*nt de specialitate universitar sau preuniversitar este inclus o disciplin care s relaioneze cu bazele de date lu*nd for!a se!inariilor cursurilor lucrrilor practice i proiectelor., Poentialul #nc neatins al S-&. const pe de o parte #n desc$iderea pe care ele o au de a construi cu a(utorul !odelelor de date noi nivele de abstractizare #n abordarea proble!elor reale crora #ns le ofer i pro!isiunea susinut de %arania necesar c vor putea fi i!ple!entate. Procesul de instruire #n societatea noastr tot !ai infor!atizat #n aa nu!ita societate informaional i!pune tot !ai !ult structurarea cunotinelor acu!ulate capacitatea de a le or%aniza clasifica re%si i !ai ales co!plet. Cutrile pe /orld /ide /eb !odul #n care apel! la motoarele de cutare i !odul #n care acestea lucreaz i au fost concepute toate au de a face cu conceptele i procedeele de lucru cu baze de date. Motoarele de cutare sunt #n fond nite instru!ente de cutare a infor!aiilor #ntr0o i!ens baz de date care este actualizat continuu pe !sur ce apar noi pa%ini /eb. Procesul de cutare co!binat cu cel de aducere la zi !odificare0co!pletare corespund funciilor de baz ce intervin la bazele de date reflect*nd adic !odul de %estiune a infor!aiilor de pe /eb. -aza de date reprezint acu! cadrul funda!ental al unui siste! infor!aional i a !odificat radical !odul de operare al !ultor or%anizaii. +n particular dezvoltarea acestei te$nolo%ii de0a lun%ul ulti!ilor ani a dus la crearea unor siste!e !ai puternice ce pot fi utilizate #ntr0un !od !ai intuitiv. &e aceea siste!ele de baze de date au devenit din ce #n ce !ai accesibile pentru o !ai lar% varietate de utilizatori.

1
2

Perenitatea Conceptelor Promovate de bazele de date 0 Ale"andru 1eluiu

SBD 2 Siste! de Aplicaii av*nd #n centru o colectie structurata de date de volu! !are a crui coninut e %estionat #n !od direct de un S3-& dar care pe l*n% acesta i!plic prezena i a altor co!ponente specializate

CA-I)*"," I. SI()E/0 +I( "I)E#A),#A +E S-ECIA"I)A)E

1. +efiniii i concepte privind bazele de date


1.1. Definiia bazelor de date
+n sensul lar% o baz de date4 este o colecie de date corelate din punct de vedere lo%ic care reflect un anu!it aspect al lu!ii reale i este destinat unui anu!it %rup de utilizatori. +n acest sens bazele de date pot fi create i !eninute !anual 5un e"e!plu ar fi fiele de eviden a crilor dintr0o bibliotec aa cu! erau folosite cu ani #n ur!6 sau co!puterizat aa cu! sunt !a(oritatea bazelor de date #n !o!entul de fa. 7 definiie #ntr0un sens !ai restr*ns a unei baze de date este prezentat !ai (os: O baz de date este o colecie de date centralizate, create i meninut computerizat, n scopul prelucrrii datelor n contextul unui set de aplicaii Prelucrarea datelor se refer la operaiile de introducere, ter!ere, actualizare i intero!are a datelor Si!plele colecii de fie 5docu!ente pe $*rtie6 sau fiiere de date care conin date dar nu per!it operaii de intero%are nu sunt considerate baze de date. 7rice baz de date are ur!toarele proprieti i!plicite: 0 este o colecie lo%ic coerent de date ce are cel puin un #neles8 0 este destinat construit i populat de date despre un do!eniu bine precizat. 9a are un %rup de utilizatori i se adreseaz unui anu!it %rup de aplicaii8 0 reprezint c*teva aspecte ale lu!ii reale cre*nd orizontul propriu.

1.2. Avanta2ele folosirii bazelor de date


Fa de vec$ile !etode de #nre%istrare a datelor privind diferite activiti pe fie 5docu!ente scrise6 sau c$iar #n fiiere pe disc siste!ele de baze de date ofer avanta(e considerabile ceea ce e"plic e"tinsa utilizare a acestora. C*teva dintre avanta(ele oferite sunt: 0 Controlul centralizat al datelor put*nd fi dese!nat o persoan ca responsabil cu ad!inistrarea bazei de date8 0 "itez mare de re%sire i actualizare a infor!aiilor8 0 Sunt compacte: volu!ul ocupat de siste!ele de baze de date este !ult !ai redus dec*t docu!etele scrise8 0 #lexibilitatea$ ce const #n posibilitatea !odificrii structurii bazei de date fr a fi necesar !odificarea pro%ra!elor de aplicaie8
3

Database din en%lez

0 0 0 0

%edundan sczut a datelor !e!orate care se obine prin parta(area datelor #ntre !ai !uli utilizatori i aplicaii. +n siste!ele de baze de date !ai !ulte aplicaii pot folosi date co!une !e!orate o sin%ur dat. Posibilitatea introducerii standardelor privind !odul de stocare a datelor ceea ce per!ite intersc$i!barea datelor #ntre or%anizaii8 &eninerea inte!ritii datelor prin politica de securitate 5drepturi de acces difereniate #n funcie de rolul utilizatorilor6 prin %estionarea tranzaciilor i prin refacerea datelor #n caz de funcionare defectuoas a diferitelor co!ponente $ard:are sau soft:are8 'ndependena datelor fa de suportul $ard:are utilizat. Siste!ul de %estiunea a bazelor de date ofer o vizualizare a datelor care nu se !odific atunci c*nd se sc$i!b suportul de !e!orare fizic ceea ce asi%ur i!unitatea structurii bazei de date i a aplicaiilor la !odificri ale siste!ului $ard:are utilizat. 1.3. Clasificarea sistemelor de baze de date Se pot lua #n considerare !ai !ulte criterii de clasificare ale siste!elor de baze de date.

1.3.1. Clasificare dup modelul de date Ma(oritatea siste!elor de baze de date actuale sunt realizate #n !odelul de date relaional sau #n !odelul de date orientat obiect. &ezvoltarea continu a acestor !odele a condus ctre o nou cate%orie de baze de date nu!ite obiect0relaionale care co!bin caracteristicile !odelului relaional cu caracteristicile !odelului orientat obiect. &odelul de date relaional se bazeaz pe noiunea de relaie din matematic, care corespunde unei entiti de acelai tip i are o reprezentare uor de neles i de manipulat, ce const dintr(un tabel bidimensional, compus din linii i coloane #iecare linie din tabel reprezint o entitate i este compus din mulimea valorilor atributelor entitii respective, fiecare atribut corespunz)nd unei coloane a tabelului Modelul de date relaional a fost propus de cercettorul 9 .F. Codd de la co!pania I-M care a publicat #n ,;<= lucrarea >*n model relaional de date pentru bnci mari de date parta+ate?. Alte lucrri ale lui Codd ca i ale altor cercettori ca @. -oAce B.&. Cll!an etc au perfecionat !odelul de date relaional i au per!is dezvoltarea siste!elor de baze de date. C$iar dac noiunile de relaie i tabel difer #n esena lor relaia reprezent*nd o !uli!e de entiti i tabelul o reprezentare vizual a acesteia cele dou denu!iri se pot folosi #n %eneral pentru acelai scop. Pe baza acestor noiuni se poate sintetiza esena !odelului relaional prin ur!toarele caracteristici: 0 &atele sunt percepute de utilizatori ca tabele8 0 Asocierea dintre tabele se realizeaz prin inter!ediul e%alitii valorilor unor atribute co!une ceea ce per!ite rezolvarea oricrei intero%ri8

Pe l*n% avanta(ul unui !odel de date precis i si!plu siste!ele de baze de date relaionale !ai beneficiaz i de un li!ba( de pro%ra!are recunoscut i acceptat li!ba(ul SD1 E pentru care au fost e!ise !ai !ulte standarde de ctre 7r%anizaia Internaional de
4

Structured ,uer- .an!ua!e

StandardizareF. Ma(oritatea siste!elor de %estiune a bazelor de date relaionale actuale i!ple!enteaz versiunea din anul ,;;. a standardului pentru li!ba(ul SD1 denu!it SD1 ;. sau SD1.. &odelul de date orientat obiect/ este un concept unificator n tiina calculatoarelor, fiind aplicabil n pro!ramare, n proiectarea 0ard1are, a interfeelor, a bazelor de date etc Sistemele de baze de date orientate obiect se bazeaz pe limba+e de pro!ramare orientate obiect cu capaciti de persisten, n care datele sunt independente de timpul de via al pro!ramelor care le creeaz sau acceseaz, prin memorare pe suport ma!netic 2disc3 9"ist i unele do!enii #n special cele care !anipuleaz tipuri de date co!ple"e cu! ar fi proiectarea asistat de calculator siste!e de infor!aii %eo%rafice !edicin etc #n care !odelul relaional s0a dovedit a fi insuficient de e"presiv i cu perfor!ane de e"ecuie reduse. Caracteristicile i!portante ale !odelului orientat obiect sunt: abstractizarea !otenirea #ncapsularea !odularizarea. &odelul de date obiect(relaional4 reprezint extinderea modelului relaional cu caracteristici ale modelului obiect, extindere necesar pentru realizarea bazelor de date care definesc i prelucreaz tipuri de date complexe. +n esen !odelul obiect0relaional pstreaz structurarea datelor #n relaii 5reprezentate ca tabele6 dar adau% posibilitatea definirii unor noi tipuri de date pentru do!eniile de valori ale atributelor. )ipurile de date definite de utilizator pot fi e"tinse prin !ecanis!ul de !otenire i pentru fiecare tip sau subtip se pot defini !etode pe care le pot e"ecuta obiectele de acel tip. &e ase!enea !ai sunt #nc #n funciune baze de date !odele !ai vec$i: !odelul ierar$ic i !odelul reea. 5n modelul de date ierar0ic6 o baz de date se reprezint printr(o structur ierar0ic de nre!istrri de date 2records3 conectate prin le!turi 2lin7s3 &odelul ierar0ic a fost primul model folosit pentru dezvoltatea bazelor de date Sc$e!a conceptual a unei baze de date #n !odelul ierar$ic se reprezint printr0un nu!r oarecare de sc$e!e ierar$ice. 7 sc$e! ierar$ic este un arbore direcionat reprezentat pe !ai !ulte niveluri #n care nodurile sunt tipurile de #nre%istri iar arcele sunt tipurile de le%turi. Fiecare nod 5cu e"cepia nodului rdcin6 are o sin%ur le%tur ctre un nod de pe un nivel superior 5nodul printe6 i fiecare nod 5cu e"cepia nodurilor frunz6 are una sau !ai !ulte le%turi ctre noduri de pe nivelul i!ediat inferior 5noduri fii6. &odelul de date reea8 folosete o structur de !raf pentru definirea sc0emei conceptuale a bazei de date9 nodurile !rafului sunt tipuri de entiti 2nre!istrri, records3, iar muc0iile !rafului reprezint n mod explicit asocierile:; dintre tipurile de entiti. 'nternational Standardization Office ( 'SO Ob+ect &odel 7 Ob+ect(%elational &odel 8 <ierarc0ical &odel 9 =et1or7 &odel 10 le!turile, lin7s
5 6

1a fel ca i !odelul ierar$ic dezavanta(ul principal al !odelului reea este acela c fiecare intero%are trebuie s fie prevazut #nc din faza de proiectare prin !e!orarea e"plicit a le%turilor #ntre tipurile de entiti. +n plus co!ple"itatea reprezentrii datelor #n !odelul reea este deosebit de ridicat iar pro%ra!atorii trebuie s o cunosasc pentru a putea realiza aplicaiile necesare. 1.3.%. Clasificare dup numrul de utilizatori. Ma(oritatea siste!elor de baze de date sunt siste!e multiutilizator adic per!it accesul concurent 5#n acelai ti!p6 a !ai !ultor utilizatori la aceeai baz de date. 9"ist i un nu!r redus de siste!e monoutilizator adic suport accesul doar al unui utilizator 5la un !o!ent dat6. 1.3.3. Clasificare dup numrul de staii pe care este stocat baza de date 7 alt clasificare este cea dup nu!rul de staii pe care este stocat baza de date. 9"ist dou cate%orii de siste!e de baze de date: centralizate i distribuite. Cn siste! de baze de date centralizat:: este un siste! de baze de date #n care datele i siste!ul de %estiune sunt stocate pe un sin%ur calculator. Cn siste! de baze de date distribuit:> poate avea at*t datele c*t i siste!ul de %estiune distribuite pe !ai !ulte calculatoare interconectate printr0o reea de co!unicaie. 1.4. Securitatea i protecia datelor in bazele de date Prin protecia i securitatea datelor se #nele%e totalitatea !i(loacelor !etodelor i a !ecanis!elor destinate prevenirii distru%erii !odificrii sau folosirii neautorizate a infor!aiei prote(ate. @eferitor la protecia i securitatea datelor #n literatura de specialitate se definesc ur!toarele concepte de baz: 0 Securitatea datelor 2 totalitatea !surilor de protective #!potriva distru%erii accidentale sau intenionate a !odificrii neautorizate sau a divul%rii acestora 0 Caracterul secret 2 este un concept ce se aplic la un individ sau or%anizaie i const #n dreptul acestora de a decide ce infor!aii se pot folosi #n co!un i #n ce condiii 0 Confidenialitatea 2 se aplic la date i se refer la statutul acordat acesta reprezent*nd nivelul sau %radul de protecie ce trebuie acordat infor!aiei respective 0 Integritatea 2 se refer la restricia ca sensul datelor s nu difere fa de cel #nscris pe docu!entul surs i!pun*nd totodat ca datele s nu fie alterate accidental sau voit. Goiunile de !ai sus sunt str*ns le%ate #ntre ele !surile pariale se suprapun i se acoper reciproc. Securitatea i protecia datelor din baza de date constituie un do!eniu foarte vast care prezint dou aspecte principale: pe de o parte ele!entele le%ale i etice privind drepturile de acces la anu!ite infor!aii iar pe de alt parte ele!entele le%ate de or%anizarea siste!elor infor!atice din punct de vedere al posibilitilor de acces la datele stocate. Cnele infor!aii care e"ist #n baza de date sunt strict private i nu pot fi accesate le%al de ctre persoane neautorizate. &iferite re%le!entri %uverna!entale sau le%i e"istente #n
11 12

Centralized Database S-stem Distributed Database SAste!

!a(oritatea rilor stabilesc ce infor!aii privind activitatea instituiilor sau a persoanelor pot fi fcute publice i #n ce condiii. 1a nivelul siste!elor infor!atice se pot diferenia aspect de securitate la nivel fizic 5$ard:are6 la nivelul siste!ului de operare i la nivelul siste!ului de %estiune al bazei de date. %.1. Componentele unui sistem de baze de date *n sistem de baze de date 2Database S-stem3 reprezint un ansamblu de componente care asi!ur crearea, utilizarea i ntreinerea uneia sau mai multor baze de date Componentele unui sistem de baze de date sunt$ 0ard1are, soft1are, utilizatori, date persistente %.1.1. 5ard6are Calculatoarele pe care sunt instalate de obicei siste!ele de baze de date sunt PC standard dar i calculatoare !ultiprocesor foarte puternice. Perfor!anele %enerale de operare ale calculatorului influeneaz #n !od corespunztor perfo!anele siste!ului de baze de date. Cea !ai i!portant caracteristic a calculatorului pe care funcioneaz siste!ul de baze de date este capacitatea $arddisH0ului utilizat pentru !e!orarea datelor din baza de date. %.1.%. Soft6are +ntre baza de date 5colecia de date !e!orate fizic #n fiiere pe $arddisH0uri6 i utilizatorii siste!ului e"ist un nivel soft:are nu!it siste! de %estiune a bazei de date ,4. 7 baz de date co!puterizat poate fi %enerat i !eninut fie cu a(utorul unui %rup de pro%ra!e de aplicaie specifice acestui scop fie cu acest S3-&. pro%ra!e de aplicaie specifice acestui scop fie cu acest S3-&. Componentele sistemului de baze de date Siste!ul de %estiune al bazei de date este un interpretor de cereri el recepion*nd de la utilizatori anu!ite cereri de acces la baza de date le interpreteaz e"ecut operaiile respective i returneaz rezultatul ctre utilizatori. &e fapt S3-& este un siste! de pro%ra!e %eneral ce faciliteaz procesul definirii construciei i !anipulrii datelor pentru diverse aplicaii. Definirea bazei de date presupune specificarea tipurilor de date ce vor fi stocate #n baza de date precu! i descrierea detaliat a fiecrui tip de dat8 0 Construcia bazei de date reprezint procesul stocrii datelor #nsi prin !ediul controlat prin S3-&8 0 Prin manipulare se #nele% o serie de funcii ce faciliteaz i!ple!entarea cererilor pentru %sirea datelor specificate adu%area de noi date ce reflect !odificarea conte"tului %enerearea de rapoarte pe baza coninutului bazei de date. +n concluzie pac$etul soft:are ce asi%ur !anipularea datelor #!preun cu datele #nsi 5coninutul bazei de date6 for!eaz ceea ce se nu!ete siste!ul de baze de date. Cn S3-& ofer utilizatorilor o viziune a datelor stocate #n baza de date ne!aifiind necesar cunoaterea or%anizrii particulare a siste!ului asi%ur o protecie a datelor fa de accese neautorizate i de anu!ite defecte de funcionare. %.1.3. ,tilizatorii
13

S?BD 0 &ata-ase Mana%e!ent SAste!

0 0

Ctilizatorii unui siste! de baze de date se #!part #n c*teva cate%orii: Pro!ramatorii de aplicaii sunt cei care dezvolt aplicaiile de baze de date #n anu!ite !edii de pro%ra!are8 *tilizatorii obinuii sunt acei utilizatori care acceseaz baza de date prin inter!ediul unei aplicaii de baze de date. Aceti utilizatori au drepturi li!itate asupra accesului la datele din baza de date ei neav*nd cunotine aprofundate asupra structurii i a datelor din acea baz de date8 @dministratorul bazei de date 5&ata-ase Ad!inistrator6 care este o persoan autorizat care are ca sarcin ad!inistrarea resurselor autorizarea accesului la baza de date a coordonrii i !onitorizrii utilizatorilor acelei baze de date.

%.1.4. +ate persistente &atele !e!orate #ntr0o baz de date sunt date persistente adic date care r!*n !e!orate pe suport !a%netic independent de e"ecuia pro%ra!elor de aplicaii. &atele persistente ale unei baze de date se introduc se ter% sau se actualizeaz #n funcie de date de intrare provenite de la tastatur. Iniial datele de intare sunt date nepersistente ele devenind persistente dup ce au fost validate de S3-&. &atele de ieire ale unui siste! de baze de date sunt tot date nepersistenete ele provenind din operaii de intero%are a bazei de date i puse la dispoziie utilizatorului sunt for! de raport afiare etc. %.%. Ar7itectura intern a sistemlor de baze de date Ar$itectura intern a unui siste! de baze de date conine trei niveluri funcionale ce vor fi descrise !ai (os. Cna din caracteristicile funda!entale a bazelor de date este dat de faptul c produce c*teva niveluri de abstractizare a datelor prin ascunderea detaliilor le%ate de stocarea datelor detalii ce nu sunt utile utilizatorilor bazei de date. Se definete !odelul datelor ca un set de concepte ce poate fi utilizat #n descriereea structurii datelor. Prin structura bazei de date se #nele%e tipul datelor le%tura dintre ele restriciile ce trebuie #ndeplinite de date. Cele !ai !ulte baze de date includ un set de operaii ce specific !odul de acces la date. 7 structur de date asociat unei baze de date poate fi reprezentat pe trei niveluri av*nd ca scop separarea aplicaiilor utilizatorului de baza de date fizic. Sc$e!a bazei de date pe cele trei niveluri poate fi vzut astfel: 0 =ivelul intern constituit din sc$e!a intern ce descrie structura de stocare fizic a datelor #n baza de date utiliz*nd un !odel al datelor fizice. 1a acest nivel se descriu detaliile co!plete ale stocrii precu! i !odul de acces la date. 0 =ivelul conceptual sau sc$e!a conceptual descrie structura #ntre%ii baze de date pentru o co!unitate de utilizatori. 1a nivelul conceptual se face o descriere co!plet a bazei de date ascunz*nd detaliile le%ate de stocarea fizic concentr*ndu0se asupra descrierii entitilor tipurilor de date relaiilor dintre ele precu! i a restriciilor asociate. Poate fi utilizat cu bune rezultate la !odel de nivel #nalt sau un !odel specific de i!ple!entare. 0 =ivelul extern sau nivelul vizual 5utilizator6 include o colecie de sc$e!e e"terne ce descriu baza de date prin pris!a diferiilor utilizatori. Fiecare %rup de utilizatori descrie baza de date prin pris!a propriilor interese. 9"ist tendina la acest nivel ca %rupuri de utilizatori s ascund detalii de care nu sunt interesate. Ii la acest nivel se pot folosi !odele de i!ple!etare sau !odele de nivel #nalt.

&esi%ur c #n !ulte S3-& nu se poate face o distinctive net #ntre cele trei nivele. Cu toate acestea se poate re!arca la !a(oritatea S3-& un nivel conceptual puternic ce suplinete aparent de cele !ai !ulte ori celelalte niveluri. &e ase!enea se re!arc o contopire !ai ales la dezvoltarea aplicaiilor a nivelului conceptual i e"tern. Se re!arc faptul c ar$itectura pe trei niveluri reprezint nu!ai o descriere a datelor la nivel fizic. %.3. Independena datelor Aceast or%anizare pe trei niveluri a siste!elor de baze de date este i!portant pentru c e"plic conceptul de independen a datelor prin posibilitatea !odificrii siste!ului bazei de date la orice nivel fr a influena nivelurile superioare. Independena datelor se poate defini #n dou !oduri aferente nivelurilor conceptual i intern. 0 'ndependena lo!ic$ prin aceasta se #nele%e capacitatea sc$i!brii sc$e!ei conceptuale fr a atra%e dup sine sc$i!bri #n sc$e!a e"tern sau #n pro%ra!ele de aplicaie. 9ste posibil sc$i!barea sc$e!ei conceptuale prin e"pandarea bazei de date ca ur!are a adu%rii de noi tipuri de #nre%istrri sau a datelor insi sau prin reducerea bazei de date ca ur!are a reducerii #nre%istrrilor8 0 'ndependena fizic$ este reprezentat prin capacitatea de sc$i!bare a sc$e!ei interne fr sc$i!barea sc$e!ei conceptuale sau e"terne. Sc$i!barea sc$e!ei conceptuale poate surveni ca ur!are reor%anizrii fizice a unor fiiere prin crearea de noi structuri de acces !enite s asi%ure accesul eficient la date. &ac siste!ul conine S3-& pe !ai !ulte niveluri catalo%ul trebuie s reflecte !odul #n care diverse cereri se i!ple!enteaz la fiecare nivel. %.4. "imba2e SGB+ S3-& trebuie s ofere li!ba(ele corespunztoare tuturor cate%oriilor de utilizatori. &up proiectarea bazei de date i ale%erea S3-& este foart i!portant construirea sc$e!ei interne i conceptuale a bazei de date. Cu! #n cele !ai !ulte situaii nu e"ist o separaie net #ntre cele dou nivele un li!ba( nu!it Data Definition .an!ua!e:A este utilizat de ad!inistratorul bazei de date i de proiectantul bazei de date #n definirea a!belor sc$e!e. Cn co!pilator &&1 proceseaz instruciunile pentru identificarea descrierilor despre construcie i !e!oreaz aceasta #n catalo%ul S3-&. +n S3-& cu o clar separaie #ntre nivelul conceptual i cel intern &&1 este utilizat pentru specificarea sc$e!ei conceptuale. Cn alt li!ba( nu!it Stora!e Definition .an!ua!e:B este utilizat pentru specificarea sc$e!ei interne. 1e%tura #ntre cele dou nivele de i!ple!entare este asi%urat de unul din cele dou. +n %eneral fr specificare e"plicit referirea la definirea bazei de date presupune utilizarea &&1. Instruciunile #n li!ba( &&1 pot fi #n%lobate #ntr0un li!ba( %eneral de pro%ra!are sau pot fi co!pilate separat. 7dat sc$e!a co!pilat i baza de date populat cu date utilizatorul are o serie de facilitate pentru !anipularea datelor. 7peraiile tipice includ cutarea inserarea ter%erea i !odificare datelor. Pentru aceasta S3-& dispune de Data &anipulation .an!ua!e :/ 1a r*ndul su &M1 poate fi #!prit #n dou co!ponente: 0 un &M1 de nivel #nalt8
14 15

&&1 S&1 16 &M1

un &M1 de nivel sczut8

Seciunea &M1 de nivel #nalt sau neprocedural este utilizat pentru specificarea operaiilor co!ple"e #n baza de date #ntr0o for! concis. +n %eneral operaiile utiliz*nd aceast seciune sunt realizate fie #ntr0o for! interactiv de la ter!inal fie prin utilizarea unui li!ba( de pro%ra!are universal. Seciunea &M1 de nivel sczut sau procedural este realizat utiliz*nd un li!ba( de pro%ra!are %eneral. Cu aceast seciune se realizeaz operaiile tipice cu! sunt refacerea unei #nre%istrri individuale procesarea separat a #nre%istrrilor bazei de date. &in !otivul c opereaz asupra #nre%istrrilor individuale aceast prelucrare se !ai nu!ete i #nre%istrare cu #nre%istrare. 7 co!and pentru &M1 de nivel #nalt specific o cerere de acces la date dar nu specific !odul #n care se realizeaz acasta. &in acest !otiv acest li!ba( se nu!ete declarativ. 7ricu! co!enzile &M1 fie de nivel #nalt fie de nivel sczut sunt i!ple!entate #ntr0un li!ba( de pro%ra!are %eneral li!ba( nu!it i li!ba( %azd iar &M1 este nu!it li!ba( de date. &M1 de nivel #nalt utlizat #ntr0o !anier interactiv for!eaz ceea ce se nu!ete Cuer- lan!ua!e:4. %.8. Interfee SGB+ S3-& trebuie s ofere interfee corespunztoare tuturor cate%oriilor de utilizatori. Aceste interfee au ca scop facilitarea le%turii #ntre utilizatori i siste!ul de baze de date. Principalele tipuri de interfee oferite de S3-& sunt: 0 'nterfee bazate pe meniuri. Acestea ofer utilizatorului o list de opiuni nu!ite !eniuri care #i a(ut la for!ularea cererilor 0 'nterfee !rafice. Aceste interfee afieaz utilizatorului o dia%ra!. Ctilizatorul poate for!ula cererea prin !anipularea acestei dia%ra!e. +n cele !ai !ulte cazuril interfeele %rafice sunt co!binate cu !eniuri. 0 'nterfee bazate pe forme. Aceste interfee sunt acelea prin inter!ediul crora utilizatorul poate co!pleta for!ele cu noile date pe care le dorete s le insereze sau folosete aceste for!e pentru a cere S3-& s obin datele de interes. 0 'nterfee n limba+ natural. Aceste interfee accept cereri scrise #n li!ba en%lez sau alte li!bi de circulaie internaional. 7 interfa #n li!ba( natural conine uzual o sc$e! proprie si!ilar cu sc$e!a conceptual a bazelor de date 0 'nterfee specializate aferente cererilor repetate Aceste interfee sunt destinate unei anu!ite cate%orii de utilizatori de e"e!plu utilizatorii care se ocup de operaiile dintr0o banc. 0 'nterfee pentru administratorii bazelor de date Acestea sunt utilizate #n i!ple!entarea co!enzilor privile%iate ce sunt folosite de ad!inistratorii bazelor de date. %.9. E:emple de SGB+ +n !o!entul de fa pe pia e"ist o ofert foarte !are de siste!e de %estiune a bazelor de date de la siste!e care se pot folosi %ratuit 5fr licen sau cu licen public6 p*n la siste!e de #nalt perfor!an a cror utilizare necesit cu!prarea de licene. Pentru aceste siste!e e"ist pe site0urile productorilor versiuni de test nu!ite trial version pentru care nu se

17

1i!ba( de intero%are a bazelor de date

pltete licen durata folosirii respectivului produs fiind li!itat la un nu!r de zile 54= J= zile #n funcie de productor6. &icrosoft S,. Server este siste!ul de %estiune a bazelor de date relaionale !ulti0 utilizator dezvoltat de fir!a Microsoft pentru siste!ele de operare /indo:s. 9"ist o interfa %rafic pentru interaciunea cu utilizatorul pentru folosirea tuturor opiunilor: de e"portK i!port date de creare i !anipulare a tabelelor pentru popularea cu date a tabelelor de creare a intero%rilor a procedurilor stocate a tri%%erelor etc. &icrosoft @ccess este unul din cele !ai cunoscute siste!e de %estiune a bazelor de date relaionale pe platfor!e decalculatoare personale. Sistemul Oracle este un siste! de %estiune al bazelor de date !ulti0utilizator foarte puternic cu i!ple!entri pe toate platfor!ele 5/indo:s 1inu" Cni"6 care ofer at*t perfor!ane de e"ecuie ridicate c*t i un %rad !are de protecie i securitate a datelor. &-S,. este un siste! de %estiune a bazelor de date relaionale cu i!ple!entri pentru siste!ele de operare 1inu" Cni" /indo:s. Acest siste! se poate utiliza %ratuit fiind open source. 'B& DB> este un siste! de %estiune al bazelor de date al fir!ei I-M. Acest siste! asi%ur inte%ritatea datelor ofer o securitate sporit pentru date are o interfa %rafic pentru %estionarea bazei de date. &ispune ca i Microsoft SD1 Sever i 7racle de posibilitatea crerii de proceduri stocate acestea fiind nite proceduri care ruleaz pe server i asi%ur o vitez !ai !are de rspuns. 3.1. -roiectarea Proiectarea unei baze de date const din proiectarea lo%ic i fizice a acesteia pentru a corespunde cerinelor utilizatorilor pentru un anu!it set de aplicaii. +n %eneral vo! considera c proiectarea corect a unei baze de date trebuie s parcur% ur!toarele etape: 0 Analiza cererilor i str*n%erea de infor!aii referitoare la aplicaie8 0 Proiectarea conceptual a bazei de date8 0 Ale%erea unui siste! de %estiune al bazelor de date8 0 Proiectarea lo%ic a bazei de date8 0 Proiectarea fizic a bazei de date8 0 I!ple!entarea bazei de date i a aplicaiei8 +nainte de a se proiecta efectiv o baz de date este necesar s se cunoasc ce rezultate se ateapt potenialii utilizatori s obin de la baza de date respectiv i docu!entarea asupra infor!aiilor ce sunt disponibile pentru aceasta. &e ase!enea este necesar i definirea c*t !ai e"act a aplicaiei. 3.%. ;odelul entitate<relaie. *biectele bazelor de date relaionale Modelul entitate0relaie este cel !ai utilizat !odel conceptual de nivel #nalt care reprezint sc$e!a conceptual a bazei de date cu a(utorul entitilor i a relaiilor dintre acestea. Acest !odel a fost introdus #n anul ,;<J de P.S.C$en. 9le!entele de baz folosite #n cadrul acestui !odel sunt conceptele de entitate i cel de relaie. 7 entitate este un obiect al lu!ii reale cu o e"istent independent i poate reprezenta un obiect fizic o activitate un concept. 7 entitate este un obiect cu e"isten fizic de e"e!plu: persoan particular auto!obil co!panie activitate curs universitar.

7rice entitate are o serie de proprieti nu!ite atribute ce descriu entitatea respectiv. Cu toate c nu reprezint acelai lucru pentru denu!irea de entitate se !ai folosete i denu!irea de tabel al bazei de date iar pentru atribute c*!purile tabelului. Atributelor li se asociaz valori care au ca scop identificarea entitii. Aceast atribuire de valori pentru fiecare atribut for!eaz o =nregistrare a tabelului respectiv Scurte definiii a noiunilor pe care le0a! folosit i le vo! folosi #n continuare sunt: )abel 5entitate6 este o colecie de infor!aii lo%ice relaionale tratat ca o unitate +nre%istrare 5n0uplu6. 7 tabel este co!pus din #nre%istrri sau r*nduri. Fiecare #nre%istrare este tratat ca o si!pl unitate. Fiecare #nre%istrare este le%at de #nre%istrri ale altei tabele. 0 C*!puri 5atribute6. +nre%istrrile sunt constituite din c*!puri 5coloane6 . Cn c*!p este o particul ato!ic a bazei de date ce reprezint cea !ai !ic cantitate de infor!aie care poate fi !anipulat. )oate #nre%istrrile dintr0o tabel au aceleai c*!puri. Cnele atribute pot fi divizate #n !ai !ulte pri cu se!nificaie independent. Cn astfel de atribut este un atribut comple:. Atributele care nu sunt co!puse se nu!esc atribute atomice Laloarea atributelor co!ple"e se for!eaz prin concatenarea valorilor atributelor ato!ice. Multe atribute au valoare unic pentru o entitate particular i sunt nu!ite atribute cu o singur valoare. Atributele derivate sunt atributele ce se pot deter!ina din alte atribute cu! ar fi v*rsta unei persoane se poate calcula din data curent !inus data naterii persoanei respective. +n anu!ite situaii o entitate poate s nu aib valori pentru toate atributele asociate ei #n acest caz folosindu0se o valoare special nu!it atributul null. 0 0 3.3. Construcia sc7emelor relaie +n proiectarea bazelor de date se definesc relaii sau asocieri #ntre !uli!ile de entiti co!ponente pentru a reprezenta anu!ite aspecte ale realitii pe care o !odeleaz baza de date. 7 relaie este o coresponden #ntre entiti din una sau !ai !ulte !uli!i de entiti. 3radul unei relaii este dat de nu!rul de !uli!i de entiti asociate. @elaiile pot fi binare 5#ntre . !uli!i de entiti6 sau !ultiple 5#ntre !ai !ult de . entiti6. 3.3.1. #elaia >unul<la<unul? @1<1 sau one to oneA @elaia Munul0la0unul? este cel !ai si!plu tip de relaie. 9a este relaia prin care unui ele!ent din !uli!ea 9, #i corespunde un sin%ur ele!ent din !uli!ea 9. i reciproc. Aceast relaie Munul0la0unul? este foarte rar folosit #n lu!ea real. Cel !ai des ea este folosit pentru a reduce nu!rul de atribute dintr0o entitate pentru a nu depi nu!rul !a"i! de c*!puri asociate pentru o tabel acesta fiind de circa .FF. Se !ai poate folosi i #n cazul #n care dori! desprirea ele!entelor fi"e a infor!aiilor care se !odific !ai rar fa de cele care se !odific destul de des. 3.3.%. #elaia >unul<la<multe? @1<( sau one to manBA Aceast relaie este o relaie prin care unui ele!ent din !uli!ea 9, #i corespund unul sau !ai !ulte ele!ente din !uli!ea 9. dar unui ele!ent din !uli!ea 9. #i corespunde un sin%ur ele!ent din !uli!ea 9,.

3.3.3. #elaia >multe<la<multe? @;<( sau manB to manBA Aceast relaie este o relaie prin care unui ele!ent din !uli!ea 9, #i corespund unul sau !ai !ulte ele!ente din !uli!ea 9. i reciproc. Acest tip de relaie este foarte des #nt*lnit dar nu poate fi i!ple!entat #n bazele de date relaionale. &e fapt pentru !odelarea acestei relaii se folosete o relaie supli!entar de tip unul0la0!ulte pentru fiecare din relaiile iniiale. 3.3.4. #elaia unar )oate relaiile prezentate anterior sunt relaii binare av*nd c*te dou relaii i!plicate. @elaiile unare folosesc doar o sin%ur relaie aceasta fiind asociat cu ea #nsi. 3.8. Constr ngeri de integritate Constr*n%erile de inte%ritate sunt re%uli care se definesc la proiectarea unei baze de date i care trebuie s fie respectate de0a lun%ul e"istenei acesteia. 9ntitiile unei baze de date reflect realitatea !odelat i de aceea valorile pe care le conin trebuie s respecte anu!ite re%uli care s corespund celor din realitate. Lo! folosi #n continuare pentru ter!enul de entitate denu!irea tabel. Constr*n%erile se pot clasifica astfel: 0 #n cadrul tabelei8 0 sau #ntre tabele8 Constr*n%erile din cadrul unei tabele sunt re%uli care se i!pun #n cadrul unei sin%ure tabele i asi%ur inte%ritatea datelor acesteia. 9le sunt de 4 cate%orii: 0 constr ngeri de domeniu. Aceste constr*n%eri sunt condiii care se i!pun valorilor atributelor i asi%ur inte%ritatea do!eniilor atributelor. 0 const ngeri de nuplu 5de #nre%istrare din tabel6. Aceste constr*n%eri sunt condiii care se i!pun nuplurilor unei entiti 5#nre%istrrilor din tabel6 i asi%ur identificarea corect a nuplurilor prin inter!ediul c$eilor pri!are. 0 constr ngeri impuse de dependene de date 5dependene funcionale6. Acestea sunt constr*n%eri prin care valorile unor atribute ale unei entiti 5c*!puri ale tabelei6 deter!in valorile altor atribute ale aceleiai entiti. Constr*n%erile #ntre tabele sunt re%uli care se i!pun #ntre dou sau !ai !ulte relaii. Cele !ai i!portante sunt constr*n%erile de inte%ritate referenial care se realizeaz prin 3.8.1. Constr ngerile de domeniu Constr*n%erile de do!eniu sunt condiii i!puse valorilor atributelor pentru ca acestea s corespund se!nificaiei pe care o au #n realitatea !odelat. +n reprezentarea unei entiti printr0 un tabel valorile atributelor sunt reprezentate pe coloane. &in aceast cauz aceste constr*n%eri se !ai nu!esc i constr*n%eri de coloan. 0 Constr)n!erea =OD =*... Laloarea GC11 este o valoare particular care nu reprezint valoarea = ci lips de infor!aie. Aceast valoare GC11 poate aprea c*nd nu se cunosc respectivele infor!aii. +n astfel de situaii la definirea relaiilor se i!pune atributului constr*n%erea G7) GC11 #nse!n*nd c acest atribut nu poate lua valoare GC11 #n orice #nre%istrare din tabel

Constr)n!erea DE#@*.D Aceast constr*n%ere este folosit pentru stabilirea unei valori i!plicite 5&9FAC1)6 pentru un atribut al entitii. +n cazul #n care la inserarea unui nuplu 5#nre%istrri6 nu se specific valoarea unui atribut 5c*!p6 atunci acesta pri!ete valoarea i!plicit 5dac a fost definit6 sau valoarea GC11 5dac nu a fost definit o valoare i!plicit pentru atributul respectiv dar sunt ad!ise valori GC116. &ac nu a fost definit o valoare i!plicit i nici nu sunt ad!ise valori GC11 se %enereaz o eroare. Constr)n!erea C<ECF Constr*n%erea CH9CN este dup cu! #i spune i nu!ele o constr*n%ere de verificare. +n li!ba(ul SD1 care va fi prezentat #ntr0un capitol viitor do!eniile #n care pot lua valori atributele se pot stabili ca tipuri de date predefinite. Pentru fiecare atribut se pot adu%a constr*n%eri de verificare la definirea tabelului.

3.8.%. Constr ngerile referitoare la n<upluri @=nregistrrile din tabelA < C7eia primar 7 entitate este definit ca o !uli!e de n0upluri. &eci n0uplurile entitii trebuie s fie distincte acest lucru #nse!n*nd c #ntr0o entitate nu pot e"ista dou sau !ai !ulte n0upluri care c conin acceai co!binaie de valori pentru fiecare atribut. 7 c$eie pri!ar a unei entiti 5tabele6 este o sub!uli!e de atribute ale entitii care are ur!toarele proprieti: 0 este unic adic orice co!binaie de valori ale atributelor acestei c$ei este unic pentru orice stare a relaiei 0 este stabil adic infor!aia corespunztoare ei nu se !odific niciodat prin operaii de actualizare a datelor 0 nu se ad!it valori GC11 pentru nici unul din atributele c$eii respective. +n concluzie o c$eie pri!ar reprezint unul sau !ai !ulte c*!puri ale tabelei care identific unic fiecare #nre%istrare din tabela respectiv. 3.8.3. Constr ngeri =ntre tabele @elaiile dintre tipurile de entiti definite #n !odelul conceptual al unei baze de date se realizeaz #n !odelul relational prin inter!ediul c$eilor strine. 7 c$eie strin este o sub!uli!e de atribute ale unei entiti 9, care refer entitatea 9. i #ndeplinete ur!toarele condiii: atributele c$eii strine din 9, sunt definite pe do!enii co!patibile cu cele ale atributelor c$eii din entitatea 9. i c$eia din entitatea 9. este c$eie pri!ar #n aceast relaie. Aceast c$eie strin deter!in o asociere #ntre c*!purile unor tabele cu cele ale altei tabele i creeaz abilitatea de realizare a unirii tabelelor respective prin inter!ediul operaiilor B7IG. Inte%ritatea referenial este proprietatea bazei de date care %aranteaz c oricare valoare a unei c$ei strine se re%sete printre valorile c$eii corespunztoare din relaia referit sau c$eia strin are valoarea GC11 5dac atributele acesteia nu sunt supuse constr*n%erii G7) GC116. 3.9. +ependene funcionale &ependena funcional definete relaia dintre un atribut sau un %rup de atribute ale unui tabel i un alt atribut sau %rup de atribute ale altuia. &up cu! a! specificat atributele se refr la c*!purile tabelei. Prin ur!are trebuie s vedei ce c*!puri depind de alte c*!puri. +n orice tabel pot e"ista dou cate%orii de dependene funcionale:

&ependene funcionale deter!inate de c$eile tabelei8 astfel de dependene funcionale nu produc redundana datelor i nici ano!alii de actualizare a relaiei8 0 &ependene funcionale #n care atributul deter!inat nu este o c$eie a tabelei8 astfel de dependene funcionale produc redundana datelor i ano!alii de actualizare a tabelei. Constr*n%erile de c$eie sunt constr*n%eri i!plicite coninute #n definiia relaiei i sunt verificate i i!puse auto!at de siste!ul de %estiune8 proiectantul bazei de date nu trebuie s prevad ni!ic supli!entar pentru ca aceste constr*n%eri s fie satisfcute de orice stare a relaiei. +n sc$i!b dependenele funcionale #n care atributul deter!inant nu este o c$eie a relaiei sunt constr*n%eri e"plicite care nu sunt verificate i nici i!puse de siste!ul de %estiune. Lerificarea i i!punerea acestor dependene funcionale se poate face nu!ai procedural prin tri%%ere proceduri stocate sau funcii i!puse #n pro%ra!ele de aplicaie. 3.C. (ormalizare. Forme normale. 1a proiectarea bazelor de date relaionale se stabilesc entitile din realitatea !odelat. Modul #n care se pot stabili entitile unei baze de date nu este unic i de accea este necesar s e"iste criterii de evaluare a calitii entitilor astfel #nc*t acestea s asi%ure inte%ritatea datelor. +n acest capitol se trateaz procesul nor!alizrii i pri!ele trei for!e nor!ale pentru o tabel. Procesul de nor!alizare propus de 9.F. Codd #n ,;<= ur!rete e"ecuia asupra unei tabele a unor serii de teste pentru a cerceta apartenena la for!a nor!al. Codd propune trei for!e nor!ale 54GF6 cea !ai bun definiie fiind dat !ai t*rziu de -oAce i Codd fiind cunoscut sub nu!ele de for!a nor!al -oAce0Codd. Gor!alizarea datelor poate fi privit ca un proces #n ti!pul cruia sc$e!ele tabel nesatisfctoare sunt desco!puse prin #!prirea atributelor #n tabele cu atribute !ai puine ce posed proprietile dorite. +n fond unul din obiectivele procesului de nor!alizare este asi%urarea faptului c tabela posed o bun construcie asi%ur*nd posibiliti de !odificare cu eli!inarea ano!aliilor care pot aprea. For!a nor!al ofer proiectantului bazei de date : 0 un sc$elet for!al pentru analiza relaiilor bazat pe c$ei i pe dependena funcional #ntre atribute 0 serie de teste ce pot eli!ina tabelele individuale astfel #nc*t baza de date relaional poate fi nor!alizat #n orice %rad. C*nd un test nu este trecut tabela va fi desco!pus #n tabele ce trec testele de nor!alitate 3.C.1. Forma normal de ordin 1 @F(1A For!a nor!al de ordin , este considerat ca fiind parte a definiiei for!ale a unei tabele. 9a nu per!ite atribute cu !ai !ulte valori attribute co!puse sau co!binaii ale lor. Aceasta stabilete ca do!eniul atributelor trebuie s includ nu!ai valori ato!ice i valoarea oricrui atribut #ntr0un nuplu este o valoare unic #n do!eniul atributului respectiv. &eci FG, nu per!ite un set de valori un nuplu de valori sau o co!binaie a acestora ca valoare a unui atribut pentru un nuplu. Cu alte cuvinte FG, nu per!ite tabele #n tabele sau tabele ca atribute ale nuplurilor. Lalorile per!ise de FG, sunt ato!ice sau indivizibile pentru un do!eniu specificat de valori.

3.C.3. Forma normal de ordin 3 @F(3A Pentru a a(un%e la a treia for! nor!al tabelul trebuie s fie de(a #n pri!a i a doua for! nor!al. Pentru a fi #n a treia for! nor!al trebuie ca toate c*!purile non0pri!are s depind nu!ai de c*!purile pri!are. &ei nu face parte #n !od ri%uros din nor!alizare de obicei nu este reco!andabil s includei c*!puri care pot fi derivate din alte c*!puri situate #n acelai tabel sau #n tabelele aflate #n relaie. 3.C.4. Forma normal BoBce<Codd @F(BCA For!a nor!al -oAce0Codd este o for! strict FG4 #nele%*nd prin aceasta c fiecare tabel FG-C este #n acelai ti!p o tabel FG4 cu toate c o tabel FG4 nu este #n !od necesar i o tabel FG-C. Cele dou for!e sunt ase!ntoare a!bele i!pun*nd condiia ca atributul care deter!in functional alte atribute s fie o c$eie a tabelei. For!a nor!al -oAce0Codd este !ai restrictiv dec*t FG4 deoarece #n FG-C se i!pune aceast condiie tuturor atributelor pri!e sau nepri!e pe c*nd #n FG4 condiia se i!pune nu!ai atributelor nepri!e. Atributele pri!e sunt atributele care aparin unei c$ei iar celelalte se nu!esc atribute nepri!e. 7rice tabel for!at din dou atribute este FG-C FG. i FG4. Aceast tabel co!pus din dou atribute este FG. deoarece fie c$eia este for!at din a!bele atribute i atunci nu e"ist atribute nepri!e fie c$eia este for!at dintr0unul din atribute iar dependena funcional a celuilalt atribut 5care este atribut nepri!6 fa de c$eie este total. Aceast tabel co!pus din dou atribute este FG4 deoarece este FG. i nu poate e"ista nici un atribut nepri! care s deter!ine funcional un alt atribut nepri! deoarece o tabel cu dou atribute nu poate avea dec*t cel !ult un atribut nepri!. 3.'. Structuri de indeci =n tabelele de date Cn inde" reprezint o cale rapid de localizare a #nre%istrrilor dintr0o tabel prin %ruparea tuturor #nre%istrrilor pentru un anu!it atribut sau %rup de atribute. Inde"area este utilizat #n dou scopuri principale: 0 accelerarea cutrilor #n baza de date 0 asi%urarea unicitii #nre%istrrilor Lo! privi o relaie ca o colecie de date 5o !uli!e6 #n care nu sunt ad!ise ele!ente duplicat. +n cazul unei !uli!i reprezentate printr0o colecie neordonat de ele!ente ti!pul de cutare a unui ele!ent crete proporional cu nu!rul de ele!ente ale !uli!ii deoarece #n cazul cel !ai ru trebuie parcurse toate ele!entele !uli!ii pentru a %si ele!entul dorit. )i!pul de cutare a unui ele!ent poate fi !icorat considerabil dac ele!entele !uli!ii sunt ordonate. &e fapt inde"ul poate fi %*ndit ca o tabel cu dou atribute: pri!ul atribut conine valorile atributelor tabelei bazei de date pentru care se creaz inde"ul iar al doilea conine un pointer la locaia nuplurilor corespunztoare. Lalorile sunt aran(ate fie #n ordine descendent c$eii de inde"are fie #n ordine ascendent. Indecii se clasific dup tipul de c*!p sau dup nivel i dup !odul de or%anizare a tabelei. 7 clasificare a acestora este ur!toarea:

,. Inde:ul primar este un inde" asociat unei tabele ordonate dup c*!pul c$eie al tabelei iar #n structura de inde" se utilizeaz c*!pul c$eie. .. Inde:ul secundar este un inde" construit tot pe baza unui c*!p c$eie dar tabela nu este ordonat dup c*!pul c$eie. 4. Inde:ul de grup 5cluster6 este un inde" construit dup c*!puri ce nu sunt c*!puri c$eie 5criteriu de acces este diferit de c*!pul c$eie6 iar tabela poate fi ordonat sau nu relativ la criteriul de acces. E. Inde:ul multinivel 5se !ai nu!esc i indeci de blocuri6 se aplic oricror tabele. Principiul de baz este de a construe niveluri de inde"are p*n c*nd structura adiional de date corespunde inde"ului de cel !ai !are nivel poate fi !e!orat #ntr0un sin%ur bloc. Aceti indeci se construiesc #n dou for!e: bazai pe arbori - i bazai pe arbori -O. 4.4. "imba2ul standard S!" 4.4.1. Scurt istoric al limba2ului S!" SD1 a fost conceput ca un li!ba( standard de descriere a datelor i acces la infor!aiile din bazele de date ulterior dezvolt*ndu0se ca o adevrat te$nolo%ie dedicat ar$itecturilor client0server. Co!enzile principale #n cazul li!ba(ului SD1 se refer la cele cinci operaii de baz care se pot efectua #ntr0un li!ba( relaional: P CreareaKter%erea unei tabele P Inserarea de noi linii intr0o tabel P Iter%erea unor linii dintr0o tabel P Modificarea unor linii dintr0o tabel P 1istarea selectiv a datelor din una sau !ai !ulte tabele +n acest !ediu e"ist dou !oduri pentru crearea intero%rilor: !odul de scriere efectiv a cererilor #n partea de Dueries sau un !od %rafic !ult !ai prietenos utilizatorului nu!it &esi%n Lie:. Lo! prezenta intero%rile i #n pri!ul !od: SD1 LI9/ dar i #n !odul %rafic. 4.4.%. Crearea unei tabele Co!anda de creare de noi tabele #n baza de date curent #n li!ba(ul SD1 standard este C@9A)9 )A-19. Sinta"a si!plificat pentru aceast co!and este ur!toarea: C%E@DE D@B.E numeGtabela 2 coloanaG: descriereG:, coloanaG> descriereG>, HHHHHHHHH , coloanaGn descriereGn, IalteGdescrieriJ 3 unde coloanaQ" este nu!ele coloanei iar descriereQ" conine tipul valorilor acelei coloane i alte ele!ente de descriere pentru ea. +n descrierea unei coloane se poate specifica pe l*n% tipul valorilor sale i alte constr*n%eri de inte%ritate ca:

G7) GC11 indic faptul c valorile aferente coloanei respective nu pot avea valori de tip null care nu #nsea!n zero ci lips de infor!aie. 0 P@IMA@R N9R indic faptul c coloana specificat cu aceast constr*n%ere va fi c$eie pri!ar pentru acest tabel. 0 F7@9I3G N9R necesit ca fiecare valoare din coloan s e"iste #ntr0o coloan corespondent dintr0o tabel referit. Constr*n%erea F7@9I3G N9R poate face referire doar lacoloane care sunt P@IMA@R N9R sau CGIDC9 #n tabela referit. 0 &9FAC1) indic o valoare i!plicit care #l ia un c*!p al unei tabele. Intero%rile prezentate !ai departe vor fi fcute #n !odul SD1 LI9/. 4.4.4. Dtergerea unei tabele Iter%erea unei tabele se face cu co!anda &@7P )A-19.Sinta"a acestei co!enzi #n li!ba(ul SD1 standard este: D%OP D@B.E numeGtabel 4.4.8. ;odificarea structurii unei tabele Modificarea structurii unei tabele #n li!ba(ul SD1 standard se face cu co!anda A1)9@ )A-19. Aceast co!and este folosit pentru a adu%a coloane la tabele de baz din baza de date sau pentru a ter%e anu!ite constr*n%eri. 7 nou coloan adau%at prin aceast co!and va avea valoarea null #n toate #nre%istrrile care e"istau #n tabel. Sinta"a acestei co!enzi este: @.DE% D@B.E numeGtabela @DD coloanaGn descriereGn ID%OP constran!ereJ

4.8. ;odificri ale datelor =n S!" 4.8.1. Inserarea de noi linii =ntr<o tabel Co!anda IGS9@) care per!ite inserarea de noi linii #ntr0o tabel are ur!toarea sinta" si!plificat #n li!ba(ul SD1 standard: '=SE%D '=DO numeGtabela I2numeGcoloana, H3J "@.*ES 2valoareaGcoloanaG:, valoareGcoloanaG>,H3 Aceast co!and ne per!ite inserarea !anual de noi #nre%istrri. &ac este prezent lista de coloane 2numeGcoloana, H3 #nsea!n c se dau doar valori pentru aceste coloane pentru celelalte asi%n*ndu0se valori de null. 4.8.%. Dtergerea unor linii dintr<o tabel Sinta"a si!plificat a co!enzii SD1 #n li!ba(ul standard care ter%e liniile dintr0o tabel este ur!toarea:

DE.EDE #%O& numeGtabela IK<E%E conditieJ I.'&'D numarGliniiJ 9fectul acestei co!enzi este de ter%ere a liniilor care #ndeplinesc condiia din clauza /H9@9. 1IMI) se folosete pentru a specifica nu!rul !a"i! de linii care se pot ter%e cu acea co!and. +n cazul #n care clauza /H9@9 lipsete toate liniile tabelei vor fi eli!inate. 4.8.3. ;odificarea unor linii dintr<o tabel Sinta"a si!plificat a co!enzii SD1 #n li!ba(ul standard care !odific liniile dintr0o tabel este ur!toarea: *PD@DE numeGtabela SED colana:Lvaloare:, coloana>Lvaloare>, H IK<E%E conditieJ I.'&'D numarGliniiJ 9fectul acestei co!enzi este de actualizare a toturor liniilor care #ndeplinesc condiia din clauza /H9@9 sau a tuturor liniilor din tabel #n cazul #n care lipsete aceast clauz. Goile valor sunt date de clauza S9). 4.9. "imba2ul de cereri =n S!" @e%sirea datelor din una sau !ai !ulte tabele se face cu co!anda S919C). Sinta"a si!plificat a acesteia este: SE.ECD ID'SD'=CDJ listaGrezultat #%O& tabela sau tabele IK<E%E conditieJ I?%O*P BM coloana:, coloana>H J I<@"'=? conditieGdeG!rupJ IO%DE% BM coloana: I@SCNDESCJ,HJ &up cu! se observ doar clauzele S919C) i F@7M sunt obli%atorii celelalte reprezent*nd opiuni. 4.9.1. Cereri simple Cea !ai si!pl cerere este cea prin care se re%sesc toate infor!aiile dintr0o tabel. +n acest caz si!bolul S plasat l*n% clauza S919C) ine loc de lista tuturor coloanelor unei tabele. Clauza F@7M conine nu!ele tabelei. 4.9.%. Clauza +IS)I(C) +n cazul cererilor de p*n acu! din fiecare linie a tabelei rezult o linie a rezultatului c$iar dac uneori unele linii sunt identice. 4.9.3. Clauza *#+E# BE 7rdinea #n care apar liniile unui rezultat este dat de !odul #n care un siste! de %estiune stoc$eaz i re%sete infor!aia #n tabele. &in aceast cauz #n li!ba(ul SD1 e"ist posibilitatea de a sorta liniile unui rezultat #n funcie de necesitile utilizatorului. Criteriile de sortare se

definesc cu a(utorul clauzei 7@&9@ -R. Aceasta este #n !od nor!al ulti!a clauz care apare #ntr0o cerere i poate conine nu!e de coloane aliasuri de coloane sau nu!rul de ordine al coloanei #n rezultat. C*nd sunt specificate !ai !ulte criterii ele se aplic de la st*n%a la dreapta. 4.9.4. Clauza F5E#E P*n acu! #n afara cazurilor #n care se utilizeaz &IS)IGC) din fiecare linie a tabelei rezult o linie a rezultatului. Prin folosirea clauzei /H9@9 se poate specifica o condiie care indic liniile din tabela care vor avea asociat c*te o linie din rezultat. 4.9.8. Funcii de grup. Clauzele G#*,- BE i 5A$I(G 9"ist !ulte cazuri #n care se dorete obinerea de date statistice din infor!aiile coninute #n baza de date. Pentru aceasta se folosesc funciile de %rup care pe baza #nre%istrrilor din #ntrea%a tabel sau a celor care fac parte dintr0un %rup 0 #n cazul e"istenei clauzei 3@7CP -R 0 calculeaz valoarea statistic respectiv. Principalele funcii de %rup sunt: a. Funcia C*,() @numrareA av*nd !ai !ulte for!e: C7CG)5S6 #ntoarce nu!rul de #nre%istrri din %rup C7CG)5e"pr6 #ntoarce nu!rul de valori nenule pentru e"presia Ar%u!ent C7CG)5&IS)IGC) e"pr6 #ntoarce nu!rul de valori distincte pentru e"presia ar%u!ent. b. Funcia A$G @medieA AL35e"pr6 #ntoarce !edia arit!etic a valorilor unei e"presii c. Funcia ;I( @valoarea minimA MIG5e"pr6 #ntoarce valoarea !ini! a unei e"presii d. Funcia ;AG @valoarea ma:imA MAT5e"pr6 #ntoarce valoarea !a"i! a unei e"presii. Funciile Min i MAT se pot aplica i irurilor de caractere #n acest caz se folosete ordinea le"ico%rafic. e. Funcia S,; @suma valorilorA SCM5e"pr6 #ntoarce su!a valorilor unei e"presii sau GC11 #n cazul #n care #n %rupul pentru care se calculeaz su!a este vid. Lalorile nule nu sunt luate #n considerare la calcularea su!ei. Aa cu! a! !enionat #n cazul #n care cererea nu conine clauza 3@7CP -R valoarea funciilor este calculat pentru #ntrea%a tabel specificat #n clauza F@7M. 4.9.9. Clauza G#*,- BE Clauza 3@7CP -R se folosete pentru a %rupa #nre%istrrile pe baza unor criterii #n scopul calculrii de valori statistice pentru fiecare %rup #n parte. +n acest caz rezultatul cererii va conine c*te o linie pentru fiecare %rup identificat. Sintaxa: 3@7CP -R coloana, U coloana.VW

4.9.C. Clauza 5A$I(G &ac /H9@9 introduce o condiie de filtrare a #nre%istrrilor HALIG3 face acelai lucru pentru %rupuri: doar %rupurile care #ndeplinesc condiia coninut #n aceast clauz vor avea o linie #n rezultatul cererii. Condiia specificat prin HALIG3 este o e"presie lo%ic incluz*nd funcii de %rup sau constante la nivel de %rup. 4.9.'. Cereri conin nd mai multe tabele 7peraia prin care se obine un rezultat pe baza datelor din !ai !ulte tabele se nu!ete B7IG. +n cazul #n care clauza F@7M sunt specificate !ai !ulte tabele toate celelalte clauze sunt evaluate pornind de la produsul cartezian al tabelelor. Acesta este obinut 5teoretic6 prin concatenarea fiecrei linii a unei tabele cu fiecare dintre liniile celorlalte tabele. 8.1. Ce este un formularH For!ularele 5For!s6 reprezint ferestrele pri!are folosite pentru introducerea i afiarea datelor #n Access. For!ularele v per!it s prezentai datele #ntr0o for! care #l scutete pe utilizator de preocuprile le%ate de !odul de stocare al acestora. Se pot crea for!ulare diferite pentru utilizri diferite: introducerea unor intre%istrri noi editarea celor e"istente nu!ai pentru afiare sau for!ulare care funcioneaz pur i si!plu ca nite casete de dialo%. 8.%. "ucrul cu formularele 8.%.1. +esc7iderea unui formular &ac e"ist de(a creat un for!ular acesta se poate desc$ide prin apsarea dublu clic pe respectivul for!ular din obiectul For!s. )oate for!ularele create #ntr0o baz de date se vor %si #n obiectul For!s. 8.%.%. Crearea unui formular Pentru a crea un for!ular nou vo! ale%e obiectul For!s din fereastra &atabase i se apeleaz !eniul Insert cu opiunea For!s. La aprea o fereastr cu !ai !ulte tipuri de pro%ra!e :izard pentru for!ulare: 9.1. Ce este un raportH +n ti!p ce for!ularul este proiectat pentru lucrul pe ecran 5dei i el poate fi tiprit6 raportul este proiectat #n pri!ul r*nd pentru tiprire 5 cu toate c i el poate fi afiat pe ecran6. Pe l*n% aceast deosebire de destinaie e"ist i o diferen conceptual !a(or #ntre for!ular i raport. For!ularul este proiectat pentru accesul aleator la date. &up ce obine accesul la o anu!it #nre%istrare utilizatorul poate trece la sf*ritul for!ularului pentru a adu%a o #nre%istrare nou sau se poziioneaz la #nceputul for!ularului pentru cutarea unei alte #nre%istrri. +n concluzie for!ularul se bazeaz pe un set dAna!ic de date date care trebuie actualizate cu toate !odificrile efectuate de ali utlizatori #n ti!pul utilizrii for!ularului. Pe de alt parte raportul nu !odific niciodat datele fiind necesar parcur%erea secvenial a #nre%istrrilor pentru a %enera subtotaluri i rezu!ate.

9.%. "ucrul cu rapoarte 9.%.1. +esc7iderea unui raport &ac e"ist de(a creat un raport acesta se poate desc$ide prin apsarea dublu clic pe respectivul raport din obiectul @eports. )oate rapoartele create #ntr0o baz de date se vor %si #n obiectul @eports.

CA-I)*","

III

C*()#IB,JII

-E#S*(A"E.

-#*IEC)

+E

-E#FECJI*(A#E DI A-#*F,(+A#E
Sistem informatic pentru evidena contractelor =nc7eiate de o agenie de turism
A%enia de turis! &rea! )ouris! ofer o %a! lar% de pac$ete de servicii i dore te s0 i infor!atizeze activitatea de %estionare a contractelor #nc$eiate cu clien ii. )uritii care apeleaz la serviciile A%eniei &rea!)ouris! sunt persoane fizice care se identific printr0un cod unic nu!e prenu!e CGP serie CI nu!r CI telefon e0!ail adres. A%enia &rea!)ouris! ofer o %a! de servicii de cate%oria e"cursiilor cazrilor biletelor de avion precu! i cltoriilor de afaceri a a0zisele corporate travel. Fiecare cate%orie de servicii include !ai !ulte tipuri de servicii aa cu! sunt redate !ai (os: Cate%oria de servicii excursii include tipurile de servicii Mcircuit? Mse(ur? Mcroazier?. Cate%oria de servicii cazare include tipurile de servicii Mpensiune co!plet? i Mde!i0pensiune?. Cate%oria de servicii bilete de avion include tipurile de servicii Mdus? M#ntors? Mdus0#ntors?. Cate%oria de servicii corporate travel include tipurile de servicii Mtea!buildin%? Mconferin? Mcon%res? Mincentiv?.

Pentru toate aceste tipuri de servicii se !e!oreaz un cod unic i denu!irea serviciului. 9ste necesar specificarea rii de destinaie 5identificat printr0un cod denu!ire i!a%ine reprezentativ sau stea% 0 se insereaz un foto%rafie rein*ndu0se fiierul care conine respectiv foto%rafie6 i pentru fiecare ara trebuie precizat localitatea de destinaie pentru care de ase!enea se reine un cod unic i o denu!ire de localitate. +n plus a%enia acord reduceri reduceri care se acord turitilor sub ,E ani. Astfel pentru turitii care au v*rsta !ai !ic sau e%al cu ,E ani se acord o reducere de F=X din tariful standard aferent fiecrui serviciu iar copiii care nu au #!plinit #nc 4 ani beneficiaz de %ratuitate la toate serviciile a%eniei. Prestatorii de servicii se identific printr0un cod unic denu!ire nu!r de telefon e0!ail. )rebuie specificat de ase!enea cate%oria #n care se #ncadreaz fiecare prestator de servicii fie c este co!panie aerian fir! de transport terestru sau unitate de cazare. A%enia &rea!)ouris! #nc$eie un contract pentru serviciile prestate. +n cadrul contractului se precizeaz nu!rul i data #nc$eierii acestuia turistul beneficiar clauzele contractuale 5drepturileKobli%aiile prilor contractante6 avansul data p*n la care se poate ac$ita valoarea inte%ral a contractului tariful standard aferent serviciului respectiv data plecrii i data de sosire. +n cazul #n care turistul renun din vin s la serviciile care fac obiectul contractului el datoreaz a%eniei &rea!)ouris! desp%ubiri #n funcie de !o!entul renunrii la pac$etul de servicii 5nu!rul de zile #nainte de data plecrii6. #egulile de gestiune sunt urmtoareleI
Cn contract poate avea unul sau !ai !uli beneficiari un beneficiar poate #nc$eia unul sau !ai !ulte contracte8

0 -eneficiarul contractului poate renun la serviciile contractate la o anu!it data8 0 Cn contract conine un sin%ur tip de servicii8 0 7 cate%orie de servicii include !ai !ulte servicii8 0 Fiecare serviciu poate fi realizat de !ai !uli prestatori de servicii8 0 Fiecare cate%orie de prestatori de servicii include !ai !ul i prestatori dar un prestator nu poate s fac parte dec*t dintr0o sin%ur cate%orie8 0 Fiecare ar destinaie are !ai !ulte localiti8 0 +ntr0o localitate se pot presta !ai !ulte servicii iar un serviciu poate fi contractat #n !ai !ulte localiti.

Se dorete obinerea !odelului relaional i i!ple!entarea acestuia #n Microsoft SD1 Server .==Y.

9tape pentru obinerea !odelului relaional: I. aA Se inventariaz atributeleI 1u! #n considerare infor!aiile referitoare la activitatea de %estionare a contractelor #nc$eiate de a%enia &rea!)ouris! cerinele funcionale ale bazei de date i #ntoc!i! un dicionar preli!inar al datelor care conine ur!toarele atribute: Cod)urist CGP)urist Gu!e)urist Prenu!e)urist SerieCI Gu!rCI &ataGaterii)urist )elefon)urist 9!ail)urist CodCate%orieServicii &enu!ireCate%orie CodServiciu &enu!ireServiciu CodPrestatorServicii &enu!irePrestatorServicii CodCate%oriePrestator &enu!ireCate%oriePrestator CodZar &enu!ireZar I!a%ine Cod1ocalitate &enu!ire1ocalitate CodPartener GrContract &ata+nc$eiereContract ClauzeContractuale Avans &ata1i!itaPlatContract &ataAnulareContract &atPlecare &ataSosire )arif L*rst @educere &esp%ubiri )arif@ecalculat Laloare)otalContracte.

I.

bA Se precizeaz algoritmii de calcul pentru atributele care pot fi determinate prin calculI

$ rsta: AnulCurent 2 AnulGaterii #educere: - Pentru turitii cu v*rsta [\ 4 ani reducerea este de ,==X 5aplicat la preul standard68 - Pentru turitii cu v*rsta ] 4 ani si \[ ,. ani reducerea este de E=X8 - Pentru turitii cu v*rsta \ ,. ani nu se acord nicio reducere. )arif #ecalculat: )arifStandard 2 @educere +espgubiri:

.FX din tariful standard dara renunarea se face cu !ai !ult de 4, de zile calendaristice #nainte de data plecrii8 - EFX din tariful standard daca renunarea se face #n intervalul ,J04, de zile #nainte de data plecrii8 - ;FX din tariful standard daca renunarea se face #ntr0un interval !ai !ic de ,J zile #nainte de data plecrii. $aloarea)otalContracte: Su!a valoric a fiecrui contract I. cA Se =ntocmete dicionarul de date pe baza urmtoarelor reguliI - Fiecare atribut se #nscrie o sin%ur dat8 - Se eli!in atributele sinoni!e 5CodPrestatorServicii i CodPartener sunt sinoni!e deci se va reine doar unul dintre acestea 2 CodPrestatorServicii6. - Gu se preiau atributele calculate 5")rst, %educere, Darif%ecalculat, Desp!ubiri, "aloareaDotalContracte6. +icionarul de date @++A Cod)urist CGP)urist Gu!e)urist Prenu!e)urist SerieCI Gu!rCI &ataGaterii)urist )elefon)urist 9!ail)urist CodCate%orieServicii &enu!ireCate%orie CodServiciu &enu!ireServiciu CodPrestatorServicii &enu!irePrestatorServicii CodCate%oriePrestator &enu!ireCate%oriePrestator CodZar &enu!ireZar I!a%ine Cod1ocalitate &enu!ire1ocalitate GrContract &ata+nc$eiereContract ClauzeContractuale Avans &ata1i!itPlatContract &atAnulareContract &atPlecare &atSosire )arif.

I.

dA Stabilirea dependenelor funcionale dintre atribute dependene funcionale si!ple 5directe6 x(O-: CodCate%orieServicii CodServiciu &enu!ireCate%orie

&enu!ireServiciu &enu!ireCate%oriePrestator &enu!irePrestatorServicii

CodCate%oriePrestator CodPrestatorServicii CodZar Cod1ocalitate

&enu!ireZar &enu!ire1ocalitate I!a%ine

Gu!arContract

&ata+nc$eiereContract

ClauzeContractuale Avans &ata1i!itPlatContract &atPlecare &atSosire )arif Cod)urist CGP)urist Gu!e)urist Prenu!e)urist SerieCI Gu!rCI )elefon)urist 9!ail)urist

dependene funcionale !ultivaloare x(O(OCn contract poate fi #nc$eiat pentru !ai !uli turiti8 Cn turist poate sa inc$eie cu a%entia !ai !ulte contracte8 Astfel se apeleaz la un deter!inant co!pus for!at din =rContract i CodDurist care va deveni c$eia pri!ar a tabelei ContracteDuriti 5obinuta datorit dependenelor !ultiple reciproce dintre cele dou atribute specificate6. GrContract Cod)urist Cod)urist GrContract

Pentru atributul izolat Dat@nulareContract se asociaz ca deter!inant c$eia co!pus =rContract i CodDurist deoarece oricare dintre beneficiarii contractului poate s renune la serviciul contractat la o anu!it dat. GrContract &atAnulareContract

Cod)urist

Serviciile sunt oferite #n !ai !ulte localiti8 Cn serviciu poate fi contractat #n !ai !ulte localiti8 9"ist*nd dependene !ultiple reciproce dintre cele dou atribute se creeaz o tabel inter!ediar care va avea drept c$eie pri!ar %rupul de atribute Cod.ocalitate i CodServiciu. Cod1ocalitate CodServiciu CodServiciu Cod1ocalitate

Modelul relaional este ur!torul: CategorieServicii 5CodCate%orieServicii &enu!ireCate%orie6 *fertServicii 5CodServiciu &enu!ireServiciu CodCate%orieServicii6 Categorie-restatorServicii 5CodCate%oriePrestator &enu!ireCate%oriePrestator6 -restatoriServicii 5CodPrestatorServicii &enu!irePrestatorServicii CodCate%oriePrestator CodServiciu6 Jar 5CodZar &enu!ireZar I!a%ine6 "ocalitate 5Cod1ocalitate Gu!e1ocalitate CodZar6 *ferte"ocaliti 5CodServiciu Cod1ocalitate6 Contracte 5GrContract &ata+nc$eiereContract ClauzeContractuale Avans &at1i!itPlatContract &ataPlecare &ataSosire )arif6 )uriti 5Cod)urist CGP)urist Gu!e)urist Prenu!e)urist SerieCI Gu!rCI &ataGaterii )elefon)urist6 Contracte)uriti 5GrContract Cod)urist &atAnulareContract6

C*(C",/II

BIB"I*G#AFIE ,. Marin Fotac$e 5.==;6 0 S,. Dialecte DB>, Oracle, Post!reS,. si S,. Server9 .. Alan -eaulieu 5.==;6 ( .earnin! S,. 9d. 7^@eillA Media8 4. Ale" Nrie%el 5.=,,6 0 &iscoverin% SD1 /ileA Publis$in%8 E. 7lteanu Adriana @adu Gicolae 5.==F6 0 Baze de date i utilizarea acestora9 F. C*rstoiu &orin 5,;;;6 0 Baze de date relaionale, 9ditura Printec$8 J. @dulescu Florin 5.===6 0 Baze de date n 'nternet, 9ditura Printec$8 <. Ionescu Felicia 5.==E6 0 Baze de date relaionale i aplicaii, 9ditura )e$nic8 Y. Pascu C. Pascu A. 5,;;E6 0 Dotul despre S,. 9ditura )e$nic8
9. :::.s_l.or% 10. :::.s_lserver.ro 11. :::.!icrosoft.co!Ks_lserverK

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