+ All Categories
Home > Documents > Ap2 Baze de Date Pentru Ad Mini Strati A Publica

Ap2 Baze de Date Pentru Ad Mini Strati A Publica

Date post: 10-Apr-2018
Category:
Upload: ardnacsela
View: 224 times
Download: 0 times
Share this document with a friend

of 73

Transcript
  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    1/73

    UNIVERSITATEA GEORGE BACOVIA BACU

    BAZE DE DATE

    SUPORT DE CURS

    Conf. univ. dr. Andreia-Simona Melnic

    Uz intern

    Bacu2010

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    2/73

    2

    CUPRINS

    Capitolul 1. INTRODUCERE IN STUDIUL LIMBAJELOR DE

    PROGRAMARE... 31.1. Noiuni generale privind limbajele de programare

    1.2. Clasificarea limbajelor de programare1.3. Structurarea i organizarea datelor. Tipuri de date utilizate n limbajele de programare1.4. Criterii de selecie a limbajelor de programare

    Capitolul 2. BAZE DE DATE I SISTEME DE GESTIUNE A BAZELOR DEDATE. 152.1 Concepte utilizate n studiul bazelor de date i al sistemelor de gestiune a bazelor de date2.2. Modele de structurare a datelor n baze de date2.3. Sisteme de gestiune a bazelor de date

    2.4. Protecia i securitatea bazelor de date2.5. Administrarea datelor i a bazelor de date

    Capitolul 3. MODEELUL RELAIONAL AL DATELOR.413.1. Elementele modelului relaional3.2. Algebra relaional3.3. Studiul dependenelor funcionale3.4.Normalizarea bazelor de date relaionale

    Capitolul 4. LIMBAJE DE INTEROGARE A BAZELOR DE DATE SQL.. .554.1. SQL - Evoluie i performane4.2. Comenzi pentru descrierea datelor;

    4.3. Comenzi pentru interogarea bazelor de date

    Bibliografie.......73

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    3/73

    3

    Capitolul 1. INTRODUCERE IN STUDIUL LIMBAJELOR DE

    PROGRAMARE

    1.1. Noiuni generale privind limbajele de programare1.2. Clasificarea limbajelor de programare

    1.3. Structurarea i organizarea datelor. Tipuri de date utilizate n limbajele deprogramare

    1.4. Criterii de selecie a limbajelor de programare

    1.1. Noiuni generale privind limbajele de programareOdat cu apariia calculatoarelor electronice a aprut i noiunea de limbaj de

    programare ca mijloc de dialog om-calculator.

    Limbajele de programare aparin setului de limbaje artificiale create de om i servescla exprimarea, sub form de instruciuni executabile de ctre calculator, a algoritmului derezolvare a unei probleme. Algoritmul indic modul de prelucrare a datelor iniiale i

    modificarea lor pas cu pas pn la obinerea rezultatelor finale. Natura datelor, organizarea lori relaiile dintre ele trebuie precizate prin program. Limbajele de programare ofer faciliticorespunztoare de descriere.

    Definiia modern consider limbajul de programare un instrument de dialog om-calculator care are proprietatea c este neles de ambii participani la dialog.

    Toate limbajele de programare se bazeaz pe un set de simboluri elementare (deobicei, literele mari i mici ale alfabetului latin, cifrele sistemului zecimal, caractere speciale(+ - * /, %...), numit alfabetul limbajului. Aceste simboluri sunt asamblate n cuvinte-cheiesau expresii care formeaz vocabularul limbajului(instruciuni, comenzi, funcii, variabile,constante). Ansamblul regulilor prin care se construiesc instruciunile constituie gramaticalimbajului.

    Exprimarea regulilor gramaticale din limbajul de programare se realizeaz cu ajutorul unui metalimbaj.Elementele de metalimbaj apar n documentaiile care nsoesc produsele-program. Cele mai des utilizate elemente de metalimbaj sunt:

    cuvinte scrise cu majuscule reprezint cuvinte rezervate i trebuie folosite exact n aceeaiform. De exemplu.: comenzi, clauze i funcii n Visual FoxPro - LIST, CREATE, FOR,IIF();

    cuvinte utilizator - sunt scrise cu litere mici i reprezint construcii care vor fi nlocuitede utilizator. De exemplu: codprod, um, cant, pretu;

    [ ]- ncadreaz o construcie opional (programatorul decide dac acestea vor fi sau nufolosite). De exemplu: LIST [FIELDS ] etc.;{ } sau | - sau exclusiv din elementele prezente se va alege unul singur. Exemplu: TO

    PRINT| TO FILE, ON|OFF, etc.;

    n practic exist i ncercri de standardizare a metalimbajelor, cele mai cunoscutefiind BNF (Backus Naur Form) i EBNF(Extended BNF).

    Limbajele de programare servesc la transformarea ntr-un format accesibilcalculatorului a modului de rezolvare a unei probleme. Utiliznd limbajul de programare,omul va ntocmi un program care descrie problema de rezolvat n termeni inteligibili pentrucalculator. Programul reprezint un ansamblu de instruciuni i/sau comenzi scrise cuajutorul unui limbaj de programare care descriu prelucrrile de date pe care trebuie s leexecute calculatorul n scopul rezolvrii unei probleme. Instruciunile i/sau comenzilereprezint informaii codificate prin care se transmite calculatorului aciunea ce urmeaz a fiexecutat. La rndul lor acestea pot fi structurate n dou mari grupe:

    de prelucrare prin care se realizeaz introducerea/extragerea datelor n/din

    sistem, efectuarea operaiunilor de calcul, efectuarea transferului de date ntrediferite zone de memorie etc.;

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    4/73

    4

    de organizare (de structurare intern a programului) ce asigur codificareastructurilor de control i de apelare sau de salt la alte programe.

    Ansamblul activitilor de concepere, dezvoltare i ntreinere a programelor poartdenumirea deprogramare. Programul scris de om se numete program-surs. Pentru a puteafi neles de calculator el trebuie adus n format executabil. Obinerea formatului executabil se

    realizeaz prin traducere, cu ajutorul unor programe speciale, care pot fi interpretoare saucompilatoare.

    Figura 1.1 ilustreaz procesul de programare.

    Figura 1.1. Procesul de programare

    Aa cum rezult din figura 1.1, n cazul problemelor simple, calea de la problema derezolvat la rezultate este relativ uoar, putnd fi sintetizat astfel: definirea i analiza

    problemei, elaborarea algoritmului de rezolvare a problemei i reprezentarea acestuia,codificarea algoritmului ntr-un program utiliznd un limbaj de programare, transformarea

    programului surs n program executabil (prin compilare sau interpretare), testarea idocumentarea, exploatarea i ntreinerea.

    n cazul problemelor complexe, activitatea de programare capt caracteristicileactivitilor de tip industrial, presupunnd implicarea mai multor categorii de specialiti, maimult timp i mai muli bani. n acest caz, rezultatul activititii de programare este produsul-program. Acesta ilustreaz tocmai trecerea de la artizanal la industrial n programare.Prin produs- program se desemneaz att programul propriu-zis, ct i documentaia pentruelaborarea, implementarea i ntreinerea sa. Documentaia poate fi inclus n program prinlinii de documentare/linii comentariu, care nu influeneaz modul de derulare a execuiei

    programului, facilitnd doar nelegerea sa sau ataat programului sub forma dosarului deprogramare care la rndul su cuprinde descrierea problemei i a funciilor sale, descriereastructurii datelor (de intrare i de ieire), descrierea algoritmului de rezolvare a problemei,

    programul surs, descrierea condiiilor de implementare i exploatare.Produsele-program sunt realizate att de ctre firme specializate, ct i de firme care-

    i dezvolt propriile aplicaii.Industrializarea activitii de programare a determinat apariia, n 1968, a conceptului

    de ingineria programrii (software engineering), un domeniu al informaticii care se ocupcu identificarea celor mai adecvate soluii, metode, procedee i instrumente care s conduc,n condiii optime de productivitate i eficien, la elaborarea de produse-program

    Programator

    pe baza analizei

    problemei de rezolvat

    instruciuni

    pentru calculator

    Scrie

    programul

    Traducere automatn limbaj main

    Reguli i restricii alelimbajelor de programare

    Program

    Calculator

    Problema

    (utilizator)

    execut

    programul

    Rezultat

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    5/73

    5

    performante. De la ingineria programrii s-a trecut apoi la ingineria programrii asistate decalculator (CASE- Computer Aided Software Engineering). Altfel spus, calculatorul i facesingur programele, numai c trebuie s-i furnizm singuri intrrile ntr-un mod ordonat, dupanumite reguli.

    La primele limbaje de programare trecerea de la programele surs la programele

    executabile se realiza prin comenzi distincte n care se specificau explicit operaiunile deefectuat. Ulterior, evoluia s-a orientat ctre medii de programare. Mediile de programarereprezint pachete de programe care asigur integrarea urmtoarelor funcii: introducerea ieditarea programului surs, interpretarea sau compilarea, respectiv editarea de legturi,ncrcarea i lansarea n execuie, depanarea programului. Actualmente majoritatea limbajelorde programare sunt integrate n medii de programare. Spre exemplu, Visual Basic se poateconsidera c reprezint un mediu de programare care ofer un editor de texte, un interpretor,un ncrctor de programe, un depanator de programe. n puls, ofer faciliti de gestionare afiierelor prin meniul FILE i o informare complet i rapid prin sistemul HELP.

    1.2. Clasificarea limbajelor de programare

    Cea mai folosit clasificare este cea care grupeaz limbajele de programare pegeneraii i urmrete periodizarea evoluiei calculatoarelor.Generaiile de limbaje care pot fi identificate sunt:Generaia I - limbajele n cod main, n care toate instruciunile sunt numerice (iruri

    de 0 i 1), fiind redactate plecnd de la un cod binar propriu fiecrei maini (calculator).Utilizatorul trebuia s in minte toate codurile numerice, ceea ce la calculatoarele moderne arnsemna mii de coduri i adresele de memorie utilizate, astfel c produ ctivitatea este foarteredus. Programele scrise n limbaj main puteau fi executate numai pe calculatorul pentrucare au fost elaborate (nu erau portabile). Principalele deficiene ale acestor limbaje suntlegate de dificultile de corectare a programelor, aceste programe fiind mari, iar erorile greude identificat.

    Generaia a II-a - limbajele de asamblare, care nlocuiesc codurile numerice cu cele

    mnemonice, adresele fiind alocate de sistem. Utilizarea acestor limbaje presupune existenaunor programe speciale numite asambloare care s traduc instruciunile n limbaj codmain. Instruciunile se traduc 1 la 1, adic fiecrei instruciuni n limbaj de asamblare icorespunde o instruciune n cod main. Operaia poart numele de asamblare, iar rezulta tulse numeteprogram obiect executabil. Pentru a reprezenta codurile de operaii i poziiile dinmemorie se folosesc simboluri, motiv pentru care aceste limbaje se mai numesc i limbajesimbolice.

    Execuia unui program surs scris ntr-un limbaj de asamblare are loc pe parcursul adou etape: asamblarea i execuia propriu-zis. Schematic se obine urmtoarea reprezentare(figura nr. 1.2):

    Fig. nr.1.2.Tratarea programelor n limbaje de asamblare

    Limbajele de asamblare permit utilizarea de abrevieri alfabetice (mnemonice) caresunt mai uor de memorat dect adresele scrise n binar ( Ex. ADD - adunare, DIV

    P.S.

    Programexecutabil 1.Asamblare

    2.Execuie

    Rezultatefinale

    Date

    Asamblor

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    6/73

    6

    mprire). Ele simplific enorm programarea, deoarece elimin memorarea poziiilor dinmemorie pentru date i instruciuni. Totodat, limbajul de asamblare rmne un limbajorientat main deoarece instruciunile n limbaj de asamblare corespund instruciunilor nlimbaj main conform modelului de calculator utilizat. O singur instruciune n limbaj deasamblare corespunde unei singure instruciuni n limbaj main i deci este nevoie de acelainumr de instruciuni n ambele cazuri.

    Aceste limbaje sunt utilizate pentru elaborarea software-ului de sistem, datoritvitezei de execuie ridicate, chiar dac limbajele evoluate solicit un efort de programare maimic.

    Exemplu: S se calculeze media aritmetic a trei numere M=(X+Y+Z)/3LDA X - ncarc X n registrul AADD Y - adun Y la coninutul registrului AADD Z -adun Z la coninutul registrului ADIV 3 - mparte rezultatul la 3STA B - stocheaz rezultatul final n BLimbajele n cod main i de asamblare sunt limbaje de nivel redus.Generaia a III-a - limbajele de nivel nalt sau evoluate, care au dominat peste 30 de

    ani piaa informaticii. Reprezentative sunt: FORTRAN pentru ingineri i matematicieni iCOBOL pentru mediul economic. Caracteristica lor principal este proceduralitatea (adicurmresc pas cu pas procedura de rezolvare a unei probleme). Au fost create mii de astfel delimbaje, unele avnd destinaii precise (FORTRAN i ALGOL sunt destinate calculelortiinifice, COBOL este destinat aplicaiilor economice, SIMULA fiind un limbaj de simulare,etc.), iar altele avnd utilizare larg(BASIC, PASCAL, C). i instruciunile scrise n acestelimbaje trebuie traduse n cod main; pentru aceasta se utilizeaz dou categorii detranslatoare:

    * compilatoare - sunt translatoare care citesc tot programul n limbajul n care este scris(n cod surs) i apoi l traduc n cod main (sunt utilizate pentru COBOL, FORTRAN);* interpretoare - sunt translatoare care citesc pe rnd fiecare instruciune din programulsurs, o traduc i o execut (sunt utilizate pentru BASIC, PASCAL).

    Prin urmare programele surs redactate n limbaje evoluate sunt supuse unui procesde tratare desfurat pe trei faze:compilarea /interpretarea;

    editarea de legturi;execuia propriu-zis.

    Schematic se obine urmtoarea reprezentare (figura nr.1.3 ):

    Fig.1.3. Tratarea programelor n limbaje evoluateAvantaje: sunt mai uor de nvat i utilizat dect limbajele de asamblare; sunt

    portabile (pot fi utilizate i pe un alt calculator); pot fi oricnd modificate i actualizate.Ctigul de productivitate este remarcabil: o linie de program scris cu un limbaj de generaia a

    P.S.

    Rezultate

    finale

    Date

    1.Compilare/

    interpretare

    2.Editaredelegturi

    3.Execuie

    P.O.imaginememorieexecutabil

    ProgramO.

    Compilator/

    interpretor

    Editorde

    legturi

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    7/73

    7

    III-a reprezint mai mult de 100 de linii de instruciuni n cod -main. Dezavantaje: au regulii sintaxe rigide i deloc uor de nvat pentru un utilizator nespecialist; solicit mult timp

    pentru translatare n cod main (descoperirea unei erorinseamn nu numai corectarea ei, cii traducerea din nou n cod main).

    Exemplu: Folosind limbaje din generaia a 3-a s se codifice X = Y Zn COBOL SUBSTRACT Z FROM Y GIVING Xn BASIC LET X = Y - ZN PASCAL X : = Y-ZAceste lim baje se caracterizeaz prin proceduralitate, adic evenimentele se succed

    secvenial, unul dup altul. Exist n literatura de specialitate o mprire a LG3 n generaii.Cu meniunea c exist i excepii, iat care sunt acestea:

    generaia I se ncadreaz n intervalul 1954 1958. Comenzile erau bazate peexpresii matematice. Reprezentani: FORTRAN I, ALGOL 58;generaia a II-a acoper intervalul 1959 1961 (FORTRAN II, ALGOL 60,COBOL). Apar subrutinele programate, se definesc structurile de date i lucrul cufiierele de date;generaia a III-a cuprinde intervalul 1962 - 1970 i este reprezentat de limbaje

    de programare structurate (ALGOL 68, PL/1, PASCAL, BASIC, COBOLstrucutrat). Se impun principiile programrii structurate. Realizarea unui program ncepe cu definirea principalilor pai i continu n aceast manier pn cndntregul program este dezvoltat. Ideea structurrii a aprut datorit problemelor ceapreau la dezvoltarea de aplicaii complexe, cea mai relevant fiind lipsa viziuniide ansamblu asupra programului. Dei primele concepte ale programriistructurate au aprut nc de la nceputul anilor 60, implementarea lor s-a fcut ntimp, n sprijinul acesteia crendu-se metodologiile care ofereau direciile deurmat n proiectarea de aplicaii, pas-cu-pas.dup anii 70 au aprut tot mai multe tipuri de LP, astfel ca ncadrarea lor ngeneraii a devenit tot mai dificil. Programarea structurat s-a generalizat. ndomeniul aplicaiilor economice, COBOL deinea 80% din totalul acestora.

    Generaia a IV-a (4GL) - limbajele de nivel foarte nalt, care au aprut n primul rnd pentru utilizatorii nespecialiti, numii i utilizatori finali. Se caracterizeaz prinneproceduralitate (utilizatorul trebuie s-i spun calculatorului CE S FAC, i nu CUM SFAC) i este un limbaj conversaional, interactiv. Se bazeaz n mare msur pe utilizareameniurilor i interfeelor grafice, fiind uor de nvat (ofer faciliti de tip HELP sauWizard).

    Evenimentul ce a perturbat evoluia limbajelor procedurale a fost apariia i, mai ales,rspndirea PC-urilor. La mijlocul anilor 80 a nceput declinul mainframe-urilor si al

    prelucrrii centralizate a datelor. Managerii erau ncntai de posibilitile pe care le ofereaPC-ul n a-i rezolva singuri multe din probleme, mai ales odat cu apariia interfeelorgrafice. Utilizatorii de PC-uri nu-i propuneau s rezolve probleme complicate i s dezvolteaplicaii complexe, astfel c nu aveau nevoie de limbaje declarative. Ei cereau limbaje grafice,prietenoase, de aceea limbajele procedurale au evoluat altfel dect ctre declarativ. A IV -ageneraie de limbaje de programare a fost orientat ctre utilizatori, fiind numit i generaiautilizatorilor finali. Productorii de software s-au orientat ctre crearea de instrumente imedii de lucru prietenoase, iar accentul s-a mutat pe interfaa cu utilizatorul. O interfagrafic, simpl, dar nu simplist, care s ofere utilizatorului un mediu de lucru eficient i

    prietenos n acelai timp a devenit cheia unui soft de succes.Caracteristicile limbajelor de generaia a IV-a pot fi rezumate astfel:

    neproceduralitate, interfa prietenoas i eficacitate.Majoritatea specialitilor grupeaz limbajele din generaia a-4-a n urmtoarele clase

    de produse:

    limbaje (instrumente) de interogare;

    generatoare de rapoarte;

    generatoare de aplicaii i /sau proiecte;generatoare de grafice;

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    8/73

    8

    instrumente de sprijinire a deciziilor.

    La ora actual constructorii de software ofer produse care integreaz toate acestefunciuni. De exemplu, programul de calcul tabelar EXCEL este un instrument de sprijinire a

    procesului decizional, dar care ofer i o vast gam de alte faciliti: generarea graficelor,obinerea, actualizarea i interogarea bazelor de date, generarea rapoartelor etc.

    Limbajele de interogarela rndul lor pot fi de dou tipuri:limbaje de interogare simplcare permit consultarea fiierelor i bazelor de date pe unsingur tip de nregistrare logic utiliznd un criteriu de selecie mai puin complex;limbaje de interogare complexcare permit consultarea mai multor tipuri de nregistrrilogice din una sau mai multe baze de date devenind posibil asocierea unor structurifoarte diferite.

    n cea de a doua subgrup intr SQL (Structure Query Language), QBE (Query ByExample), Hiper Talk, INTTELECT, etc. Cea mai mare rspndire o cunoate SQL, unnucleu SQL fiind prezent n orice sistem de gestiune a bazelor de date (Acces, FoxPro,Oracle).

    Generatoarele de rapoarte ndeplinesc, n principal, trei funcii eseniale: seleciainformaiilor solicitate, ordonareadatelor dup criterii prestabilite i editarea rapoartelor ntr-

    o structur formalizat folosind un numr minim de instruciuni de programare.n general, toate sistemele de gestiune a bazelor de date precum i programel e decalcul tabelar (spreadsheet-urile) au ncorporate generatoare de rapoarte. Cele mai populareinstrumente din aceast categorie sunt: Easytrieve Plus, Datatrieve, Mark V1.

    Exist i generatoare de rapoarte care sunt proiectate pentru a fi utilizate de ctrespecialiti RPG III (Report Program Generator).

    Generatoarele de aplicaii i/sau proiecte se adreseaz n special utilizatorilorcunosctori ai tehnicilor de programare. Ele permit ca pe baza unor descrieri externe a datelori a modului de organizare, prelucrare i afiare a acestora s se accelereze generarea(codarea) programelor, folosind un limbaj specific sau chiar un limbaj de generaia a -3-a(COBOL). Intr n aceast clas de generatoare CSP (Cross System Product), FOCUS,Mantis, Natural, NOMAD2, RAMIS 1, IDEAL MAPPER, modulele de tip RAD pentru

    dezvoltarea rapid a aplicaiilor.O categorie aparte o reprezint pachetele-aplicaii specializate pentru aplicaiieconomice generale (finane-contabilitate) sau chiar numai pentru procesri de texte,tehnoredactri (DeskTop Publishing).

    Generatoarele de graficesunt instrumente ce permit reprezentarea sub form grafic(histograme, bare, linii, cercuri etc. bi sau tridimensionale, cu opiuni de culoare, text,legend), a rezultatelor prelucrrii datelor. Ele sunt independente (Tell-al Graph, SAS,ADRS/B6) sau ncorporate n spreadsheet-uri (LOTUS, QUATTRO, EXCEL) sau SGBD-uri(FoxGraph).

    Instrumentele de sprijinire a deciziilorse adreseaz experilor din diferite domeniide activitate (finane, management, contabilitate, marketing etc.) pentru elaborarea iurmrirea bugetelor, analiza investiiilor, studiul pieei etc. permind realizarea simulrii i

    modelrii matematice a fenomenelor economice. Intr n aceast clas programele de calcultabelar (QUATTRO, LOTUS, EXCEL .a.), pachetele program statistice (SPSS, SAS etc.).

    Generaia a V-a cuprinde limbajele care sunt sau vor fi ndreptate spre exploatareabazelor de cunotine, crearea sistemelor expert i, mai general, spre rezolvarea problemelorlegate de inteligena artificial.

    Dup cum se observ limbajele au evoluat continuu, aa cum rezult din figura 1.4.

    1 Oprea, D.,Premisele i consecinele informatizrii contabilitii, Ed. Graphix, Iai, 1994, p. 96

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    9/73

    9

    Fig. nr. 14. Evoluia limbajelor de programareAa cum rezult i din figura 1.4, dou sunt tendinele care au marcat evoluia

    limbajelor de programare. Prima este trecerea de la programele specializate pe un tip de

    probleme, elaborate de programatori profesioniti la pachetele de software cu destinaiidiverse adaptate la nivelul utilizatorilor finali neinformaticieni. Aceast tendin s-aamplificat odat cu apariia microcalculatoarelor. Tendina principal n prezent este ctreinstrumente avansate de dezvoltare a aplicaiilor orientate pe obiect. A doua tendin estendeprtarea de limbajele de programare tehnice, foarte dificil de utilizat, specificenceputurilor programrii (limbaje de generaia I i a II-a) i de limbajele procedurale.Tendina este ctre limbajele neprocedurale i limbajele naturale, apropiate de limbajul uman,tendin care s-a accentuat odat cu apariia celei de-a IV-a generaii de limbaje. Ea continu

    prin mbuntirea interfeelor grafice i dezvoltarea inteligenei artificiale, care produceateptatele limbaje naturale. Este vorba de cea de-a V-a generaie de limbaje de programare,

    reprezentat de pachete de programe asistate de experi. i n pachetele de programe actualesunt ncorporate unele module de ajutor sau module de sprijin inteligente (wizard) care oferutilizatorului asisten n rezolvarea unor probleme (realizarea unui grafic sau tabel).

    O alt clasificare a limbajelor de programare a fost realizat de J.E. Sammet ntr-olucrare publicat n 19692, el avnd n vedere urmtoarele clase de limbaje: procedurale,neprocedurale, orientate pe problem i speciale. ncadrarea unui limbaj de programareanume ntr-o clas este uneori dificil de realizat.

    Limbajele procedurale (numite i limbaje de nivel nalt) sunt utilizate pentru adescrie un algoritm de rezolvare a unei probleme. Se descriu complet operaiunile care seexecut i ordinea de execuie a acestora. Ele rspund la ntrebarea CUM?. Exemple:COBOL, FORTRAN, BASIC, ALGOL, PASCAL.

    Limbajele neprocedurale (numite i limbaje de nivel foarte nalt) ofer soluia derezolvare a unei probleme, dar fr a da detalii asupra modului concret de rezolvare. Elerspund la ntrebarea CE?. Exemplu: limbajele din SGBD, PROLOG, LISP.

    Limbajele speciale descriu funcii specifice ale produselor-program. De exemplu,procesorul Word are inclus un limbaj de scriere a macrourilor.

    Limbajele orientate pe problemdeservesc domenii restrnse de activitate. Astfelde limbaje sunt limbajele de simulare, ca, de exemplu, GPSS (General Purpose System

    Simulation) care este conceput pentru descrierea i rezolvarea problemelor de simulare.

    2Sammet, J.,E., Programming Languages: History and Fundamentals, N.J. Prentice-Hall, 1969

    Generaia IGeneraia IIGeneraia IIIGeneraia IVGeneraia V

    Tendina: ctre limbajele de programare conversaionale, naturale

    Evoluielimbaje

    limbaje ncod main

    limbaje de

    asamblare

    limbaje de

    nivel inalt;

    primele

    sisteme de

    operare

    limbaje de

    gen. a IV-a

    (4GL) orien-

    tate ctreutilizator

    limbaje

    naturale;

    sisteme

    expert

    Tendina: ctre aplicaii cu scop general, orientate spre utilizatorul nespecialist

    Tendine majore n software

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    10/73

    10

    1.3. Structurarea i organizarea datelor. Tipuri de date utilizate n limbajele de

    programare

    Dezvoltarea rapid i complex a societii a dus n mod inevitabil la o sporirensemnat a volumului de date, care tind s aglomereze i s blocheze canalele informaionalen aceeai msur n care crete continuu nevoia de informaie.

    Rezult c orice organism economic se confrunt cu un volum mare de date, supusunor prelucrri relativ simple, dar cu un caracter repetitiv i cu o frecven mare. n acelaitimp datele se caracterizeaz printr-o structur uniform rezultat din structura documentelor

    primare specifice operaiilor economice. Toate acestea reprezint, de fapt, restricii nactivitatea de structurare i organizare a datelor economice n sistemele informatice.

    1.3.1 Concepte utilizate n organizarea datelorOrganizarea datelor reprezint procesul de identificare, definire, structurare i

    memorare a datelor.3

    O bun organizare a datelor impune folosirea unor structuri care s permit oprelucrare cu un cost ct mai redus. O colecie de date pe care s -a definit o structur, creia ieste specific un anumit mecanism de selecie i identificare a elementelor componente

    constituie o structur de date. Toate structurile de date care au aceeai organizare i suntsupuse acelorai operaii formeaz un anumit tip de structur de date. Pentru specificulactivitilor economice fiecare nivel de abstractizare implic: date elementare i datestructurate.

    Noiunea de dat elementarse refer la mulimea ordonat ifinit de valori, de unanumit tip, asupra crora se pot efectua operaii. O dat care apare ca entitate indisolubilatt n raport de informaia pe care o reprezint, ct i n raport de procesorul care o

    prelucreazse numete dat elementar.Cel mai des ntlnite tipuri de date elementare n limbajele de programaresunt:

    tipul numericse includ numerele ntregi, reale i complexe i asupra crora se potrealiza operaii de adunare, scdere, etc.;

    tipul logic (boolean)este utilizat pentru precizarea strilor de adevr (TRUE, YES)sau neadevr (FALSE, NO) ale unui enun. Asupra acestora se pot efectua operaiilogice: AND, OR, NOT;

    tipul caracter - conine o mulime de caractere alfanumerice, n cadrul acestoraputndu-se defini operaii de concatenare, ordonare etc.;

    tipul pointer - conine adrese ctre alte date elementare.Aceste tipuri de date sunt elemente invizibile ale limbajelor de programare, iar

    structura lor intern nu este accesibil programatorului.Datele structuratesunt colecii de date elementare care, ntr-un anumit sens, sunt n

    relaii unele cu altele. Natura relaiei se stabilete la crearea structurii i poate diferi n funciede nivelurile de abstractizare.

    Cele mai utilizate date structurate sunt:

    articolul;

    fiierul; tabloul.

    Articoluleste o structur de tip arborescent ale crui cmpuri (cmpul reprezentnd omrime ce poate lua valori diferite dintr-o multitudine de valori posibile, face excepie cmpul

    boolean care poate lua doar dou valori) sunt descendenii rdcinii (nivelul 1), subcmpurilesunt descendenii cmpurilor (nivelul 2) .a.m.d. Cmpurile unui articol pot fi date elementaresau grupuri de date de diverse tipuri. n principiu fiecare cmp sau subcmp se definete prinurmtoarele atribute:

    3Cristea , V. , Dicionar de informatic, Editura tiinific i enciclopedic, Bucureti , 1981, p. 240

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    11/73

    11

    nume - un cod unic de identificare;

    tip - natura datei;

    lungime - numrul total de caractere; partea zecimal specificat numai pentru datele numerice.

    De exemplu, articolul PRODUSE poate avea n structur urmtoarele cmpuri:

    Nume Tip Lungime Partea zecimalCODPROD N 5 0

    DENUMIRE C 10

    PRE N 9 2STOC N 8 2

    Fiieruleste o structur de date omogene din punct de vedere a semnificaiilor i acerinelor de prelucrare, nregistrate pe un suport i care pot fi exploatate individual.

    ntr-un fiier trebuie s distingem articolul tip (structura articolului) care este omodalitate de a descrie dac un obiect aparine sau nu la o clas de obiecte, de realizrile(articolele) care sunt elemente ale clasei de obiecte descrise.

    Tablouleste o colecie de date de acelai tip, aranjate ntr-o structur rectangular, cuuna sau mai multe dimensiuni. Tablourile cu o dimensiune se numesc vectori, iar cele cu mai

    multe dimensiuni se numesc matrici sau masive. Pentru fiecare dimensiune se asociaz unindice ale crui valori sunt folosite pentru referirea elementelor tabloului.

    Ex. T (i1, i2...ik), unde k reprezint numrul de dimensiuni, iar i1, i2....ik suntelementele tabloului T.

    De exemplu, pentru introducerea notelor obinute de studeni n cele 2 sesiuni, fiecaresesiune avnd cte 5 examene, definim variabila Nota(2,5). Vom obine un tablou de variabileastfel: Nota(1,1), Nota(1,2), Nota(1,3), Nota(1,4), Nota(1,5), Nota(2,1), etc.

    n Visual FoxPro, de exemplu, declararea unui tablou poate fi realizat cu comandaDIMENSION:

    DIMENSION VECT(3), MATR(5,10)

    NOTE se definete vectorul VECT cu 3 elemente i matricea MATR cu5 linii i 10 coloane.

    Prelucrarea datelor presupune parcurgerea unei succesiuni ordonate de operaii careacioneaz asupra mrimilor. Ele se pot grupan urmtoarele categorii:

    operaiuni de atribuire;operaiuni de calcul;operaiuni de decizie;operaiuni de intrare /ieire;operaiuni de transfer a controlului.

    Operaiuni de atribuire sunt acelea prin care unui cmp i se atribuie o anumitvaloare predefinit sau rezultatul evalurii unei expresii.TOTVAL = 0

    SF = SID + RDRCOperaii de calculse definesc pe mulimea numerelor reale. Dintre acestea fac parte

    operaia de adunare, scdere, nmulire, mprire, ridicare la putere, calculul unor exp resiinumerice etc.

    Ca operatori se utilizeaz:+ pentru adunare;

    - pentru scdere;* pentru nmulire;

    / pentru mprire;** pentru ridicare la putere.

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    12/73

    12

    De asemenea, n cadrul expresiilor se pot utiliza i parantezele, evaluarea acestorafcndu-se dup regulile din algebr.

    Exemplu: SALAR NET = ((NRORLUCR * TO) + SPORV) - IMPOZ

    a = (b * c)**2 + 650

    Operaiunile de decizie sunt utilizate pentru a delimita valoarea logic a unei

    propoziii: adevrat sau fals. Ele condiioneaz executarea unor operaii sau grupuri deoperaiuni. Operatorii utilizai pentru scrierea condiiilor pot fi operatori relaionali (=, >, 9.50 .AND. DOMICILIU ='NON IAI' PRINT 'DREPT DECAZARE'

    Operaiunile de intrare/ieirevizeaz realizarea transferului de date ntre memoria

    extern i cea intern i invers. Pentru optimizarea operaiei de intrare/ieire se interpun zonetampon (buffere), att pentru intrare, ct i pentru ieire conform schemei urmtoare (figuranr. 1.5):

    Fig. 1.5. Transferul de date ntre memoria intern i cea extern

    Cele mai utilizate operaii de I/E sunt cele de deschidere i nchidere a fiierelor i decitire i scriere date.

    Operaiunile de transfer a controlului sunt operaii de salt i de apelare. Cele desalt au rolul de a preda controlul unei alte operaiuni dect cea imediat urmtoare, iar cele deapel, determin lansarea n execuie a unor proceduri (grupuri de operaiuni), evitndu-sedescrierea lor, de mai multe ori, n cadrul algoritmului.

    Schematic derularea unei secvene de operaiuni de apel se prezint astfel (figura nr.1.6.):

    Zonatampon

    Zonatampon

    DEN

    DEN

    COD

    COD

    UM

    UM

    CANT

    CANT

    PRE

    PRE

    Z.ARTICOL

    VALOARE

    VALOARE

    X

    Z.ARTICOL

    Zondeintrare

    Zondelucru

    Zondeieire

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    13/73

    13

    Fig. 1.6.Derularea operaiunilor de apel

    1.4. Criterii de selecie a limbajelor de programareLa alegerea unui limbaj de programare trebuie avute n vedere o serie de aspecte care

    s asigure eficien, siguran i flexibilitate n rezolvarea aplicaiilor utilizator. Criteriile carestau la baza opiunii de selectare a limbajului privesc urmtorii factori:41. tipul problemei ce urmeaz a fi rezolvat i cunotinele utilizatorului (msura n care

    limbajul de programare este convenabil att la clasa de probleme, ct i pentru utilizator)2. tipul echipamentelor disponibile utilizatorului3. gradul de dependen fa de echipamentul folosit i sistemul de operare4. evaluarea rezultatelor obinute prin folosirea anterioar de ctre ali utilizatori5. eficiena scontat prin exploatare6. caracteristicile tehnice i funcionale generale

    7. cerine de ordin economicTipul problemei ce urmeaz a fi rezolvat i cunotinele utilizatoruluiAcest criteriu are n vedere selectarea acelui limbaj care s rspund cel mai bine tipului/tipurilor de aplicaii utilizator, s asigure concomitent uurin n utilizare, un timp minim

    pentru prelucrarea datelor confidenialitatea i securitatea acestora.Tipul echipamentelor hardware disponibile utilizatorului

    naintea alegerii limbajului trebuie efectuat o analiz a resurselor fizice existente i a celorcare urmeaz s fie achiziionate. Aceast analiz trebuie s stabileasc dac sunt asigurateresursele minime pentru dezvoltarea i exploatarea aplicaiilor. n felul acesta se urmreteutilizarea eficient a limbajului pe echipamentele din dotare.

    Gradul de dependena fa de echipamentul folosit i sistemul de operareConform acestui criteriu trebuie ales un limbaj de programare care s poat fi folosit fr

    probleme sub sistemul de operare sub care lucreaz echipamentele din dotare. n plus, trebuieasigurat portabilitatea programelor n cazul n care se vor achiziiona noi resurse informatice.Trebuie asigurat creterea gradului de portabilitate cel puin la nivel de program surs.

    Evaluarea rezultatelor obinute prin folosirea anterioar de ctre ali utilizatorAcest criteriu cere realizarea unei documentri prealabile privind problemele cu care s-auconfruntat ali utilizatori ai limbajului (existena /inexistena unei documentaii de nvare iutilizare, posibilitile/facilitile de rezolvare a problemelor practice etc.).

    Eficiena scontat prin exploatare.Aceast eficien implic stabilirea parametrilor de exploatare pe fiecare etap de realizare a

    programelor /produselor-program(scriere, testare, implementare, utilizare). Se are n vedereatt eficiena execuiei programului, mai ales la programele des utilizate ct i eficienaglobal care ia n considerare toate fazele de elaborare i utilizare (scriere, testare, exploatare

    4Sammet, J.,E., Programming Languages: History and Fundamentals, N.J. Prentice-Hall, 1969

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    14/73

    14

    i ntreinere). n acest context performana limbajului poate deveni o problem mai puinimportant.

    Caracteristicile tehnice i funcionale generale.Alegerea unui limbaj trebuie sa in seama i de gradul de standardizare a acestuia, tiut fiindc, n general, la standardizarea unui produs informatic se au n vedere parametrii ce privescsimplitatea n exploatare, generalitatea n aplicare, naturaleea, consistena i conciziunea nexprimare.

    Cerine de ordin economicAceste cerine in seama de resursele financiare de care dispune utilizatorul , resurse caretrebuie s acopere att achiziionarea i exploatarea propriu-zis a limbajului, ct iorganizarea i pregtirea prealabil a personalului.

    Avnd n vedere cele de mai sus rezult c alegerea unui limbaj este o decizie caretrebuie susinut printr-o serie de analize de ordin tehnic, funcional i economic.

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    15/73

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    16/73

    16

    datelor solicitate. n lipsa acestor programe, pentru obinerea informaiilor dorite utilizatorulprocedeaz la extragerea manual.

    4. Costul ridicat de exploatare ca urmare a dublrii datelor;Exploatarea fiierelor independente presupune un cost ridicat, att n ceea ce privete

    resursele informatice (hardware i software), ct i cele legate de personalul utilizat.5. Separarea i izolarea datelor;Atunci cnd datele sunt izolate n fiiere separate, programatorul de aplicaii trebuie s se

    asigure c sunt extrase datele corecte, fiind astfel necesar sincronizarea prelucrrii datelordin fiiere diferite, aceast operaiune fiind dificil cnd sunt solicitate date din mai mult dedou fiiere.

    6. Formate de fiiere incompatibile, ceea ce face dificil prelucrarea lor simultanDeoarece structura fiierelor este ncorporat n programele de aplicaii, ea este

    dependent de limbajul de programare n care sunt scrise acestea. De exemplu, structura unuifiier generat de un program scris cu limbajul COBOL poate s fie diferit de cea a unuiagenerat cu un program n limbajul C. De aceea sunt necesare programe de transformare afiierelor ntr-un format comun.

    7. Dependena datelor fa de programele de aplicaii

    Organizarea fiierelor, adresa lor fizic n memorie i programele de aplicaii folositepentru accesarea fiierelor sunt interdependente. Astfel, schimbrile legate de dispunerea pesuportul de memorie, de structura datelor i modificarea nregistrrilor unui fiier presupunmodificri n toate programele n care este referit fiierul respectiv. ntreinerea acestor

    programe este dificil putnd genera incoerene n fiierele de date. Incoerena i lipsa deintegritate sunt extrem de dificil de corectat deoarece nu exist un dicionar central pentruurmrirea definirii datelor.Toate aceste probleme care apar n sistemul ce prelucreaz fiiere i gsesc rezolvarea prinfolosirea bazelor de date i a sistemelor de gestiune a bazelor de date. Datele stocate n bazesunt independente att fa de programele de aplicaii care le folosesc, ct i fa de tipul dememorie utilizat.

    2.1.2. Baze de datePe msura evoluiei sistemelor de prelucrare automat a datelor i, n mod special, a

    componentei hardware i software, dar i ca urmare a creterii volumului datelor de prelucrats-a dezvoltat un nou concept, cel al bazelor de date. El i face apariia n a doua parte a anilor60, aducnd un element de noutate, respectiv existena unui fiier de descriere global adatelor, ceea ce asigur independena datelor de programe i invers, fiier denumit dicionarde date (vezi fig. nr. 3.2). La momentul respectiv, n cadrul sistemelor informaticeimplementate n ntreprinderi, informaiile erau organizate n fiiere de date (secveniale,indexate etc.) create cu ajutorul unor programe scrise n limbaje din generaia a III-a:COBOL, FORTRAN etc.

    Principiul fundamental al bazelor de date l constituie unicitatea informaiilor, adicorice informaie este nregistrat o singur dati poate fi utilizat ori de cte ori este nevoie,de ctre diferii utilizatori i n diferite momente.

    Baza de date reprezint un ansamblu integrat de nregistrri sau de fiiere reunite istructurate n mod logic. n felul acesta datele stocate anterior n fiiere independente/distinctesunt concentrate ntr-un fond comun de nregistrri cu posibilitatea utilizrii lor n numeroaseaplicaii.

    Baza de date este o colecie partajat de date ntre care exist relaii logice i odescriere a acestor date, proiectat pentru a satisface necesitile informaionale ale uneiorganizaii. Ea reprezint un depozit de date unic care este definit o singur dat i esteutilizat simultan de ctre mai multe departamente i utilizatori. n loc de a mai exista fiiereseparate cu date redundante, toate datele sunt integrate, cu o dublare minim. Baza de date numai este deinut de un singur departament, ci constituie acum o resurs comun, partajat. Eaconine nu numai datele operaionale ale organizaiei, ci i o descriere a acestora. De aceea eaeste definit i ca o colecie autodescris de nregistrri integrate. Aceast descriere a dateloreste cunoscut sub denumirea de catalog de sistem sau dicionar de date sau meta -date (date

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    17/73

    17

    despre date). Natura autodescriptiv a bazelor de date este cea care determin independenaprogram-date.

    BAZA DE DATE

    Fiier de date 1

    Fiier de date 2

    Fiier de date n

    ...Dicionar

    de

    date

    Aplicaia 1 Aplicaia mAplicaia 2 ...

    Fig. nr .2.2. Structura unei baze de date

    Conceptul de baz de date a aprut n 1964 n cadrul primului raport CODASYL 7 prezentat la lucrrile unei Conferine pe probleme de limbaje de gestiune a datelorDevelopment and Management of Computer centered date-base. La aceast conferin afost lansat ideea organizrii datelor prin intermediul unui fiier de descriere global, numitdicionar de date care are menirea de a asigura independena programelor fa de date i adatelor fa de programe8.

    Atunci cnd se analizeaz necesitile informaionale ale unei organizaii se urmreteidentificarea entitilor, a atributelor i a relaiilor dintre entiti. De aceea, abordarea bazelorde date presupune i tratarea urmtoarelor elemente: entitate (articol, nregistrare logic),atribut (caracteristic, cmp) i valoare/realizare9.

    Prin entitate se nelege un obiect concret sau abstract (operaie economic, mijloceconomic etc.) reprezentat prin proprietile sau nsuirile sale. Orice proprietate poate fiexprimat printr-o pereche atribut-valoare sau caracteristic-realizare. O entitate esteidentificat printr-un nume i cuprinde, n general, mai multe valori sau realizri.

    Atributul are rolul de a descrie nsuirile sau proprietile obiectului, stabilind naturavalorilor pe care acesta le poate lua.

    Valoarea reprezint mrimea ce se atribuie fiecrei caracteristici din cadrul uneientiti.

    Relaia reprezint o asociaie ntre mai multe entiti.Aceste elemente sunt prezentate n tabelul nr. 2.1:

    Tabelul nr. 2.1. Elemente specifice bazelor de date

    Entitate Caracteristici (atribute) Realizri (valori)

    Produs

    Cod_produs

    Denumire_produs

    Unit_msPre_ unitarCantitate

    Nr._facturData_recepiei

    152

    Pantofi

    Pereche

    115

    100

    2452

    24-10-2009

    7COnference on DAta SYstems LanguagesConferina despre Limbajele Sistemelor de Date

    8Lungu, I., .a., Baze de date, Organizare, proiectare i implementare, Editura All, Bucureti, 1995,p.139

    Aceste elemente sunt numite diferit n literatura de specialitate. Vezi Roca, I., .a. Baze de date iSGBD, Bucureti, 1986; Lungu, I., .a., Op., cit.,; Fotache, M., Baze de date relaionale, EdituraJunimea, 1997

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    18/73

    18

    O baz de date trebuie s satisfac cinci condiii eseniale10: O bun reprezentare a realitii nconjurtoare, adic baza de date trebuie s

    ofere ntotdeauna o imagine fidel a realitii prin informaii fiabile i actualizate; O non-redundan a informaiei, informaia coninut n baza de date trebuind s

    fie unic din punct de vedere semantic i fizic; O independen a datelor fa de prelucrri; datele constituie imaginea fidel alumii reale, programele de aplicaii trebuind s fie concepute n raport cu aceaststructur a datelor;

    Securitatea i confidenialitatea datelor; securitatea datelor trebuie asigurat prin proceduri fizice, iar confidenialitatea prin proceduri care s mpiedice accesulutilizatorilor neautorizai;

    Performane n exploatare,orice cerere de prelucrare trebuind s fie satisfcutntr-un timp convenabil utilizatorului, ceea ce presupune folosirea unor tehnici deoptimizare pentru reducerea timpului de prelucrare.

    Dicionarele de date

    Accesul utilizatorilor la informaiile despre structura unei baze de date se realizeaz prinintermediul dicionarului de date.

    n principal, un dicionar ndeplinete urmtoarele funcii: definirea i gestionarea datelor elementare ale ntreprinderii (cod, etichet, atribute,

    reprezentare etc.);

    definirea i gestionarea ansamblurilor de date; definirea i gestionarea relaiilor, de dependen sau ierarhice, dintre date; descrierea din trei puncte de vedere a utilizrii datelor:

    administrativ: care sunt posturile de lucru ce vor apela datele i care va fi utilizareaacestor date?

    logic: care sunt fiierele sau bazele de date n care intr elementele descrise?; organic: n care uniti de prelucrare vor fi utilizate elementele descrise?n plus dicionarele de date permit automatizarea operaiilor de scriere, de descriere a

    fiierelor sau ecranelor, de control etc. utile pentru ntreinerea i dezvoltarea dosarelor deprograme.

    Bazele de date sunt concepute pentru a prelucra un volum mare de informaii.Gestiunea acestora impune nu numai o structurare riguroas a datelor, dar i o raionalizare aprocedurilor de acces i prelucrare. Pentru a putea fi exploatat de ctre utilizatori o baz dedate trebuie s aib asociat un set de programe, numit generic sistem de gestiune a bazelor dedate care s permit exploatarea raional a datelor coninute. Obiectivul esenial al unuisistem de gestiune a bazelor de date este, deci, furnizarea unui mediu eficient, adaptat

    utilizatorilor care doresc s consulte sau s actualizeze informaiile coninute n baza de date.Sistemul de gestiune a bazelor de date reprezint un ansamblu coordonat de programe

    care permite descrierea, memorarea, manipularea, interogarea i tratarea datelor coninute ntr-obaz de date. El trebuie, de asemenea, s asigure securitatea i confidenialitatea datelor ntr-unmediu multi-utilizator.

    Principalele beneficii ale bazelor de date constau n: integrarea n aceeai structur a tuturor datelor pertinente ale unui sistem; gestionarea acestor date printr-un software specializat (SGBD);

    oferirea unei vederi pariale asupra ansamblului de date necesare fiecruiutilizator;

    asigurarea partajrii datelor ntre diferii utilizatori.

    10Morjon, J., Principes et conception dune base de donnes relationnelle, Les Editions dorganisation,Paris, 1992, p. 20

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    19/73

    19

    Niveluri de abstractizare a datelor n bazele de dateAbordarea datelor n contextul bazelor de date se face pe trei niveluri, considerate

    niveluri de abstractizare:

    Nivelul interneste nivelul elementar la care pot fi considerate datele i se refer lamodul n care sunt stocate datele pe suporturi - disc magnetic, band magnetic, disc optic etc.La acest nivel structura datelor este foarte detaliat. Nivelul intern cuprinde structurile de datei organizrile fiierelor utilizate pentru stocarea datelor pe dispozitivele de stocare. Eltrateaz probleme cumar fi: alocarea spaiului de stocare pentru date i indexuri, descrierilenregistrrilor pentru stocare, cu dimensiunile de stocare pentru articolele de date, plasareanregistrrilor, tehnicile de comprimare i de codificare a datelor. Nivelul interninteracioneaz cu metodele de acces al sistemului de operare (tehnici de administrare afiierelor, pentru stocarea i regsirea nregistrrilor de date) pentru a plasa datele pesuporturile de stocare, a regsi datele, a realiza indexurile.

    Nivelul conceptual corespunde administratorului bazei de date care proiecteazstructura logic a bazei de date. Asigur o viziune global. a bazei de date, descriind ce datesunt stocate n baza de date i relaiile dintre acestea. La acest nivel structura bazei de date seconcretizeaz n schema conceptual. Nivelul conceptual asigur att transpunerea, ct i

    independena dorit dintre nivelul extern i cel intern. Nivelul conceptual reprezint toate entitile, atributele i relaiile dintre ele, contrngerileasupra datelor, informaii semantice despre date, informaii privind securitatea i integritatea.

    Nivelul extern reprezint vederea utilizatorului asupra bazei de date ce descrie acea parte a bazei de date relevant pentru fiecare utilizator. Recurgerea la acest nivel deabstractizare se face pentru simplificarea interaciunii utilizator-baz de date. Acest nivelcorespunde utilizatorilor care pot avea viziuni diferite asupra bazei de date pe baza unor

    subscheme proprii. Vederea extern include numai acele entiti, atribute i relaii din lumeareal de care este interesat utilizatorul. Se urmrete satisfacarea cerinelor tuturor utilizatorilorn condiiile unei redundane minime i controlate a datelor.

    Vzut prin prisma celor trei niveluri, baza de date poate fi reprezentat ca n figuranr.2.3.

    11

    Utilizator A1 Utilizator B1 Utilizator B2

    Aplicaie

    Utilizator A2

    Comenzi

    autonomeAplicaie Comenzi

    autonome

    Imagine A

    (nivel extern)Imagine B

    (nivel extern)

    .

    ...

    .Schema

    extern A

    Schema

    extern B

    INTERFAA A INTERFAA B

    Imagine global

    (nivel global)

    Schema conceptual

    (global)

    Sistem de

    gestiune a

    bazei de date

    INTERFAA

    BAZA DE DATE MEMORAT PE DISCSchema intern

    Fig. nr.2.3. Nivele de abstractizare a datelor n bazele de dateIncluderea n baza de date a descrierii structurii acesteia o deosebete calitativ de

    fiierele de date, deoarece prin aceasta se asigur independena datelor din baz fa deprogramele de aplicaii i invers. Posibilitatea modificrii structurii la un nivel, fr a afecta

    11Fotache, M., Baze de date relaionale. Organizare, interogare i normalizare, Editua Junimea, Iai,

    1997, p.32

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    20/73

    20

    structura celorlalte niveluri este ntlnit sub numele de independena datelor, prezent subdou forme: independena fizic de date, adic posibilitatea modificrii structurii bazei de date la nivel

    intern (cum ar fi utilizarea unor organizri ale fiierelor sau structuri de stocare diferite, aunor dispozitive diferite de stocare, modificarea de indexuri sau de algoritmi hash), fr afi necesar schimbarea structurii conceptuale i rescrierea programelor de prelucrare adatelor. Asemenea modificri sunt necesare pentru ameliorarea performanelor de lucru(vitez de acces, mrimea fiierelor etc.). Autonomia fizic este cea care asigur iportabilitatea bazei de date de pe un sistem de calcul pe altul fr modificarea schemeiconceptuale i a programelor;

    independena logic de date se refer la faptul c modificarea schemei conceptuale abazei de date (cum ar fi adugarea sau eliminarea unor entiti, atribute sau relaii) nunecesiti modificarea schemei externe sau rescrierea programelor de aplicaii.

    Este important s se fac distincie ntre descrierea bazei de date i baza de datensi. Descrierea bazei de date constituie schema bazei de date. Ea este specificat n timpul

    procesului de proiectare a bazei de date i este schimbat rareori. Setul de date din baza dedate se numete instana bazei de date. Mai multe instane ale bazei de date pot corespunde

    aceleiai scheme a bazei de date.

    2.1.3. Bnci de daten accepiunea cea mai larg, banca de date reprezint un set de informaii gestionate

    i accesate prin intermediul unor programe speciale. Informaiile, n ansamblul lor reprezintceea ce este consacrat sub numele de baz de date, iar programele speciale constituie sistemulde gestiune a bazei de date. Banca de date reprezint un sistem de colecii de date aflate ninterdependen, mpreun cu descrierea datelor i a relaiilor dintre ele i cu sistemul de

    programe pentru gestiunea datelor care asigur independena programelor aplicative fa demodul de structurare a datelor, o redundanminim i controlat n memorarea lor, precum iun timp minim de rspuns la solicitrile utilizatorilor.12

    Ea reprezint un ansamblu de informaii organizate, nregistrate pe suporturi

    magnetice sau optice care pot fi consultate local sau la distan prin intermediulcalculatoarelor i a reelelor de comunicaie. Deoarece permit accesul unui mare numr deutilizatori la datele stocate, bncile de date sunt considerate sisteme de documentare.

    Se pot organiza bnci de date n toate sferele de activitate: bnci de date bibliografice,de documentare statistic, pentru evidene financiar-contabile i bancare, diagnosticare iinformare medical, pentru rezervarea tichetelor de cltorie i a locurilor n staiunileturistice etc.

    n unele lucrri, banca de date este redus la dou componente: baza de date iSGBD-ul asociat. Ali autori extind noiunea de banc de date, ea nglobnd baza de date,sistemul de gestiune a bazei de date, sistemul electronic de calcul, echipamentele de

    teleprelucrare, programele de aplicaii, sistemul de operare, utilizatorii. Schematic structuraunei bnci de date poate fi prezentat ca n figura nr. 2.4.

    12Pescaru, V., .a., Fiiere, baze de date i bnci de date, Editura Tehnic, Bucureti, 1976, p. 13

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    21/73

    21

    Coleciidedate

    Coleciidedate

    Colecii

    dedate

    Coleciidedate

    Fig.2.4. Structura unei bnci de date

    Dacn anii 70 i la nceputul anilor 80, noiunea cvasi-utilizat era cea de banc dedate, n lucrrile din ultimii ani, termenul devine din ce n ce mai puin invocat, majoritatealucrrilor de profil, ca i toi marii furnizori de software fac trimitere, aproape exclusiv, lanoiunile de baz de date i SGBD.

    2.1.4. Depozite de dateConceptul de depozit de date a aprut la sfritul deceniului 8, dar s-a conturat i

    dezvoltat n anii 90. Conceptul datawarehouse (depozit de date) este definit de WilliamInmon (vicepreedintele firmei Prism Solution) ca fiind o colecie de date destinatefundamentrii deciziei manageriale, colecie care este tematic, integrat, plasat ntr-uncontext temporal i permanent.

    Depozitul de date reprezint o alt direcie de dezvoltare i evoluie a bazelor de date.El desemneaz o bazde date special conceputpentru analiza datelori suportul deciziilor,prin consolidarea tuturor datelorntreprinderii.

    Deosebirile fa de o baz de date sunt urmtoarele: scopul pe care l au datele stocate - acestea nu sunt utilizate n scop operaional, ci pentrusarcini analitice, de la identificarea unui nou segment de pia pn la brainstorming; dac o baz de date este utilizat pentru prelucrarea tranzaciilor on-line, depozitele dedate se bazeaz pe prelucrarea analitic on-line, o nou aplicaie strategic; dac o baz de date nregistraz i raporteaz ce s-a ntmplat, un depozit de date arat ide ce.

    Patru elemente determinante caracterizeaz depozitul de date: datele stocate privesc o funciune sau un proces din ntreprindere (sunt orientate pe

    subiect); datele sunt integrate i redefinite penteu a putea fi exploatate; informaiile sunt conservate mai muli ani, acesta reprezentnd un atu al depozitelor dedate (se asigur continuitatea i comparabilitatea); datele nu pot fi modificate sau terse.

    Datele organizate n depozite provin din datele preluate din sistemul operaional, dindatele de arhiv (n perioada de constituire a depozitului), precum din surse externe (baze dedate publice, date din recensminte, date de prognoz economic etc.). Utilizarea depozitelorde date se concretizeaz n extragerea unor rapoarte (la cerere sau pe baza unui abonament cuo anumit periodicitate), extragerea unor date pentru a putea fi utilizate de aplicaiile de

    birotic (programe de calcul tabelar, procesoare de texte, programe de prezentare etc.), darmai ales pentru a putea fi utilizate n aplicaii specializate de analiz.

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    22/73

    22

    Componentele unui depozit de date sunt urmtoarele:131. instrumente pentru modelarea datelor, asociate adesea cu instrumente de tip CASE;

    2. o enciclopedie a metadatelor care pstreaz informaiile relevante despre fiecaredat a depozitului de date (ce reprezint, tipul su, unde se gsete, cum poate fi accesat,formatul su, etc.);

    3. baza de date - nucleu care este centrul depozitului i ia forma bazelor de date(foarte rar a fiierelor independente);

    4. instrumente pentru transpotul datelor, proiectate pentru a muta copii ale datelor din

    sistemul operaional n baza de date;5. instrumentele pentru extragerea, rafinarea i standardizarea datelor, sarcini foarte

    dificile n condiiile n care informaiile sunt foarte complexe, iar instrumentele de lucrueterogene;

    6. middleware care asigur conectivitatea n cadrul reelelor de calculatoare atuncicnd datele sunt preluate din mai multe baze de date sau o baz de date este distribuit pe maimulte noduri ale unei reele;

    7. instrumente pentru accesul utilizatorilor la date i furnizarea informaiilor carecuprind instrumente de tipul interfa grafic utilizator (GUI) sau navigatoare (browsere) Web

    ce permit utilizatorilor s acceseze i analizeze informaiile din depozitul de date.Una din preocuparea actual a productorilor de instrumente de construire adepozitelor de date este integrarea celor apte categorii de instrumente prezentate mai sus ntr-un produs atotcuprinztor, ceea ce unii au reuit ntr-o oarecare msur.14

    Din punct de vedere al ariei de ntindere, se ntlnesc trei modele de depozite de date:depozite de ntreprindere, data marts i depozite virtuale.

    Un depozit de ntreprindere colecteaz toate informaiile despre subiecte care privescntreaga organizaie. El necesit cheltuieli mai mari pentru modelare i ani de zile pentru

    proiectare i realizare. El conine de regul date detaliate, dar i date agregate, iar ca ordin demrime pornete de la civa gigabytes pn la sute de gigabytes, terabytes sau mai mult.

    Un data marts poate fi considerat un subansamblu al unui depozit de date, mai uor de construit i ntreinut i mai puiin scump. El conine un subset al volumului de date din

    organizaie, specific unui grup de utilizatori. Domeniul este limitat la subiecte specifice. Deexemplu, un data mats pentru marketing limiteaz subiectele la clieni, articole, vnzri. Undepozit virtual este un set de viziuni (views) asupra bazelor de date operaionale. Este uor deconstruit, dar necesit capaciti suplimentare pe serverele de baze de date. Pentru eficiena

    procesrii interogrilor, numai unele din viziunile de agregare pot fi materializate.Baza de date reprezint "inima" depozitului. n practic, baza de date nucleu se poate

    regsi sub forma fiierelor independente de date (mai rar), poate fi o baz de date relaionalsau multidimensional. n prezent se pune tot mai mult accent pe bazele de datemultidimensionale care sunt concepute pentru optimizarea analizei indicatorilor (cifr deafaceri, marj) n raport cu dimensiunile care le sunt asociate (timp, produs, regiune). Elesimplific gestiunea volumelor mici sau mijlocii de date, sunt adaptate la rezolvarea unorprobleme concrete (fiind utilizate mai ales pentru analize sofisticate cum ar fi simulrile sauprediciile), adaptndu-se astfel foarte bine n contexul depozitelor de date.

    n ceea ce privete instrumentele de analiz i acces la informaii, dou categorii,instrumentele de interogare i cele OLAP se regsesc pentru a combina accesul liber lainformaii i funciile de analiz, fiind concepute pentru a rspunde nevoilor foarte diverse aleutilizatorilor finali. Astfel, anumii utilizatori sunt autonomi i doresc un acces liber lainformaii fr a se ngriji de cile de acces la date. Instrumentele de tip interogare rspundnevoilor lor. Aceste instrumente favorizeaz formularea de interogri bazndu-se pe logicaasamblist a bazelor de date relaionale. Ele permit, de exemplu, obinerea listei cu numele iprenumele clienilor care au cumprat un anumit produs n cursul ultimelor trei luni. Aliutilizatori exprim cerine de analiz, ceea ce necesit o informaie bine pregtit i foarteorganizat. Instrumentele de tip OLAP (On-Line Analytical Processing) sunt mai bine

    13Fotache, M., Op. cit., p. 56

    14 Fotache, M., Depozitul de date, n Tribuna economic nr.36 /1998, p.49

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    23/73

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    24/73

    24

    n literatura de specialitate se ntlnete i concepia potrivit creia proiectarea unei baze dedate este un proces n doi pai16:* etapa proiectrii conceptuale (independent de SGBD) - ar consta n analizasistemului;

    * etapa proiectrii fizice (n funcie de un anumit SGBD) - grupeaz activitile deproiectare a structurii, ncrcare, exploatare i ntreinere a bazei de date.

    Obiectiveleproiectrii bazei de date pot fi grupate n dou categorii:cerine funcionale:

    * rapoartele (situaiile de ieire) necesare;* cererile, interogrile care pot aprea;* alte ieiri care ar putea fi trimise altor sisteme de prelucrare a datelor;* toate actualizrile necesare;* toate calculele necesare;* toate restriciile sistemului (de exemplu, restricii funcionale sau restricii decomportament);

    * toate sinonimele utilizate pentru un atribut dat;restriciile fizice (volumul prelucrrilor i evaluarea performanelor):

    * numrul, dimensiunile i frecvena rapoartelor;* timpul de rspuns pentru fiecare interogare;* timpul de rspuns pentru fiecare actualizare;* msurile de securitate prin restricionarea accesului.

    Analiza preliminar i identificarea cerinelor informaionaleActivitatea de analiz cuprinde trei laturi importante:* analiza componentelor sistemului i a legturilor dintre acestea (analiza structural

    sau static)modelul structural sau static al sistemului;* analiza strilor sistemului i a tranziiilor posibile ntre aceste stri (analizacomportamental sau temporal)modelul dinamic (temporal) al sistemului;* analiza cerinelor informaionale, respectiv a transformrilor de date din cadrul

    sistemului prin care sunt satisfcute necesitile de informare ale organismuluistudiatmodelul funcional al sistemului;* integrarea celor trei modele n scopul completrii i corelrii lor.n urma acestei analize se trece la definirea structurii bazei de date. Importana analizeipreliminare pentru definirea structurii difer dup modelul de organizare a bazei de date.Astfel, pentru modelele ierarhic i reea analiza structural sau static este foarte important,

    pentru modelul relaional toate etapele au cam aceeai importan, iar pentru modelul OOtrebuie acordat maximum de atenie analizei temporale i celei funcionale.

    Analiza structural sau staticAceast etap are rolul evidenierii componentelor (obiectelor) din cadrul sistemului pentrucare se proiecteaz baza de date, precum i a legturilor dintre aceste componente.Se cunosc n acest sens mai multe tehnici de analiz:* modelul canonic (James Martin)* modelul Entitate-Asociere (Peter Chen);* tehnica SDM - Semantic Data Model (Michael Hammer, Dennis McLeod) .a.

    Analiza dinamic (de comportament)Are drept scop explicarea comportamentului elementelor sistemului analizat. Construirea

    modelului dinamic presupune:

    * identificarea strilor n care se afl componentele sistemului;* identificarea evenimentelor care determin trecerea unei componente dintr-o stare nalta;

    * stabilirea succesiunii evenimentelor i construirea unei diagrame care s descriefluxul acestora (diagram a strilor de tranziie, a fluxului de evenimente).

    16Pratt, P.J., Adamski, J.J., Database Systems. Management and Design, Boyd&Fraser, Boston, 1991,

    p. 285

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    25/73

    25

    Analiza cerinelor informaionale (analiza funcional)Urmrete determinarea transformrilor pe care le suport datele n sistemul studiat,

    n scopul satisfacerii cerinelor informaionale aferente acestui sistem. Transformrile de datese prezint sub forma unui flux al prelucrrilor, in care nodurile reflect procesele i arcelefluxurile informaionale.

    Construirea modelului funcional implic o serie de etape:* identificarea datelor de ieire i a celor de intrare;* construirea de diagrame de flux;* identificarea restriciilor pentru anumite date;* precizarea unor criterii de optimizare a prelucrrilor.

    Integrarea modelelor sistemului

    n etapa de proiectare, modelele static i dinamic sunt complet independente deSGBD (aplicaiile) ce urmeaz a se folosi, pe cnd modelul funcional este orientatpreponderent spre acestea.

    Rezultatele cercetrii din etapele anterioare sunt supuse unui proces de integrare, nurma cruia se obine o viziune de ansamblu a sistemului studiat. Cu aceast ocazie setesteaz completitudinea i consistena modelelor static i dinamic, anume dac informaiile

    dispun de coeren i dac nu au fost omise la analiz unele elemente informaionale. n cazde necesitate, n aceast etap se pot aduce completri modelului.Ca urmare a integrrii, dispare independena fa de aplicaii a modelelor static i dinamic, cai orientarea spre aplicaii a modelului funcional. Este un avantaj, deoarece pe de o parteorientarea excesiv spre aplicaii complic n mod inutil modelul i-i scad adaptabilitatea, iar

    pe de alt parte efectuarea unei analize complet independente de aplicaii presupune un mareconsum de resurse de toate tipurile.

    Proiectarea structurii bazei de date

    n urma analizei sistemului, se obin aa-numitele modele semantice sau conceptuale,care sunt independente de instrumentul care le va pune n aplicare. Este foarte important caanaliza s nu fie tributar vreunui SGBD, deoarece:

    * n cazul schimbrii SGBD ar fi nevoie de reproiectarea BD;* caracteristicile unui anume SGBD pot limita activitatea de analiz, fcnd modelulfoarte puin flexibil;* dac utilizatorul final nu cunoate nimic despre un anume SGBD, este imposibil s-iformuleze cerinele de informare n mod adecvat.

    Spre deosebire de analiza preliminar, proiectarea structurii bazei de date impunefocalizarea ateniei asupra unui SGBD. Astfel, modelul conceptual este transpus ntr-unmodel al datelor care are caracteristicile proprii SGBD-ului ales de proiectant.

    Proiectarea structurii bazei de date implic urmtoarele activiti17:* alegerea SGBD utilizat pentru implementarea i exploatarea BD;* proiectarea schemei conceptuale a BD;* proiectarea schemei externe (subschemei) BD;

    * proiectarea schemei interne (de memorare) a BD.Alegerea sistemului de gestiune a bazei de date

    n alegerea unui SGBD, se au n vedere mai multe aspecte:cerinele utilizatorilor, sub aspectul:

    * tipurilor de aplicaii;* timpului de rspuns;* confidenialitii i securitii datelor;* uurinei n utilizare;

    cerinele de ordin tehnic:* portabilitatea SGBD;* portabilitatea datelor i programelor de aplicaii;* condiiile de ncrcare, exploatare i ntreinere a BD;

    17Lungu, I. i colab., Op. cit., p. 53

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    26/73

    26

    cerine de ordin economic:* ncadrarea n bugetul destinat acestui scop;* timpul necesar pentru implementarea sistemului (inclusiv pregtireautilizatorilor).

    n urma analizei acestor cerine, ca i a SGBD-urilor disponibile i a modului cum ele oferrspuns la cerinele utilizatorilor, se decide care va fi SGBD utilizat.

    Proiectarea schemei conceptuale

    n accepiunea cea mai simpl, schema conceptual semnific descrierea datelor i arelaiilor dintre acestea. Elaborarea schemei conceptuale presupune:* stabilirea coleciilor de date i a coninutului acestora;* determinarea legturilor dintre coleciile de date;* testarea i revizuirea eventual a schemei obinute;* descrierea schemei conceptuale n maniera proprie SGBD ales.

    n stabilirea coleciilor de date i a legturilor dintre acestea se pornete de laentitile identificate n etapa de analiz. Astfel, n cazul unui proces economic oarecare,aceste entiti vor fi participanii la procesul n cauz. Spre exemplu, n cazul unei activiticomerciale, putem identifica la prima vedere cteva entiti: cumprtor, vnztor, marf etc.

    Pentru aceste entiti se vor preciza atributele sau proprietile care prezint interes pentru utilizatorii informaiei, eventual i o serie de atribute auxiliare, utilizate pentru aexprima legturi ntre entiti.

    Aceste entiti alctuiesc modelul semantic. Nu este obligatoriu ca fiecarecomponent a acestui model s atrag constituirea unei colecii de date distincte. n practic,

    pentru mbuntirea performanelor aplicaiilor (n special optimizarea timpului de acces ladate), poate opera o sporire, dar i o reducere a numrului de colecii de date proiectate iniial.

    n realizarea coleciilor de date se poate porni i de la documentele de ieire (cele careconin informaiile de care are nevoie utilizatorul), caz n care toate atributele identificateconcur la alctuirea unui dicionar de date i urmeaz a fi grupate n funcie de anumitelegturi identificabile ntre atribute.

    Modul de reprezentare a legturilor dintre coleciile de date identificate difer n

    funcie de modelul datelor pe care-l implic SGBD utilizat. Spre exemplu, pentru modeleleierarhic i reea se utilizeazpointeri, iar pentru modelul relaional, chei externe (strine).Testarea schemei conceptualepresupune verificarea corectitudinii (a modului n care

    aceasta ilustreaz cerinele utilizatorilor) i consistenei acesteia (a corespondenei dintrelegturile determinate i lumea real). De asemenea, trebuie ca redundana datelor s sesitueze la un nivel minim. Dac n aceast etap se identific erori, se poate reveni la etapa de

    proiectare i uneori chiar la cea de analiz a sistemului.n ceea ce privete descrierea schemei conceptuale, aceasta comport transpunerea schemei nlimbajul de manipulare a datelor specific SGBD ales. Rezultatul acestui proces l constituieschema(n accepiune CODASYL18) bazei de date.

    Proiectarea schemei externe

    Prin schem extern se nelege forma sub care un utilizator oarecare percepe schemaconceptual. Prin programele de aplicaii se ofer fiecrui utilizator o viziune oarecum"compartimentat" a BD, n funcie de necesitile sale specifice (exist aici i puterniceraiuni de securitate i confidenialitate a datelor). Acest mod de acces restrictiv la baza dedate se materializeaz prin aa-numitele view-uri, ca i prin drepturi de acces, acolo undeSGBD-ul face posibil acest lucru.

    n general, elementele care compun schema extern sunt similare elementelor carecompun schema conceptual. Totui, accepiunea CODASYL definete schema extern(subschema) ca pe o parte component a schemei conceptuale, dar care poate nregistradiferene n ceea ce privete alctuirea, fa de schema conceptual.

    18 abreviere de la "Conference on Data Systems Languages"

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    27/73

    27

    Proiectarea schemei interne

    Schema intern, numit de unii autori i schem de memorare, se refer explicit lamodul de memorare a datelor pe suport (purttorul de informaie). Acest mod de memorareeste specific SGBD utilizat. Din punctul de vedere al utilizatorului , aceast schem nu trebuies fie vizibil.

    ncrcarea datelor n baza de dateAceasta este o etap inerent proiectrii bazei de date, i const n specificarea

    coninutului acesteia (a datelor pe care le va memora). Dei activitatea nu este pretenioas, eaeste destul de delicat, dat fiind volumul mare de date care trebuie vehiculate.

    Un detaliu important este acela al ncrcrii BD numai cu date corecte, scop n caresunt necesare proceduri de validare i corectare a datelor.

    Sursele de date pot consta ndocumente primare,colecii de date aflate deja pesuporturi (de exemplu, sisteme de fiiere), date preluate direct, fr intervenia documentelor(prin schimb electronic de date).

    Nu trebuie s se exagereze n direcia procedurilor de validare utilizate, deoarece

    productivitatea introducerii datelor poate scdea n mod drastic.

    Exploatarea i ntreinerea bazei de date

    Exploatarea bazei de date este de resortul utilizatorilor finali i implic utilizarea dectre acetia a datelor din baza de date, n scopul satisfacerii cerinelor informaionale. Pentruaceasta, SGBD-urile dispun de limbaje de manipulare a datelor, ca i de alte instrumentespecializate (mai ales cele din categoria generatoarelor).

    ntreinerea bazei de date implic pe de o parte operaii de actualizare (modificare aconinutului), dar i de reproiectare a structurii (aceasta din urm fiind rezervatadministratorului bazei de date).

    Ca oricare alt sistem informatic, o baz de date poate ajunge ntr-o faz de declin,cnd ntreinerea sa devine nerentabil. n acest caz se poate decide proiectarea unei noi bazede date.

    2.2 MODELE CONCEPTUALE DE STRUCTURARE I ORGANIZARE ADATELOR N BAZE DE DATE

    Pentru descrierea structurii datelor unei baze de date i a relaiilor dintre acest ea suntfolosite procedee formale, concretizate n modele conceptuale. Acestea se particularizeaz

    prin terminologia utilizat i prin relaiile dintre date.

    Tipuri de relaii i structuri de reprezentare a relaiilor n cadrul unei baze de dateEntitile aceluiai sistem informaional sunt rareori izolate unele de altele, ele

    antrennd, cel mai adesea, legturi sau relaii. ntre datele diverselor tipuri de entiti potexista dou categorii de legturi sau relaii. Prima privete relaiile dintre datele aparintoareaceleiai entiti, iar a doua se refer la relaiile dintre mai multe entiti care pot fi i de tipuridiferite.

    La rndul lor relaiile pot fi binare i n-are.Relaiile binare presupun existena unui domeniu, a unui codomeniu i a unei

    corespondene ntre entitile acestora. n practica bazelor de date se utilizeaz patru tipuri derelaii binare:

    1-1 (una-la-una) n care unei realizri din domeniu i corespunde o realizare inumai una din codomeniu. (Figura nr.2.5 )

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    28/73

    28

    X1

    X

    X

    2

    .

    .

    n

    Y

    Y

    Y

    1

    2

    .

    .

    n

    Domeniu Codomeniu

    Fig. 2.5Relaia de tip 1-1 1-n (una la mai multe) n care unei realizri din domeniu i corespunde 0, una sau

    mai multe realizri din codomeniu. (figura nr. 2.6)

    X1

    X2

    YYYYY

    1

    2

    . 3.

    4

    5

    Domeniu Codomeniu

    Fig. 2.6Relaii de tip 1-n n-1 (mai-multe-la-una) n care mai multe nregistrri din domeniu corespund unei

    realizri din codomeniu. (Figura nr.2.7)

    X1

    X

    X

    2

    3

    Y

    Domeniu Codomeniu

    Fig. 2.7.Relaia n-1

    n-m (mai-multe-la-mai-multe) n care unei realizri din domeniu i corespund 0,una sau mai multe realizri din codomeniu, iar unei realizri din codomeniu icorespund 0, una sau mai multe realizri din domeniu (figura nr. 2.8):

    X1

    X2

    Y

    Y

    Y

    Y

    1

    2

    . 3.

    4

    Domeniu Codomeniu

    Fig. 2.8.Relaia n-m

    Relaiile n-arepresupun existena unei interdependene logice ntre realizrile uneimulimi de caracteristici definit pe o mulime de tupluri.

    Mecanismul de selecie i de identificare a componentelor unei baze de datepresupune existena unei structuri de date.Concret o structur de date reprezint o coleciede date ntre care s-au stabilit anumite relaii. Structurile de date care au aceeai organizare i

    sunt supuse prelucrrilor cu un grup de operatori de baz cu o semantic predefinit formeazun anumit tip de structur.

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    29/73

    29

    Principalele tipuri de structuri sunt19: punctual, liniar, arborescent, reea,

    relaional. Dintre acestea sunt considerate de baz structurile liniar i arborescent. Princombinarea lor n funcie de opiunile utilizatorilor, pot fi construite i alte structuri cu gradediferite de complexitate.

    2.2.2 Modele de organizare a datelor n bazele de dateUn model de date este un ansamblu de instrumente conceptuale care permit

    descrierea datelor, a relaiilor dintre ele, a semanticii lor, ca i a restriciilor la care suntsupuse acestea. Se pot clasifica n: modele orientate pe obiect, modele orientate penregistrare i modele fizice. Cum ne vom ocupa doar de descrierea nivelurilor conceptual iextern, vom trata primele dou categorii de modele.

    Modelele orientate pe obiect se caracterizeaz prin flexibilitate i explicitate nreprezentarea structurilor de date i a restriciilor pe care trebuie s le respecte ac estea. Celemai cunoscute sunt: modelul entiti-asociaii, modelul semantic, modelul funcional imodelul orientat pe obiecte.

    Modelul entiti-asociaiiare la baz percepia lumii reale sub forma unei colecii deobiecte, denumite entiti, unite prin intermediul unor asociaii. O entitate este un obiect care

    poate fi difereniat de alte obiecte printr-un ansamblu de atribute care permit descriereaprecis a acestuia. O asociaie reunete dou sau mai multe entiti. De exemplu, atributeleNumr i Disponibil descriu entitatea Cont la banc. Atributele Nume, Adres, etc. descriuentitatea Client. Exist o asociaie care leag un client de fiecare din conturile pe care le aredeschise la banca respectiv. Ansamblul entitilor de acelai tip formeaz o clas de entiti,iar ansamblul asociaiilor de acelai gen reprezint o clas de asociaii.

    n reprezentarea unei structuri de baze de date cu ajutorul modelului E-R se realizeazo diagram, care utilizeaz simbolurile:

    * dreptunghi, pentru clase de entiti,* elipse, pentru atribute,* romburi, pentru clase de asociaii,* linii, pentru a lega atribute de clase de entiti i clasele de entiti de clasele

    de asociaii.Exemplu

    Furnizor

    Adresa

    Localitate

    FURNIZORI Cumparare FACTURI-PRIMITE

    Numar

    Data

    Valoare

    Fig. nr. 2.9. Modelul Entitate-Asociaie

    Modelul de date orientat spre obiecte extinde definiia unei entiti pentru a includenu numai atributele care descriu starea obiectului, ci i aciunile asociate acestuia, respectivcomportamentul. Se spune c obiectul ncapsuleaz att starea, ct i comportamentul.

    Modelul de date orientat pe obiecte reprezint un model logic de date care coninesemantica obiectelor, acceptat n programarea orientat pe obiecte.

    Modelarea orientat obiect devine din ce n ce mai popular datorit abilitii de areprezenta relaii complexe ca i dea reprezenta datele i procesarea acestora cu ajutorul unornotaii consistente.

    Un model al datelor este o abstractizare a lumii reale ce permite "tratarea"

    complexitii inerente n cazul problemelor din lumea real prin concentrarea ateniei asupracaracteristicilor eseniale i interesante ale datelor de care are nevoie o organizaie. Un modelorientat obiect este construit n jurul "obiectelor" tot aa cum modelul E -A are la baz

    19 Lungu, I., Op. cit., p. 6

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    30/73

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    31/73

    31

    n etapa de proiectare a obiectelor va fi construit un model de proiectare prinadugarea unor detalii de implementare cum ar fi: restructurarea claselor pentru eficien,structurile interne de date i algoritmii pentru implementarea fiecrei clase, implementareacontrolului i a asociaiilor (legturilor), precum i mprirea n module fizice n concordancu strategia adoptat n timpul proiectrii sistemului. Clasele de obiecte specifice domeniuluiaplicaiei din cadrul modelului deanaliz vor fi mbogite cu o serie de elemente specifice

    procedurilor de calcul n scopul optimizrii performanelor.Etapa de proiectare este urmat de o etap de implementare. n aceast faz, proiectul

    este implementat cu ajutorul unui limbaj de programare sau a unui SGBD. Translatarea

    proiectului n cod surs este un proces relativ uor datorit faptului c modelul de proiectarencorporeaz deja o serie de aspecte ale limbajului de programare i SGBD-ului ales.

    Unele din avantajele des citate n favoarea orientrii spre obiecte sunt: Definiia unui sistem prin intermediul obiectelor faciliteaz construcia de

    componente software care seamn ndeaproape cu domeniul de aplicaie, contribuindastfel la proiectarea i nelegerea sistemelor;

    Datorit ncapsulrii i ascunderii informaiilor, ntrebuinarea obiectelor i mesajelorncurajeaz proiectarea modular;

    Implementarea unui obiect nu depinde de structura intern a acestuia, ci de modulcum acesta rspunde la mesaje; ntrebuinarea claselor i a motenirii promoveaz dezvoltarea de componente

    reutilizabile i extensibile n contrucia de noi sisteme sau pentru actualizarea celorexistente.

    O baz de date orientat spre obiecte este o colecie de obiecte persistente ipartajabile care sunt definite de un model de date orientat pe obiecte. Un sistem SGBD

    orientat pe obiecte este administratorul unei baze de date orientat pe obiecte.Aspecte structurale ale modelului de date orientat pe obiecte:

    * Obiectele sunt entiti de baz care ncorporeazstructuri de date i operaii;* Fiecare obiect are un identificator unic, atribuit de sistem;* Clasele descriu tipuri generice de obiecte;

    * Conceptul de clas este strns legat de conceptul de motenire;* Clasele formeaz ierarhii de clase;* Definirea unei clase este mecanismul de specificare a schemei bazei de date;* Schema bazei de date se poate extinde prin definirea de noi clase;* Definirea unei clase poate include atribute de tipuri definite de utilizator (imagine,sunet);

    * Se admit referiri recursive.Operaii ale modelului de date orientat pe obiecte:

    * Obiectele comunic prin mesaje;* Un mesaj poate fi trimis instanelor din mai multe clase;* Metodele pot fi definite, terse sau modificate;* Clasele pot fi definite, terse sau modificate;* Instana unei clase poate fi actualizat prin metode ce modific valorile variabilelor

    propriei instane.Reguli de integritate ale modelului de date orientat pe obiecte:

    * Obiectele trebuie s respecte caracteristicile clasei din care fac parte;* Obiectele sunt ncapsulate;* Un obiect nu exist fr s aib un identificator; dac obiectul este ters, se terge iidentificatorul;

    * Restricia de integritate cunoscut de la modelul relaional nu este implementat (nuexist posibilitatea de tergere n cascad).

    Modelele orientate pe nregistrare sunt utilizate pentru reprezentarea att a

    structurii logice a bazei de date, ct i a coninutului acesteia. Un dezavantaj principal este

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    32/73

    32

    absena instrumentelor prin care s se specifice restriciile datelor. Cele mai utilizate sunt:modelul relaional, modelul ierarhic i modelul reea.

    Modelul relaionalreprezint datele i legturile dintre ele sub forma unor tabele, ncare liniile i coloanele reprezint un element distinct al bazei de date. Exemplu -

    FURNIZORI FACTURI-PRIMITE

    Furnizor Adresa Localitate Furnizor Numr Data ValoareAlfaSRL

    Unirii 2 Iai Alfa SRL 12540 12/02/09 1259.8

    Beta SA Apelor 5 Bacu Beta SA 14870 14/02/09 3265Gama

    SA

    Viilor 56 Iai Alfa SRL 24550 22/02/09 2987.5

    Gama SA 18960 28/02/09 5420

    Modelul ierarhicreprezint structura datelor sub forma unui arbore, alctuit din maimulte noduri; unele sunt noduri- printe, altele sunt noduri-copil. Partea superioar esterdcina. Un fiu nu poate exista independent de tatl su, iar orice fiu poate fi la rndul sutat, deci poate avea unul sau mai muli fii.

    Primul model utilizat pentru organizarea datelor n baze de date, modelul ierarhic sebazeaz deci pe structura arborescent i pe relaiile 1-1 i 1-n, prezentndu-se sub forma unuiarbore, n care se regsesc pe un prim nivel rdcina (nodul-printe), iar pe nivele urmtoarediferite elemente subordonate (noduri-copil). Nodul-printe poate avea subordonate mai multenoduri-copil n timp ce un nod-copil poate avea un singur printe. Rezult c relaia printe-copil poate fi de tip 1-n, iar relaia copil printe poate fi doar de tip 1-1.

    Acest model asigur organizarea datelor pe orice tip de suport magnetic i reducereatimpului de acces la nregistrri. El are ns o serie de limite n special n operaiile deactualizare cnd adugarea de noi nregistrri, cu excepia celor din colecia de date rdcin,se poate efectua numai cu specificarea coleciilor de date superioare, iar tergerea uneinregistrri duce la eliminarea fizica tuturor nregistrrilor subordonate.

    n figura nr.2.10 este prezentat un exemplu de model ierarhic:

    Fig. nr.2.10. Modelul ierarhic

    Modelul reea este o dezvoltare a modelului ierarhic. nregistrrile sunt privite nbaza de date ca o colecie de grafuri.

    Modelul reea elimin redundanele specifice modelului ierarhic i se bazeaz pestructurile reea i pe relaiile de tip 1-1, 1-n i n-m. Caracteristica principal a acestui modeleste c accept ca orice colecie de date s se situeze pe nivelul 1, astfel fiind permis accesuldirect la realizrile coleciilor superioare (operaie imposibil n modelul ierarhic).

    n plus, prin acest model este permis reprezentarea unic a realizrilor n baza dedate.

    Legturile fizice pe suport sunt asigurate prin intermediul unor caracteristici careexprim pointer-ul (adresa de pe suport) a realizrii superioare sau a realizrii subordonate.

    Astfel reeaua este un graf orientat alctuit din noduri conectate prin arce. Nodurile corespund

    FACTURI-EMISE

    Factura 1 Factura 2 Factura 3

    Produs B

    Produs B

    Produs C

    Produs D Produs A Produs E Produs F

    Produs A

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    33/73

    33

    tipurilor de nregistrare, iar arcele pointerilor. n felul acesta este permis introducereanregistrrilor artificiale pentru a reprezenta legturile n-are (n>2)

    FACTURI-EMISE

    Factura 1 Factura 2 Factura 3

    Produs A Produs B Produs C Produs D Produs E Produs F

    Fig. nr. 2.11. Modelul reeaDup cum se observ din figura nr. 2.11, modelul admite relaii de tip n-m, ceea ce

    are ca efect reducerea redundanei datelor.Modelele ierarhic i reea nu permit realizarea unei independene logice satisfctoare

    ntre date i programe, deoarece relaiile dintre date exist i sunt referite n programele deaplicaii.

    2.3 SISTEME DE GESTIUNE A BAZELOR DE DATESGBD-urile reprezint un software complex care realizeaz/asigur independena,

    relaiile logice ntre date i o redundan minim a acestora. Ele trebuie s permit dezvoltarearapid i la un cost avantajos a programelor de aplicaii pentru exploatarea datelor dintr-ostructur complex, precum i accesul rapid la date i asigurarea securitii lor.

    SGBD-ul reprezint un sistem de programe care permite utilizatorului definirea,crearea i ntreinerea bazei de date i accesul controlat la aceasta.

    Sistemul SGBD const n elemente de software care interacioneaz cu programele aplicaie ale utilizatorului i cu baza de date. De obicei, un SGBD ofer

    urmtoarele faciliti1. Permite utilizatorilor s defineasc baza de date, de obicei printr-un limbaj de definire adatelor (DDL). Limbajul DDL permite utilizatorilor specificarea tipurilor de date i astructurilor, n timp ce constrngerile asupra datelor sunt stocate n baza de date

    2. Permite utilizatorilor s insereze, s reactualizeze, s tearg i s extrag date din baza dedate, de obicei printr-un limbaj de manipulare a datelor (DML). Faptul c exist undepozit central al tuturor datelor i descrierilor acestora permite limbajului DML s ofereo facilitate de interogare general a acestor date, denumit limbaj de interogare. Existenaunui limbaj de interogare elimin dificultile sistemelor bazate pe fiiere unde utilizatoruleste constrns s lucreze cu un set fix de interogri pentru a evita proliferarea de

    programe care creeaz probleme majore privind gestionarea acestora. Exist dou tipuride limbaje DML -procedurale i neprocedurale care se deosebesc n funcie de operaiile

    de extragere. De obicei, cele procedurale trateaz baza de date nregistrare cu nregistrare,n timp ce cele neprocedurale opereaz asupra unor seturi de nregistrri. n consecin,limbajele procedurale specific cum se obine rezultatul unei instruciuni DML, iar celeneprocedurale descriu numai ce date vor fi obinute. Cel mai obinuit tip de limbajneprocedural este limbajul structurat de interogare (SQL) care reprezint acum attlimbajul standard, ct i cel de facto pentru SGBD relaionale.

    3. Ofer accesul controlat la baza de date. De exemplu, poate furniza- un sistem de securitate care previne accesarea bazei de date de ctre utilizatori

    neautorizai- un sistem de integritate care menine concordana datelor stocate- un sistem de control al concurenei care permite accesul partajat la baza de date- un sistem de control al refacerii care restaureaz baza de date ntr-o stare precedent

    concordant ca urmare a unei defeciuni n hardware sau software- un catalog accesibil utilizatorilor care conine descrieri ale datelor din baza de date

  • 8/8/2019 Ap2 Baze de Date Pentru Ad Mini Strati A Publica

    34/73

    34

    SGBD-ul prezint i o facilitate cunoscut sub denumirea de mecanism devizualizare care permite fiecrui uti


Recommended