Baze de Date - Raspunsuri Pentru Examen.[Conspecte.md]

download Baze de Date - Raspunsuri Pentru Examen.[Conspecte.md]

of 13

Transcript of Baze de Date - Raspunsuri Pentru Examen.[Conspecte.md]

  • 5/25/2018 Baze de Date - Raspunsuri Pentru Examen.[Conspecte.md]

    1/1

    1.Definiiile BD i SGBD. Funcionaliti. Exemple.O baza de date este o colectie persistenta de informatii structurate, organizata si construita pentru facilitareaaccesului si prelucrarii eficiente.SGBD-(sistem de gestiune a BD)soft ce permite crearea si gestiunea bazelor de date.sistemul de gestiune a bazei de date (SGBD ansamblu de programe care realizeaz gestiunea i prelucrareacomplex a datelor, asigurnd interfaa !ntre BD i utilizatori."eprezint programul soft#are care asigur $

    - definirea bazei de date,- !ncrcarea datelor !n baza de date,

    - accesul la date (interogare, actualizare),- !ntreinerea bazei de date,- securitatea datelor,- reorganizarea bazei de date.

    !. "#op#ietatea $%on#edundana& 'n baza de date. Exemplu..%roprietatea &nonredundanta' in priectarea BD trebuie sa tindem sa eitam existenta redundantelor,adica aexistentei mai multor cai care arata spre aceeasi aloare. relaie este redundant dac aceeai informaie poate fi obinut prin intermediul altor relaii. biectiul este dea realiza un model de date minimal,deci relaiile redundante nu sunt necesare, acestea trebuie eliminate.. "#op#ietatea $)ndependena& 'n baza de date.)ndependenta*e o problema a carei rezolare constitue un scop in sine in conceptia si organizarea oricarei bd.*ndependenta datelor inseamna ca exista o delimitare neta intre reprezentarea fizica a datelor si imaginea pe care oare utilizatorul asupra acestor date.%roblema independentei datelor prezinta + aspecete$

    Independenta fizica-masura a imunitatii aplicatiilor fata de modificarile in structura fizica de merorare a datelor.Independenta logica- imunitate a modelului propriu al fiecarui utilizator fata de modificarile in structura logicaglobala a bd.+. ,tilizato#ii BD i #olu#ile lo#. Exemple.-neinitializati(functionari)-instruiti(absolentii colegiului)interactioeaza prin limbae direct cu BD.

    -programatori-administratori-preocupati de mentinerea BD,drept de acces,securitate,operatii de actualizare.-.#/itectu#a %S)00S"23onsta din niele$-nielul fizic(intern)-ne ofera structuri cu care noi construim BD.-nielul logic-administratorul proiecteaza BD./legem optiunile pentru nielul fizic prin nielul logic.-nielul extern(utilizatorului)0tilizatorul interactioneaza cu BD.1Nivelul intern constituit din sc2ema interna ce descrie structura de stocare fizica a datelor in baza de date1 Nivelul conceptual sau sc2ema conceptuala descrie structura intregii baze de date pentru o comunitate deutilizatori. 3a nielul conceptual se face o descriere completa a bazei de date, ascunzind detaliile legate destocarea fizica, concentrindu-se asupra descrierii entitatilor, tipurilor de date, relatiilor dintre ele, precum sia

    restrictiilor asociate.1Nivelul extern sau nielul izual (utilizator), include o colectie de sc2eme externe ce descriu baza de date prinprisma diferitilor utilizatori. 4iecare grup utilizator descrie baza de date prin prisma propriilor interese. 5xistatendinta la acest niel ca grupuri de utilizatori sa ascunda detalii de care nu sint interesate. 6i la acest niel se potfolosi modele de implementare sau modele de niel inalt.4.%i5elul fizic de abst#acie 'n BD. 6odele de date. Exemple.4isiere$-secentiale-sortate in ordinea cresterii c2eii primare./em acces la instructiunea n daca am trecut prininstructiunea n-7.-indexat secentiale-index este fisierul auxuliar anexat la cel de baza.*ndexsii se construiesc pentru fiecare c2eiesecundara.4aciliteaza accesul.

    -B-arbori-daca sint numai pointeri si nu date atunci se numesc B8-arbori-tabele de dispersie(2as2-table)fisiere cu acces direct.7.%i5elul logic de abst#acie 'n BD. 6odele de date. Exemple.9odele de date$

    7

  • 5/25/2018 Baze de Date - Raspunsuri Pentru Examen.[Conspecte.md]

    2/1

    -ierar2ic- :od artificial

    -retea programarea deine complicata

    -relational(propus de odd 7;

  • 5/25/2018 Baze de Date - Raspunsuri Pentru Examen.[Conspecte.md]

    3/1

    6e aduna informatia de la diiziuni si subdiiziuni .%rima etap !n proiectarea BD const !n realizarea unor modele de date conceptuale, pentru fiecare edere autilizatorilor asupra !ntreprinderii. O vederea utilizatorului reprezint datele cerute de ctre un anumit utilizator

    pentru a lua o decizie corect sau a efectua o anumit actiitate. De obicei, ederea unui utilizator constituie ozon funcional a !ntreprinderii, cum ar fi$ producia, marEeting, nzrile, personalul, contabilitatea saucontrolul aproizionrii. 0n utilizator poate fi o persoan real sau un grup de persoane care utilizeaz !nmod direct sistemul. 0tilizatorul se poate referi la un raport produs de ctre sistem sau poate solicita rezultateleunei tranzacii care trebuie acceptat de ctre acestea. Aederile utilizatorilor pot fi identificate utiliznd diersemetode$ pot fi examinate diagramele de flux de date care au fost realizate mai !nainte, !n scopul de a identifica

    zonele funcionale i posibil funciile indiiduale, ar putea fi c2estionai utilizatorii se pot examina procedurile,rapoartele i formulrile iFsau obsera !ntreprinderea !n funciune.1.6odela#ea 5iziunilo# utilizato#ului la etapa de p#oiecta#e conceptual a bazelo# de dateonsta din etape$-analiza cerintelor informationale-modelarea sc2emelor conceptuale particulare (iziunile user)-integrarea sc2emei particulare si crearea sc2emei globale.7.1-.Elementele modelului #elaional; at#ibute< domenii< tuplu#i. Definiii i exemple. entitate este un obiect real sau conceptual, cu o existenta independenta. entitate este un obiect cu existentafizica, persoana particulara, automobil, companie, actiitate, curs uniersitar, etc.rice entitate are o serie de proprietati numite si at#ibutece particularizeaza entitatea respectia. De exemplu,

    pentru o entitate angaat se pot enumera o serie de atribute cum sint nume, adresa, data nasterii, sex, salariu.Atribut(attribut): o unitate specific a informaiei despre un subiect; coloan sau cmp n tabel.Domeniulo multime finite de alori de acelasi tip pe care le poate lua atributul.=uplu*secenta de elemente care merg unul dupa altul dar nu fixam ordinea.14.Elementele modelului #elaional; sc/em #elaional< #elaie< baz de date< sc/em a bazei de date.Definiii i exemple."elatie-multimea finita de tupluri."elaiile !ntre dou tabele sunt unidirecionale, astfel c o tabel deine principal, iar cealalt deine

    subordonat.

    6c2ema relatiei-capulBaza de date - un ansamblu de date structurate, accesibile unei comuniti de utilizatori.Schema bazei de date poate fi reprezentat printr-o diagram de structur n care sunt puse neviden i legturile dintre tabele.17. %oiunea de c/eie. =ipu#i de c/ei.. Exemple.3/eieun camp sau o asociatie de campuri ce are alori distincte :@ :033 pentru fiecare inregistrare din bd.

    3/eie p#ima#: garanteaz unicitatea iminimalitatea i oblig mulimea de atribute

    s fie cheie primar. Pentru aceasta seutilizeaza clauza: PRIMARY !Y.Cheie secundar: garanteaz unicitatea atributelor astfel declarate. !e utilizeaz clauzaUNIQUE."i obligatoriu trebuie adiional specificat NOT NULL."estrictia precizeaza faptul ca un camp este o c2eie straina fiind c2eie primara a altei tabele.

    Definire in tabela angaat a c2eii straine pentru campul DGnr$"5/@5 @/B35 /ngaat (:095 A/"H/"(7C),*:* H/"(7),

    %"5: A/"H/"(7+),

    66: H/"(;) :6@"/*:@6 angG%I %"*9/"J I5J,D/@G:/ H/"(K),/D" A/"H/"(=),65L H/"(7),

  • 5/25/2018 Baze de Date - Raspunsuri Pentru Examen.[Conspecte.md]

    4/1

    6/3/"*0 *:@5M5",666: H/"(;),DG:" *:@5M5" :6@"/*:@6 angG4I "545"5:56 departament(DGnr) 4"5*M: I5J(DGnr) ondelete cascadeNon delete set :033)?

    18. 3onst#>nge#i de integ#itate st#uctu#ale. Exemple.:ot null$specifica faptul ca un cimp nu poate aea alori necunoscute,null.0niOue$determina comportamentul cimpurilor care nu fac parte din c2eia primara.onstringerea 0niOue asiguraca alorile duplicate nu or fi introduse pentru cimpurile specificate.*nsa cimpurile specificate pot aea alorinule,iar sistemul creeaza automat din ele un index pentru facilitatea cautarii in tabele.

    2eia primara$cimpurile nu pot contine alori duplicate.2eia externa$un cimp sau o multime de cimpuri ce orespund c2eii primare a altui tabel.2eia primara seutilizeaza pentru a defini legaturile dintre tabele.5x$tabelul comenzi contine cod.furnizor ca c2eie primara.cod furnizor din tabela furniozor este c2eie externa

    pentru tabelul comenzi.19.3onst#>nge#i de integ#itate compo#tamentale. Exemple.#$ec%: limiteaza valorile care pot fi luate de un cimp (sau mai multe cimpuri)&n cazul actualizarii 'sistemul testeaza constringerea booleana care urmeaza dupa cuv rezervat c$ec%.aca adevarat-esteacceptata actualizarea.e: H5I(&an studiu' B5@P55: 7 and C)*eguli:

    orice restricie are asociat un nume (explicit sau implicit)? Dac folosim :6@"/*:@ atunci numele trebuie dat explicit? 2eile multiple pot fi definite doar la nielul tabelei? :@ :033 doar la nielul coloanei.

    !:. ?pe#aii de actualiza#e a #elaiilo#. )%SE2= /daug un tuplu sau mai multe !ntr-o relaie.1 ,"D=E 9odific alorile unor atribute !ntro relaie specificat !n tuplurile specificate deun criteriu.1 DE@E=E Qterge tuplurile dintr-o relaie care satisfac un criteriu specificat.!1. ?pe#aiile t#adiionale pe mulimi; uniunea< inte#secia i dife#ena. "#op#ieti. Exemple.

    peratiile binare asupra relatiilor$ uniunea, intersectia si diferenta, necesita ca operanzii (relatiile) sa fiedefintii pe sc2eme compatibile. Uniunea a doua relatii compatibile r(") si s(6), notata cu r s, e o relatie definita pe sc2ema " sau 6 si

    consta din tuplurile ce apartin relatiilor r sau s. peratia uniunea are doua proprietati. 5a e comutatia, adica r s R s r. 5a este si asociatia, adics (r s) O R r(s O) pentru relaiile mutual compatibile r, s si O.

    Intersectia a doua relatii compatibile r(") si s(6), notata cu r Ss,neste o relatie definita pesc2ema " sau 6 si consta din tuplurile ce apartin concomitent relatiilor r si s.

    Diferenta a doua relatii compatibile r(") si s(6), notata cu r T s, este o relatie definita pe multimea deatribute " sau 6 si are !n calitate de tupluri, toate tuplurile din relatia r ce nu sunt !n s. Diferena nu se bucura de proprietatea comutatia, adica r T s Us T r. @otodata, nu e nici asociatia, adica (r Ts) T O Ur T (s T O), fiindca (r T s) T O R r T (s O) pentru orice relaii mutual compatibile r, s, si O.

    *ntersectia ORrSs

    Diferenta O7RrTsO+RsTr

  • 5/25/2018 Baze de Date - Raspunsuri Pentru Examen.[Conspecte.md]

    5/1

    !!. ?pe#aia p#odusul ca#tezian. "#op#ieti. Exemple.

    Produsul cartezian a doua relatii r(/7V/n) si s(B7VBm), notat cu r s, este o multime de tupluri (si nu!ntotdeauna o relatie) definite pe multimea de atribute /7V/n B7VBm. @uplurile reprezinta toate posibileleasociatii de tupluri din r si s$ daca tr Wr si ts Ws, atunci concatenatia trts este un tuplu !n r s? pentru orice perec2ede tupluri tr si ts din r si s, respecti, exista un tuplu t !n r s !nct tX/iYRtrX/iY, 7ZiZn si tXBYRtsXB], 7ZZm.

    %rodusul cartezian nu este o operatie comutatia. [n sc2imb se bucura deproprietatea asociatia.!. ?pe#aiile complement i complement acti5. "#op#ieti. Exemple.

    4ie relatia r("). :otam prin tup(") multimea tuturor tuplurilor asupra atributelor sc2emei " si a

    domeniilor lor. Copleentul relatiei r, notat cu \r, este \r R tup(") T r. 4ie r o relatie asupra sc2emei ", /W" si adom(/) R ]aNaWdom(/) ^ tWr^tX/Y Ra_. 9ultimea de alori

    adom(/) se numeste doeniul activ al atributului /. :otam cu atup(") multimea tuturor tuplurilor asupraatributelor sc2emei " si a domeniilor lor actie. /tunci copleentul activ, notat cu `r, este `r R atup(") T r.

    omplemen tul acti

    omplemen tul

    !+.

    ?pe#aiaselecia.

    "#op#ieti. Exemple.6electia este o operatie unara. %entru selectarea unor

    tupluri dintr-o relatie e necesara specificarea conditiilor deselectare. [n rezultat se obtine o relatie ce e o submultime de

    tupluri a relatiei initiale.

    6electia relatiei r (") conform formulei 4, unde 4 e aplicabila relatiei r("), e o submultime a relatiei r("),notata cu 4(r), ce consta din toate tuplurile tWr ce satisfac 4, adica 4(r) R {t N t Wr ^ 4(t)}.

    6electia sR((/ R B) ^ (D>C))(r)!-. ?pe#aia p#oiecia. "#op#ieti. Exemple.%roiectia e o operatie unara.

    Proiectia relatiei r asupra multimii de atribute L, notata cu x(r), e o relatie cu sc2ema L ce consta din L-alorile tuturor tuplurilor din r$ x(r) R {t [L] N t Wr}.

    C

  • 5/25/2018 Baze de Date - Raspunsuri Pentru Examen.[Conspecte.md]

    6/1

    %roiectia s R /,(r).!4. ?pe#aia Aonciune. "#op#ieti. Exemple.

    4ie doua relatii r(") si s(6).!onctiunea relatiilor r si s (notatia uzuala r++s) este o relatie cu sc2ema "6.@uplul t apartine relatiei rezultat, daca exista tuplurile tr si ts !n r si s, respecti, si satisfac tX"YRtr si tX6YRts, adicar ++ s R ]t N tX"Y R tr^ tX6Y R ts^ trWr ^ ts Ws_. Deci, fiecare tuplu din relatia rezultat este o concatenare a unui tuplu din r cu un tuplu din s ce au ("S6)-alori egale. /tributele cu acelasi nume !n sc2ema relatiei rezultat se iau o singura data. peratia onctiunea nu este comutatia. [n sc2imb, ea se bucura de proprietatea asociatia.

    onctiunea O R r ++ s!7. )nte#aciunea dint#e ope#aiile Aonciunea i p#oiecia. Exemple.

    4ie relatiile r(/ B) si s(B ). :otam ORr++s si r7R /B(O). [n urma operatiilor, obseram ca tuplurilerelatiei r7constituie o submultime proprie a relatiei r.

    !8. ?pe#aia *Aonciune. "#op#ieti. Exemple.

    "#onctiunea relatiilor r(") si s(6), notata cu r++/Bs , este o multime de tupluri concatenate de forma trts ,unde tr W r, ts W s si tr(/) ts(B), adica$

    r++/Bs R ] trts N trWr ^ ts Ws ^ tr(/) ts(B)_.peratia -onctiunea poate fi exprimata prin operatiile produsul cartezian si selectia. "ezultatul unei -onctiuni este acelasi cu rezultatul unei selectii operate asupra unui produs cartezian, adica r++/Bs R /B(r s).

  • 5/25/2018 Baze de Date - Raspunsuri Pentru Examen.[Conspecte.md]

    7/1

    !9. ?pe#aia semiAonciunea. "#op#ieti. Exemple.

    6emionctiunea e o operatie binara. 5a consta !n construirea unei relatii din cele doua si e formata numaidin tuplurile unei singure relatii ce participa la onctiune.

    4ie doua relatii r(") si s(6). Sei#onctiunea relatiei r si s, notata cur+ s, este o multime de tupluri determinata de expresia r+ s R "(r++s).

    6emionctiunea O Rr+s:. ?pe#aia di5iza#ea. "#op#ieti. Exemple

    4ie r(") si s(6) doua relaii si 6 ". :otam R " T 6.Diviziunea relatiei r la relatia s, notata cu rs, este orelatie definita pe multimea de atribute $ rs R ]tN pentru tsWs(6) tr W r(") ce satisface trXYRt si trX6YRts_.

    peratia diiziunea poate fi conceputa drept operatie inersa produsului cartezian. 4ie ORrs. /tunci Osproduce o relatie cu sc2ema " si relatia O a contine numarul maximal de tupluri ce ar satisface expresia Os r.

    Diiziunea OR rs

    1.3omponentele limbaAuluiSC@!

    #omponentele pe care lecuprinde limba,ul ! sunt

    urmatoarele: /.#omponenta de descriere adatelor relationale (limba,ul de descrierea datelor-)0 1.#omponenta de manipulare a datelor relationale(li0ba,ul demanipulare a datelro-2)0 3mbele fiind absolut necesare in gestiunea '. 4e linga aceste componente principale standartul !1 mai prevede si alte compon ale limba,: 5.#ontrolul tranzactiilor contine comenzi pt specific tranzactiilor 6.#ontrolul securitatii si refacerea datelor contine comenzi de administrare a bazei de date ptdefinirea utilizatorilor si a dreputului de acces la tabele!.=ipu#i de date nume#ice 'n SC@! i =#ansact SC@. Exemple7ipul numeric include numere intregi e diferite dimensiuni(integer sau int reprez pe 6 octeti0smallint pe

    1 octeti)numere reale reprez in virdula flotanta cu diferite precizii(float-6 octeti0real si double8precision9-octeti)si numere zecimale reprezentate cu precizia dorita(tip numerci sau decimal)ormatul de repcentare a numer zecimale cu precizia dorita este:numerci8(p0s)9 sau decimal8(p0s)9)unde p(precizia) este nr otal de cifre afisate iar s (scara) nr de cifre dupa punctul zecimal.

  • 5/25/2018 Baze de Date - Raspunsuri Pentru Examen.[Conspecte.md]

    8/13

    nge#i st#uctu#ale 'n SC@!. Exemple.. 3onst#inge#i de dependente6pecifica legatura dintre atribute(sau domenii)./ici putem identifica asa numita dependenta de multime deatribute]/ngaat 6alariu Departament 9anager_. *n relatia personal,un manager este in acelasi timp unangaat,dar nu orice angaat este manager.Deci aem ca dom(manager) 0i dom (angaat)8. 6odifica#ea i sup#ima#ea sc/emei #elaionale 'n SC@!.9.3ele mai simple inte#oga#i (numai cu p#oiectia

    *nterogare (Ouerr) este o operatie prin care se obtin datele dorite dintro baza de date selectate conform unuianumit criteriu(conditie)%roiectia operatie relationala unara prin care se selecteaza o submultime de atribute ale relatiei

    :umele si reducerile clientilor din r2ei%roiectia lGnume,reducere (6electia (clienti) cl.orasR'or2ei'+:.)nte#og#i cu c#ite#ii de selecie 'n SC@!. Exemple.

    *nterogarile cu criterii de selectie in 63 sunt utilizate pFu selectarea datelor din tabele./re urmatoareasintaxa de baza$6535@X@*%Ylista de cimpurih4"9lista de tabelehX:D*@*5Y3ista de cimpuri-lista de cimpuri ce trebuie selectate.3ista de tabele-lista de tabele de unde datele trebuie sa fie selectate.:D*@*5-defineste un filtru pFu interogare folosind unele clause ca PH5"5.5L$ 9odel,%ret 4"9 pcGuri PH5"5 dR=x "D5" BJ %ret

    +1.)nte#og#i cu funcii de ag#ega#e 'n SC@!. Exemple.

    K

  • 5/25/2018 Baze de Date - Raspunsuri Pentru Examen.[Conspecte.md]

    9/13

    4.de agreg .-prelucreaza multimi de inregistrari(linii) ale tabelului si returneaza un anumit rezultat.9aoritateaacestor functii,de obicei,actioneaza asupra tuturor liniilor tabelului.5le accepat parametrii$/ll-face ca functia sa considere toate inregistrarile inclusi cele duplicate.D*6@*:@-face ca funct. 6a considere numai inregistrarile ce nu poseda o aloare duplicata./AM-returneaza media aritmetica a lui x.0:@-returneaza nr. de linii a interogarii.9/LF9*:-returneaza aloarea maxima sau minima a expr.9/L sau 9*: (XD*6@*:@N/33)Y expr)5L$ 6535@ /AM(Aiteza) /s AitezaGmedie,

    9/L(Aiteza) /s AitezaGmaxima, 9*:(Aiteza) /s AitezaGminina.+!.)nte#og#i cu ag#ega#ea tuplu#ilo# 'n SC@!. Exemple.+.)nte#og#i de actualiza#e (inse#a#e i te#ge#e a datelo# 'n SC@!. Exemple3imbaul @"/:6/@-63 propune instructiuni ce corespund celor operatii de actualizare a bazei dedate$inserarea(instructiunea *:65"@)-pentru inserarea datelor,suprimarea(instructiunea D535@5)-pFu stergereadatelor si modificarea(instructiunea 0%D/@5)-pFu modificarea datelor.@oate optiunile se asupra tabelelor (fizicesau irtuale) si actualizearea se petrece la niel de linie de tabel.5L$"5/@5 @/B35 clienti(odGclient *:@,@ara H/"(+)D54/03@(j9D),:ume H/"(+=))? *:65"@ clienti (odGclient,@ara,:ume)A/3056(7+=,9D,*on %etrac2e)? *:65"@ clienti D54/03@ A/3056? *:65"@ clienti A/3056 (7+C=,4",acE 3ondon)?++.)nte#og#i de actualiza#e (modifica#e a datelo# 'n SC@!. Exemple.0%D/@5-operatia de modificare a continutului unuia sau a mai multor cimpuri ale tuplurilor.6intaxa instructiunii$ 0%D/@5 tabelh 65@coloanahRaloare nouah PH5"5 conditieh *n caz cind nici o conditie nu e impusa, toate cimpurile tuturor inregistrarilor or fi alterate de alorile noi.5L$ 0%D/@5 functionari 65@ 6ectorR/dministratie PH5"5 6ectorR4inante? 6535@ k 4"9 functionari "D5" BJ 6ector?+-. )nte#og#i cu uniuni 'n SC@!. Exemple.peratia 0:*:-permite fuzionarea a doua selectii pentru a obtine o multime de tupluri egala cu uniunea acestordoua selectii.

    5L. 6535@ produse.9odel ,%ret 4"9 produse,pcGuri PH5"5 produse.9odelRpcGuri.9odel /:D %roducatorRB 0:*: 6535@ produse.9odel,%ret 4"9 produse,laptopGuri PH5"5 produse.9odelRlaptopGuri.9odel /:D %roducatorRB 0:*: 6535@ produse.9odel,%ret 4"9 produse,imprimante PH5"5 produse.9odelRimprimante.9odel /:D %roducatorRB+4.)nte#og#i cu inte#secii 'n SC@!. Exemple.*nterogarile cu operatiile uniune,intersectia si diferenta sunt foarte aproape de interogarile scrise in algebrarelationala.6e formuleaza doua interogari care construiesc relatii cu sc2eme compatibile ,adica cu acelasi nr de

    atribute si de acelasi tip si aceste cereri sunt legate cu cuintele c2eie 0:*:,*:@5"65@ sau 5L5%@.%entru a gasi alori ce coincid in doua sau mai multe tabele ,se poate utiliza instructiunea *:@5"[email protected]$ 6535@ 9odel 4"9 produse *:@5"65@ 6535@ 9odel 4"9 pcGuriDaca *:@5"65@ este substituit cu 5L5%@, se obtine un rezultat,intr-un fel,iners celui precedent,adica se orafisa modelele de produse din primul tabel, care nu sunt in al doilea tabel.

    +7.)nte#og#i cu dife#ene 'n SC@!. Exemple*nterogarile cu operatiile uniune,intersectia si diferenta sunt foarte aproape de interogarile scrise in algebrarelationala.6e formuleaza doua interogari care construiesc relatii cu sc2eme compatibile ,adica cu acelasi nr de

    atribute si de acelasi tip si aceste cereri sunt legate cu cuintele c2eie 0:*:,*:@5"65@ sau 5L5%@.5L. 6535@ 9odel 4"9 produse

    5L5%@ 6535@ 9odel 4"9 pcGuri

    ;

  • 5/25/2018 Baze de Date - Raspunsuri Pentru Examen.[Conspecte.md]

    10/

    +8.)nte#og#i cu Aonciuni 'n SC@!. ExempleDeseori,pFu a obtine un rezultat complet, este necesara selectarea datelor din doua sau mai multe tabele.@abelele din baza de date sunt legate intre ele prin c2ei.5ste important,indeosebi,rolul c2eii primare care face cacoloanele ce o constituie sa posede o aloare unica pFu fiece rind.De ex.e necesar sa se afiseze producatorul si iteza laptopurilor./tributul iteza se afla in tabelullaptopGuri.*nformatia referitoare la producatori se afla in tabelul produse,rezultatul este ordonat dupa cimpul%roducator.5L. 6535@ %roducator,Aiteza 4"9 produse,laptopGuri PH5"5 produse.9odelRlaptopGuri.9odel "D5" BJ %roducatorCU !onctiune interna

    $%& 6535@ %roducator,Aiteza 4"9 produse *::5" *: laptopGuri : produse.9odelRlaptopGuri.9odel "D5" BJ %roducator.+9.)nte#og#i imb#icate cu @@ 'n SC@!. Exemple.6ubinterogare este o cerere care restituie un singur atribut. *nterogarea utilizat in comparaie se defineste in interiorul predicatului din clauza '(ere si se numesteinterogare imbricatll * face ca functia sa considere toate inregistrarile inclusie cele duplicateuantul c2eie all specific faptul c linia este alid dac aloarea atributului se afl inrelatie cu toate alorile returnate de interogare.6 se gseasc departamentele in care nu lucreaz nici un angaat cu numele *onescu.select Deptfrom Departament#2ere Dept h all (select Deptfrom /ngaati#2ere :ume R *onescu)/ceast interogare poate fi exprimat cu autorul operatorului diferen$select Deptfrom Departamentexceptselect Dept

    from /ngaati#2ere :ume R *onescu-:. )nte#og#i imb#icate cu % 'n SC@!. Exempleuantul c2eie any specific faptul c linia este alid dac aloarea atributului se afl inrelatie cu cel putin o aloare returnat de interogarea imbricat.6e consider tabelele /:M//@* si D5%/"@/95:@ prezentate in figura C.7.

    $xeplu)6 se gseasc angaaii ce lucreaz intr-un departament din *asi.select :ume, %renumefrom /ngaati#2ere Dept R an (select Deptfrom Departament

    #2ere ras R *asi)Observaie. /ceast interogare poate fi rezolat prin realizarea unei onciuni intre celedou tabele. -1. )nte#og#i imb#icate cu E)S=S 'n SC@!. Exemple./cest operator accept ca parametru o interogare imbricat sireturneaz aloarea adevrat doar dac interogarea nu produce un rezultat id.6 se gseasc persoanele care au acelasi nume si prenume, dar coduri diferite.select kfrom %ersoana %#2ere exists (select kfrom %ersoana %7

    #2ere %7.:ume R %.:ume and%7.%renume R %.%renume and%7.od h %.od ) -!. )nte#og#i imb#icate cu )% 'n SC@!. Exemple.

    7=

  • 5/25/2018 Baze de Date - Raspunsuri Pentru Examen.[Conspecte.md]

    11/

    63 pune la dispozitie doi operatori pentru a reprezenta apartenenta la o multime sinegatia sa$ in si not in. /cesti operatori sunt ec2ialenti cu = any, respecti all.select Deptfrom /ngaati#2ere 6alariu R an sau in (select max(6alariu)from /ngaati) -. )nte#og#i imb#icate cu $& 'n SC@!. Exemple.6e consider tabelele /:M//@* si D5%/"@/95:@ prezentate in figura C.7.6 se gseasc departamentele in care lucreaz angaatii ce castig cel mai mare salariu.

    select Deptfrom /ngaati#2ere 6alariu R an (select max(6alariu)from /ngaati)sauselect Deptfrom /ngaati#2ere 6alariu hR all (select 6alariufrom /ngaati)Observatii. Desi cele dou interogri sunt ec2ialente, este indicat folosirea functiiloragregat deoarece sunt mai concludente si se execut mai eficient. *n cazul primei interogri nu exist nici o diferena dac in loc de operatorul anyse foloseste operatorul all (deoarece interogarea intern are ca rezultat o singurlinie). -+. Defini#ea utilizato#ilo# i accesului la baza de date 'n SC@!. Exemple*n functie de modul de exploatare a bazei de date, utilizatorii se pot imprti in$adinistratorul bazei de date *DB+, persoana responsabil de proiectarea, controlul siadministrarea bazei de date.

    prograatorii de aplicatii definesc si creeaz programele ce acceseaz baza de date.utilizatorii obisnuiti cei care utilizeaz efecti baza de date.

    - utilizatori finali utilizeaz tranzactii (spre exemplu programe ce realizeazactiiti frecente si predefinite- utilizatori ocazionali capabili s utilizeze limbae interactie pentru a accesa

    baza de date, formuland interogri (sau actualizri) de diferite tipuri.%entru a putea lucra cu baze de date trebuie sa aem instalat un serer de baze de date.@rebuie sa realizamconexiunea s2 sa accesam in sfirsit datele. CC.Definirea permiselor asupra relaiilor !n 63+. 5xemple.6MBD-urile permit datelor s fie considerate drept resurse comune ale organizatiei,disponibile tuturor membrilor autorizati. Baza de date furnizeaz un model standardizat si precis al acelei prti a lumii reale care

    prezint interes pentru organizatie, model folosit in aplicaiile existente si care, cuextensiile necesare, poate fi folosit in aplicatii iitoare. 6MBD-urile ofer posibilitatea unui control centralizat al datelor. %artaarea bazelor de date permite reducerea redundantei si inconsistentei datelor. *ndependenta datelor, caracteristica fundamental a 6MBD-urilor, faorizeazdezoltarea de aplicatii mai flexibile si mai usor de modificat--. Defini#ea pe#miselo# asup#a #elaiilo# 'n SC@!. Exemple.*dee nam ce o aut in edere, pp ?)-4. Defini#ea sinonimilo# 'n SC@!. Exemple.6inonimele pot fi utilizate in interogari sau procedure stocate in loc de numele originale ale obiectelor din +, sau parti. De exemplu este neoie de executat o interogare catre un obiect de stocat pe alt serer./tunci pt a accesa

    acest obiect e necesar sa se scrie numele lui implicit:umeGserer.:umeGbazaGdeGdate.:umeGsc2ema.:umeGbiect.0tilizind un sinonim creat in sc2emacurenta,obiectul poate fi accesat doar specificind sinonimul respecti.

    77

  • 5/25/2018 Baze de Date - Raspunsuri Pentru Examen.[Conspecte.md]

    12/

    0n sinonim apartine unei sc2eme ca si alte obiecte ale sc2emei.:umele unui sinonim trebuie sa fie unic.0nsinonim poate fi creat pt urmat obiecte din baza de date$tabelele definite de utilizator(inclusie tabeleletemporare atit locale cit s2 globale)iziuni,procedure stocate,functii0n sinonim nu poate fi obiect de baza pt alt sinonim0n sinonim nu poate referi o functie de agregare definite de utilizatorDoar numele unui sinonim executa legatura intre acesta si obiectul de baza.5xistenta si tipul de erificareadrepturilor de acces catre obiectul de baza sunt aminate pina la rulare.prin urmare acelasi nume ca si obiectul de

    baza original.De exemplu se considera un sinonim cumparaturi care face referire la dbo.inzari in baza de date

    calculatoare.Daca tabelul dbo.inzari este sters si inlocuit cu o iziune numita dbo.inzari,atunci cumparaturiacum se refera la iziunea dbo.inzari.0rmatorul exemplu creaza un sinonim notebooE pt obiectul d ebaza,laptopGri din aza de calculatoare, apoiinterog2eaza baza de date,utilizind sinonimul creat$0se calculatoare?Moreate 6nonm notebooE for calculatoare.dbo.laptopGuri?Mo6elect kfrom notebooE?Mo-7. Bloca#ea #elaiilo# i gestiunea t#anzaciilo# 'n SC@!

    6istemul bloc2eaza !n mod automat o linie !n numele unei tranzactii pentru a !mpiedica alte tranzactii sa bloc2ezeaceeasi linie. /ceasta blocare !mpiedica manipularea simultana a unei 0nii de catre doua tranzactii distincte,

    preenindu-se astfel interferenta distructia a instructiunilor DD3 si D93 contradictorii. De exemplu, racfe!mpiedica distrugerea unui tabel daca exista tranzactii nefinalizate !n care este implicat tabelul respecti. /ceste

    blocari ale datelor sunt anulate automat atunci cnd tranzactia este finalizata. Blocarea implicita a datelor decurgeautomat pentru toate instructiunile 63, astfel !nct nu este necesar ca utilizatorii bazei de date sa bloc2eze liniile!n mod explicit, !n mod prestabilit, racle bloc2eaza resursele la nielul cel mai scazut posibil.@ranzactiile sunt grupuri logice de instructiuni 63. 4iecare tranzactie se !nc2eie fie cu o finalizare, fie cu oderulare !napoi. 4inalizarile duc la salarea permanenta a modificarilor bazei de date efectuate de catre tranzactie.Derularile !napoi anuleaza toate modificarile bazei de date efectuate de catre tranzactie.

    Mestionarea tranzactiilor asigura concurenta si coerenta datelor pentru toti utilizatorii bazei de date. !n lipsagestiunii tranzactiilor, calitatea si precizia datelor ar fi compromise, iar baza de date ar deeni aproape deneutilizat.-8. Defini#ea 5iziunilo# 'n SC@!. Exemple iziune (A*5P) este un table irtual al carui continut este definit de o interogare. A. poate fi create din unulsau mai multe tabele ale bd.Aiziunile sunt folosite pentru a concentra,simplifica si personalize fiecare patrundere a utilizatorului in bd.5le potfi folosite si ca mecanisme de securitate permitind utilizatorului sa acceseze date prin intermediului iziunilor,faraa acorda utilizatorilor permisiuni sa acceseze tabelele de baza direzt.Aiziunile pot fi deasemenea folosite atuncicind sunt copiate date din 63 serer si pentru partaarea datelor.+ tipuri de creare a iziunilor$4olosind instructiunea reate ie# a limbaului transactGsOl

    4olosind A5P Designer al componentei 6 serer management studio.%rincipii de creare a iziunilor$ A. poate fi create numai in baza de data in uz.@otusi tabelele si iziunile ce se refera la o iziune noua potexista in alte baze de date sau ciar pe alte serere%ot fi construite iziuni asupra altor iziuni sau procedure ce se refera la iziuni./supra A. nu pot fi construitiindecsi sau definiti indecsi full-text. A., fie exemplu+ in bd calculatoarepoate fi definite folosind limb 63 de exemplu$0se calculatoare?Mo*f obectG*D(exemplul+,A) is not null drop ie# exemplul+?Mo

    reate Aie# exemplul+ /s select 9odel from produse? -9.Defini#ea indecilo# 'n SC@!. Exemple.

    7+

  • 5/25/2018 Baze de Date - Raspunsuri Pentru Examen.[Conspecte.md]

    13/

    0n index este un obiect al sc2emei bazei de date care faciliteaz accesarea rapid i unioc a datelor. [n anumitecondiii iteza de execuie a cererilor. Dup ce indexul a fost creat, utilizatorului nu i se mai cere nici o operaiedirect asupra lui, el a fi folosit i !ntreinut automat de ctre 6MBD.6intaxa pentru crearea unui index este urmtoarea$"5/@5 *:D5L numeGindex : numeGtabela (numeGcoloana7 X, nume coloana+, VY)5xemplu$ crearea unui index dup coloana numr factur !n tabela facturi$"5/@5 *:D5L nrGfacturaGindex : facturi (nrfact)%entru tabele mici, folosirea indecilor nu aduce !mbuntiri de performan. 6e folosesc atunci cnd coloaneledup care se creeaz indecii conin o diersitate mare de informaii sau multe alori :033. *ndecii optimizeaz

    interogrile atunci cnd acestea returneaz o cantitate mic de date. *ndecii cresc iteza de regsire a datelor dar!ncetinesc actualizarea datelor datorit faptului c sistemul trebuie s actualizeze i fiierele index. [n general estefoarte util s se creeze indeci dup cmpuri care se folosesc !n operaii de oin.Qtergerea unui index se face cu comanda D"% *:D5L$D"% *:D5L numeGindex X: numeGtabelaY 4:.Defini#ea const#>nge#ilo# i ase#iunilo# 'n SC@!. Exemple%t formularea unor restrictii mai generale decit cele corespunzind tabelelor si coloanelor ,63 da posibilitateafolosirii unei intructiuni specifice cu sintaxa$reate assertion constraintGnameh c2ecE(searc2Gcondition)6pre deosebire de restrictiile de tabele si de coloane asertiunile nu sint associate cu nici o definitie de tabela

    particulara./sertiunile sunt folosite de obicei pt a formula restrictii asupra mai multor tabele."emarcam ca pt asatisface restrictia,conditia din clauza c2ecE trebuie sa furmizeze o aloare fie true,fie unEno#n.Aederile si /seriunile se folosesc intransportul sc2emelor conceputale din modelul 55/ si din 093 in modelulrelational.5xemplu de adaugare de constringere$/lter @able tasE onstraint 4oreign Ie (ne#tasEind)references ne#tasE(ne#tasEid)? constringere se poate adauga si la crearea tabelului.onstringeri de integritate$2eile primare,alori implicite pt cimpuriDaca integritatea bazei de date nu este asigurata,adica nu sint respectate constringerile de integritatea se spune ca

    bd este incosistenta.

    7