Interogarea (query), este operaţia prin care se obţin datele

Size: px
Start display at page:

Download "Interogarea (query), este operaţia prin care se obţin datele"

Transcription

1 CAPITOLUL 3 INTEROGAREA BAZELOR DE DATE Interogarea (query), este operaţia prin care se obţin datele dorite dintr-o bază de date, selectate conform unui anumit criteriu (condiţie). Întrucât operaţia de interogare este cea mai importantă operaţie de manevrare a datelor, de multe ori limbajele de manevrare a datelor sunt denumite limbaje de interogare. Pentru formularea conceptuală a interogărilor în bazele de date relaţionale s-au dezvoltat două limbaje abstracte de interogare: algebra relaţională şi calculul relaţional, (Date95), (Sim99). Algebra relaţională (relational algebra), constă dintr-o mulţime de operaţii care au ca operanzi relaţii, iar rezultatul este tot o relaţie. Calculul relaţional (relational calculus), este bazat pe calculul predicatelor şi exprimă o interogare formulând o definiţie a rezultatului dorit (de regulă, o relaţie) printr-o expresie de calcul relaţional. Variabilele unei expresii de calcul relaţional pot fi variabile de tuplu (variabile ale căror valori sunt definite pe mulţimea tuplurilor unei anumite relaţii) sau variabile de domeniu (variabile ale căror valori sunt definite pe domenii de definiţie ale atributelor). Pe baza unor astfel de variabile se defineşte calculul relaţional al tuplurilor, respectiv calculul relaţional al domeniilor. Aceste limbaje de interogare abstracte, algebra relaţională, calculul relaţional al tuplelor şi calculul relaţional al domeniilor sunt echivalente din punct de vedere al capacităţii de exprimare a interogărilor, diferenţele constând în modul de formulare a acestora. S-a demonstrat că, pentru orice expresie de algebră 0

2 relaţională, se poate găsi o expresie de calcul relaţional echivalentă şi invers. Limbajele de interogare reale implementate în sistemele de baze de date relaţionale sunt limbaje definite pe baza unuia sau altuia din limbajele de interogare abstracte, sau pe o combinaţie a acestora. De exemplu: Limbajul SQL este în cea mai mare parte bazat pe algebra relaţională, dar mai conţine şi construcţii derivate din calculul relaţional. Limbajul ISBL (Information System Base Language), al firmei IBM este bazat în întregime pe algebra relaţională. Limbajul QUEL al SGBD Ingres este bazat pe calculul relaţional al tuplurilor. Limbajul QBE (Query by Example), dezvoltat la firma IBM este bazat pe calculul relaţional al domeniilor. Un limbaj de interogare real este denumit relaţional complet dacă implementează toate operaţiile prevăzute de unul din limbajele de interogare abstracte. În general, toate limbajele relaţionale implementate în SGBD sunt limbaje relaţionale mai mult decât complete, conţinând şi operaţii care nu sunt prevăzute în limbajele relaţionale abstracte, de exemplu, efectuarea unor calcule aritmetice asupra valorilor unor atribute (sumă, medie, minim, maxim), funcţii de tipărire a relaţiilor etc. Limbajul SQL este limbajul cel mai utilizat în sistemele relaţionale şi de aceea, în continuare majoritatea exemplificărilor vor fi prezentate în SQL. 3.. Algebra relaţională Algebra relaţională (relational algebra), exprimă interogările prin aplicarea unor operatori specializaţi (operatorii algebrei relaţionale), asupra relaţiilor. E.F. Codd a propus opt operaţii ale algebrei relaţionale, grupate în două categorii: 03

3 Operaţii pe mulţimi: reuniunea (union), intersecţia (intersection), diferenţa (difference) şi produsul cartezian (Cartesian product). Aceste operaţii reprezintă adaptarea operaţiilor corespunzătoare din teoria mulţimilor şi acţionează asupra relaţiilor văzute ca mulţimi de elemente (tupluri), fără a lua în consideraţie compoziţia fiecărui element. Operaţii relaţionale speciale: restricţia (restriction), proiecţia (projection), joncţiunea (join) şi diviziunea (division). Aceste operaţii iau în consideraţie compoziţia tuplurilor, formate din valori ale atributelor relaţiilor. Toate aceste operaţii trebuie să asigure proprietatea de închidere, adică rezultatul fiecărei operaţii trebuie să fie tot o relaţie. Această proprietate permite efectuarea operaţiilor imbricate: proiecţia unei joncţiuni dintre o relaţie şi restricţia aplicată altei relaţii etc. Restricţia şi proiecţia sunt operaţii unare (au un singur operand, o relaţie); operatiile pe mulţimi, joncţiunea şi diviziunea sunt operaţii binare (au doi operanzi, două relaţii) Operaţii pe mulţimi În operaţiile asupra relaţiilor considerate ca mulţimi se impun anumite condiţii celor doi operanzi, astfel încât relaţia rezultat să fie obţinută ca o mulţime de tupluri omogene. Aceste condiţii depind de tipul operaţiei: reuniunea, intersecţia şi diferenţa necesită ca relaţiile să fie compatibile, iar produsul cartezian necesită ca numele atributelor celor două relaţii operand să fie distincte. Pentru ca două relaţii să fie compatibile, trebuie să aibă acelaşi număr de atribute şi atributele corespondente să fie definite pe domenii compatibile. Reuniunea a două relaţii compatibile R şi S este o relaţie Q U = R U S care conţine toate tuplurile ce aparţin fie relaţiei R, fie relaţiei S, fie ambelor relaţii. Tuplurile care aparţin 04

4 ambelor relaţii se introduc în relaţia rezultat o singură dată, adică nu se duplică. Operaţia de reuniune se exprimă în limbajul SQL ca o reuniune a două tabele obţinute ca rezultat a două comenzi SELECT, cu sintaxa: SELECT lista_coloane FROM tabel [WHERE condiţie] UNION SELECT lista_coloane FROM tabel [WHERE condiţie]; Cele două liste de coloane din clauzele SELECT trebuie să conţină atribute compatibile. Tabelele din clauzele FROM, ca şi condiţiile din clauzele WHERE pot fi identice sau diferite. Fie relaţiile: ANGAJATI(IdAngajat,Nume,Prenume,DataNast erii, Adresa,Functie, Salariu) şi FURNIZORI(IdFurnizor,Nume,Prenume,DataNaşt erii,adresa,firma). O operaţie de reuniune pe baza acestor relaţii poate arăta astfel: SELECT Nume,Prenume FROM ANGAJATI WHERE Adresa = Bucuresti UNION SELECT Nume,Prenume FROM FURNIZORI WHERE Adresa = Bucureşti ; Rezultatul va fi o relaţie cu atributele (Nume,Prenume) care conţine numele şi prenumele tuturor angajaţilor şi ale furnizorilor care locuiesc în oraşul Bucureşti. Dacă există tupluri duplicat (un angajat şi un furnizor cu acelaşi nume şi prenume, ceea ce este posibil), relaţia rezultat conţine un singur tuplu cu valorile respective. Opţiunea SQL UNION ALL permite ca rezultatul să conţină duplicate, deci acest rezultat nu mai poate fi numit relaţie. După cum se observă, limbajul SQL admite unele construcţii care nu respectă cerinţele teoretice ale modelului relaţional. 05

5 Intersecţia a două relaţii compatibile R şi S este o relaţie Q I = R S care conţine toate tuplurile care aparţin atât relaţiei R cât şi relaţiei S. La fel ca şi reuniunea, operaţia de intersecţie se exprimă în SQL ca intersecţie a două tabele obţinute ca rezultat a două comenzi SELECT, cu sintaxa: SELECT lista_coloane FROM tabel [WHERE condiţie] INTERSECT SELECT lista_coloane FROM tabel [WHERE condiţie]; Diferenţa a două relaţii compatibile R şi S este o relaţie Q M = R S care conţine toate tuplurile care aparţin relaţiei R, dar nu aparţin relaţiei S. Operaţia de diferenţă se exprimă în SQL ca diferenţă a două tabele obţinute ca rezultat a două comenzi SELECT, cu sintaxa: SELECT lista_coloane FROM tabel [WHERE condiţie] MINUS SELECT lista_coloane FROM tabel [WHERE condiţie]; Reuniunea şi intersecţia sunt comutative (R U S = S U R; R S = S R) şi asociative (R U S U T) = (R U S) U T; R (S T) = (R S) T). Diferenţa nu este nici comutativă (R S S - R), nici asociativă (R (S T) (R S) T). Produsul cartezian. În teoria mulţimilor, produsul cartezian al mulţimilor R şi S este o mulţime compusă din toate perechile ordonate de elemente ale celor două mulţimi: R S = {<a,b> U a U R,b U S}. În algebra relaţională, produsul cartezian al relaţiilor R(A,A,... A n ) şi S(B,B,...B m ) este o relaţie Q C (A,A,....A n,b,b,...b m ) = R S care are ca 06

6 atribute toate atributele primei relaţii plus toate atributele celei de-a doua relaţii. Pentru a se obţine tuplurile relaţiei rezultat se combină (se concatenează) valorile atributelor fiecărui tuplu din prima relaţie cu valorile atributelor tuturor tuplurilor din cea de-a doua relaţie. Din această definiţie se observă că gradul relaţiei rezultat este egal cu suma gradelor celor două relaţii operanzi, iar cardinalitatea este egală cu produsul cardinalităţilor celor două relaţii operand. Pentru exemplificare se va calcula produsul cartezian al relaţiilor ANGAJATI şi SECTII, prezentate mai jos în fig. 3.. Fig. 3.. Produsul cartezian a două relaţii. 07

7 Pentru ca rezultatul produsului cartezian să fie corect din punct de vedere relaţional, este necesar ca atributele celor două relaţii operand să aibă nume diferite, deoarece în relaţia rezultat nu pot exista două atribute cu acelaşi nume. Această cerinţă se rezolvă uşor, prin calificarea numelor unor atribute cu numele relaţiei căreia îi aparţin sau prin redenumirea atributelor. Calificarea numelui unui atribut cu numele relaţiei se realizează prin scrierea numelui atributului precedat de numele relaţiei, cele două nume fiind separate prin operatorul punct (.), la fel ca în reprezentarea datelor sau funcţiilor membre ale unui obiect (instanţă a unei clase) în programarea obiect-orientată. De exemplu, atributul IdSectie din relaţiile ANGAJATI şi SECTII se poate diferenţia prin calificare astfel: SECTII.IdSectie şi ANGAJATI.IdSectie; Pentru redenumirea atributelor în algebra relaţională se poate folosi o operaţie specială, care se adaugă celor opt operaţiii de bază. Sintaxa conceptuală a operaţiei de redenumire este: RENAME nume_relatie.nume_atribut AS noul_nume_atribut; Operaţia produs cartezian este conceptual comutativă, adică R S = S R, dacă se consideră că atributele unei relaţii nu sunt ordonate. Dacă se consideră schema relaţiei rezultat ca listă a atributelor sale, atunci, prin convenţie, atributele primei relaţii operand sunt primele în lista de atribute a relaţiei rezultat, iar atributele celei de-a doua relaţii urmează în lista atributelor relaţiei rezultat. Operaţia produs cartezian este asociativă, dacă se consideră că ordinea atributelor într-o schemă de relaţie şi ordinea tuplurilor într-o relaţie nu este relevantă: R (S T) = (R S) T. În limbajul SQL, produsul cartezian a două tabele R şi S se obţine ca o variantă a instrucţiunii SELECT, într-una din formele: SELECT lista_coloane FROM R,S; 08

8 În prima formă, limbajul SQL admite operaţia produs cartezian şi în situaţia în care în cele două relaţii operand există două atribute cu acelaşi nume, subînţelegându-se că atributele rezultatului sunt ordonate, mai întâi fiind atributele primei relaţii, urmate de atributele celei de-a doua relaţii. Pentru cea de-a două formă, atributele cu acelaşi nume trebuie să fie calificate cu numele relaţiei respective. De exemplu, produsul cartezian al relaţiilor SECTII(IdSectie,Nume,Buget) şi ANGAJATI(IdAngajat,Nume,Prenume,DataNaster ii,adresa,salariu,idsectie), se poate scrie în SQL într-una din formele: SELECT * FROM SECTII,ANGAJATI; SELECT SECTII.IdSectie,SECTII.Nume,Buget,IdAngaja t, ANGAJATI.Nume,Prenume,DataNasterii,Adresa, Salariu, ANGAJATI.IdSectie FROM SECTII,ANGAJATI; În plus, în limbajul SQL se pot redenumi atributele folosind cuvântul cheie AS între numele unui atribut şi redenumirea acestuia. În această formă, interogarea precedentă poate fi scrisă astfel: SELECT SECTII.IdSectie,SECTII.Nume AS SNume, Buget,IdAngajat,ANGAJATI.Nume AS ANume, Prenume,DataNasterii,Adresa,Salariu, ANGAJATI.IdSectie FROM SECTII,ANGAJATI; În unele implementări ale limbajului SQL nu este necesar cuvântul cheie AS pentru redenumirea atributelor. 09

9 3... Operaţii relaţionale speciale În operaţiile speciale asupra relaţiilor se ia în consideraţie compoziţia tuplurilor (combinaţii de valori ale atributelor) şi se impun anumite condiţii atributelor acestora. Restricţia (restriction), este o operaţie relaţională unară care selectează dintre tuplurile relaţiei operand acele tupluri care îndeplinesc o condiţie dată. Operaţia de restricţie se mai numeşte şi selecţie (întradevăr, restricţia face o selecţie a tuplurilor), dar este mai bine să fie evitată această denumire deoarece se poate confunda cu instrucţiunea SELECT, care are rolul de instrucţiune generală de interogare. Operaţia de restricţie se notează: σ θ (R), unde θ este o expresie logică specificată asupra atributelor relaţiei R. În relaţia rezultat sunt selectate acele tupluri ale relaţiei R pentru care expresia θ are valoarea (TRUE). Relaţia rezultat are aceleaşi atribute ca şi relaţia operand. Expresia logică θ este formată din una sau mai multe variabile logice v conectate prin operatorii logici AND, OR, NOT, ca de exemplu: θ = v AND (v OR v 3 )... Fiecare variabilă logică v este rezultatul returnat de un operator de comparaţie. Se pot compara valorile a două atribute sau se poate compara valoarea unui atribut cu o constantă. De exemplu, pentru a selecta din relaţia ANGAJATI toţi angajaţii care lucrează în secţia şi au salarii mai mari sau egale cu 4000 şi pe cei care lucrează în secţia şi au salarii mai mari sau egale cu 3000, se foloseşte restricţia prezentată în figura 3.. Rezultatul prezentat corespunde stării relaţiei ANGAJATI din figura 3.. Precedenţa operatorilor logici este cea cunoscută din logica matematică: NOT, AND, OR; această precedenţă se poate modifica folosind paranteze. În expresia din fig. 3. nu sunt 0

10 neapărat necesare parantezele, dar au fost introduse pentru a evidenţia mai clar condiţiile impuse valorilor atributelor. Fig. 3.. Operaţia de restricţie. O secvenţă de restricţii poate fi aplicată în orice ordine, adică: σ cond (σ cond (R))= σ cond (σ cond (R)) Mai mult, se poate observa şi demonstra cu uşurinţă că orice secvenţă de restricţii poate fi înlocuită printr-o singură restricţie în care expresia logică de condiţie se obţine prin conjuncţia (AND) tuturor condiţiilor: σ cond (σ cond (σ condn (R)))=σ cond AND cond..and condn (R) Identitatea de mai sus poate fi interpretată şi invers, anume că operaţia de restricţie poate fi divizată (splitată) în operaţii de restricţii succesive cu condiţii care sunt componentele conjunctive (conectate prin operatorul AND) ale condiţiei de restricţie. Cardinalitatea (numărul de tupluri), relaţiei rezultat al operaţiei de restricţie este mai mică sau cel mult egală cu cardinalitatea relaţiei operand. Situaţia de egalitate apare dacă expresia logică de condiţie este evaluată la valoarea TRUE pentru oricare tuplu al relaţiei operand. De regulă însă, prin operaţia de restricţie se obţine un număr de tupluri mai mic decât numărul de tupluri al relaţiei date. În limbajul SQL restricţia se exprimă printr-o formă particulară a instrucţiunii SELECT, în care lista de atribute este formată din toate atributele unei singure relaţii, iar clauza WHERE este obligatorie şi introduce condiţia de restricţie:

11 SELECT * FROM tabel WHERE conditie [clauze_secundare]; De exemplu, pentru a obţine restricţia din figura 3. se introduce comanda: SELECT * FROM ANGAJATI WHERE IdSectie = AND Salariu >= 4000 OR IdSectie = AND Salariu >=3000; În termenii folosiţi în limbajul SQL, restricţia selectează o parte din liniile tabelului operand. Proiecţia (projection) este o operaţie relaţională unară prin care se selectează o submulţime de atribute ale relaţiei operand. Notaţia pentru proiecţie este: Π lista_atribute (nume_relatie). Relaţia rezultat a operaţiei de proiecţie conţine numai atributele din lista de atribute dată ca parametru, care este o submulţime nevidă a mulţimii atributelor relaţiei operand. Două exemple de operaţii de proiecţie asupra relaţiei ANGAJATI cu starea din fig. 3. sunt prezentate în fig Dacă lista atributelor de proiecţie este o cheie (sau conţine o cheie) a relaţiei operand, atunci relaţia rezultat are toate tuplurile distincte (fig. 3.3, a). În această situaţie numărul de tupluri ale relaţiei rezultat este egal cu numărul de tupluri ale relaţiei operand. Dacă lista de atribute nu este o cheie (sau nu conţine o cheie) a relaţiei operand, atunci este posibil ca prin proiecţie să se obţină două sau mai multe tupluri identice, dar în relaţia rezultat sunt eliminate tuplurile duplicat. De exemplu, în proiecţia pe atributele (Nume,Prenume) a relaţiei ANGAJATI din fig. 3.3, b tuplul (Ionescu,Ion) este introdus o singură dată în relaţia rezultat, deşi el este obţinut de două ori prin operaţia de proiecţie. În acestă situaţie, numărul de tupluri ale relaţiei rezultat este mai mic decât numărul de tupluri ale relaţiei operand.

12 Gradul relaţiei rezultat al unei proiecţii (numărul de atribute) este mai mic sau egal cu gradul relaţiei operand. Numărul de atribute al relaţiei rezultat este egal cu numărul de atribute al relaţiei operand dacă lista de proiecţie este identică cu lista atributelor relaţiei date. Fig Operaţii de proiecţie: a - lista atributelor de proiecţie conţine o cheie a relaţiei operand; b - lista atributelor de proiecţie nu conţine o cheie a relaţiei operand. Fie o succesiune de operaţii de proiecţie: Π lista (Π lista...(π listak (R))...) O astfel de succesiune de proiecţii este corectă numai dacă lista lista... listak; bineînţeles, se consideră listele de atribute ca mulţimi. În această situaţie, întreaga succesiune de proiecţii se poate înlocui cu proiecţia pe lista de atribute cea mai din stânga: Π lista (R). Egalitatea de mai sus se poate interpreta şi reciproc: o proiecţie pe o mulţime de atribute (lista) poate fi înlocuită cu o succesiune de proiecţii pe mulţimi de atribute care includ lista de atribute dată. În limbajul SQL, operaţia de proiecţie se obţine tot prin instrucţiunea de interogare SELECT; lista de coloane introdusă în instrucţiunea SELECT este lista atributelor de proiecţie. Sub forma: SELECT DISTINCT lista_coloane FROM nume_tabel; instrucţiunea SELECT reprezintă o operaţie 3

13 de proiecţie asupra relaţiei nume_tabel pe atributele date în lista_coloane. De exemplu, proiecţia din figura 3.3, b se scrie poate în SQL astfel: SELECT DISTINCT Nume,Prenume FROM ANGAJATI; Dacă lipseşte clauza DISTINCT şi lista de atribute nu este o supercheie a relaţiei, rezultatul operaţiei poate conţine tupluri duplicat (deci nu este o relaţie în sensul definiţiei din modelul relaţional). În termenii folosiţi în limbajul SQL, proiecţia realizează o selecţie a coloanelor unui tabel. Joncţiunea (cuplarea) - (join), este o operaţie binară a algebrei relaţionale prin care se combină tuplurile a două relaţii într-o singură relaţie. Joncţiunea se notează cu semnul >< şi este o operaţie foarte importantă în bazele de date relaţionale, deoarece ea permite realizarea asocierilor între relaţii. În continuare vor fi prezentate două forme ale operaţiei de joncţiune: θ-joncţiunea şi joncţiunea naturală. θ-joncţiunea a două relaţii R(A,A,...A n ) şi S(B,B,...B m ) este o relaţie Q J (A,A,... A n,b,b,...b m ) = R >< θ S, în care fiecare tuplu este o combinaţie a două tupluri, unul din relaţia R (cu atributele A,A,...A n ), iar celălalt din relaţia S (cu atributele B,B,...B m ), combinaţie care satisface condiţia de joncţiune θ. Forma generală a condiţiei de joncţiune θ este: θ = cond AND cond...and cond i...and cond n unde fiecare condiţie parţială (cond i ) este o variabilă logică, rezultat al unei operaţii de comparaţie # (unde # poate fi unul din operatorii: =,, <,, >, ), asupra valorilor a două atribute 4

14 A i (care aparţine relaţiei R) şi B i (care aparţine relaţiei S), deci: cond i = A i # B i Atributele A i şi Bi ale căror valori se compară trebuie să fie definite pe domenii compatibile. Tuplurile în care atributele din condiţiile de joncţiune au valori NULL nu sunt luate în consideraţie pentru calculul relaţiei rezultat. Se observă asemănarea operaţiei de θ-joncţiune cu produsul cartezian, dat fiind că tuplurile relaţiei rezultat sunt combinaţii ale tuplurilor relaţiilor operand, cu număr de atribute (gradul relaţiei) egal cu suma numărului de atribute (gradul) ale celor doi operanzi. Diferenţa esenţială dintre joncţiune şi produsul cartezian este aceea că în operaţia de joncţiune se combină numai tuplurile care îndeplinesc condiţia de joncţiune θ, pe câtă vreme în operaţia produs cartezian, în relaţia rezultat se includ toate combinaţiile de tupluri din relaţiile operand. Ca urmare, operaţia de θ-joncţiune poate fi scrisă ca restricţie cu condiţia θ a produsului cartezian al celor două relaţii: R >< θ S = σ θ (R S). Pentru exemplificare, se va calcula joncţiunea: ANGAJATI >< θ SECTII = σ θ (ANGAJATI SECTII) cu condiţia: θ=(angajati.idsectie=sectii.idsectie), asupra relaţiilor: ANGAJATI(IdAngajat,Nume,Prenume,DataNasterii,A dresa,salariu,idsectie) şi SECTII(IdSectie,Nume,Buget) cu valorile date în fig. 3.. Rezultatul acestei operaţii este dat în fig

15 Fig Operaţie de θ-joncţiune între relaţiile ANGAJATI şi SECTII. Cea mai utilizată formă de θ-joncţiune este echijoncţiunea, în care se foloseşte numai operatorul de comparaţie de egalitate (=). Chiar exemplul prezentat mai sus este o echijoncţiune. Într-o echijoncţiune vor exista întotdeauna una sau mai multe perechi de atribute care au valori identice în fiecare din tuplurile relaţiei rezultat şi anume perechile de atribute care sunt comparate pentru egalitate. În figura de mai sus, atributele ANGAJATI.IdSectie şi SECTII.IdSectie au valori identice în toate tuplurile, dat fiind că acestea au fost comparate pentru egalitate în condiţia de joncţiune. Este de remarcat faptul că operatorul de comparaţie de egalitate (=) folosit în modelul relaţional este corespunzător operatorului (= =) din limbajul C (C++) şi este identic cu operatorul de asignare; diferenţierea dintre cei doi operatori cu acelaşi semn de reprezentare rezultă din context (expresia în care apar). Joncţiunea naturală. Dat fiind că într-o relaţie nu sunt necesare două atribute cu valori identice, s-a definit o nouă operaţie de joncţiune, numită joncţiunea naturală (natural join) sau chiar mai simplu, joncţiune. Joncţiunea naturală este o echijoncţiune în care fiecare pereche de atribute comparate pentru egalitate (în condiţia de joncţiune) se înlocuieşte cu unul singur. Se poate spune că joncţiunea naturală este o echijoncţiune urmată de o proiecţie pe reuniunea atributelor celor două relaţii. 6

16 Dat fiind că θ-joncţiunea este o restricţie a produsului cartezian al celor două relaţii operand, rezultă joncţiunea naturală ca o proiecţie a unei restricţii a produsului cartezian al celor două relaţii. Dacă se notează relaţiile operand cu R(A,A,...A n,b,b,...b m ) şi S(B,B,...B m, C,C,...C k ), cu atributele comune (B,B,...B m ), rezultatul operaţiei de joncţiune naturală este relaţia Q J cu expresia: Q J = R >< S = Π A,.An,B,. Bm,C,. Ck σ (R S) (R.B=S.B AND R.Bm=S.Bm) Atributele (B, B,...B m ) din cele două relaţii comparate pentru egalitate în joncţiunea naturală se numesc atribute comune (sau atribute de joncţiune) şi trebuie să fie definite pe domenii de compatibile. Ele se consideră identice (chiar dacă au denumiri diferite) şi în reuniunea atributelor se introduc o singură dată. Joncţiunea naturală se reprezintă numai cu semnul ><, fără să mai fie însoţit de condiţia de joncţiune, înţelegând prin aceasta că joncţiunea are loc pe atributul (sau atributele) comune ale celor două relaţii. În fig. 3.5 este prezentat rezultatul joncţiunii dintre relaţiile ANGAJATI şi SECTII cu starea din fig. 3. pe atributul comun IdSectie. Atributul comun (IdSectie) apare o singură dată în relaţia rezultat. Fig Joncţiunea naturală a relaţiilor ANGAJATI, SECTII. 7

17 Gradul relaţiei rezultat al joncţiunii naturale a celor două relaţii este: q = n + m + k şi este mai mic decât suma gradelor celor două relaţii (sumă egală cu n + *m + k). Dacă nu există nici o combinaţie de tupluri care să îndeplinească condiţia de joncţiune, rezultatul operaţiei este o relaţie cu zero tupluri. Dacă nu se impune nicio condiţie de joncţiune, joncţiunea devine un produs cartezian al celor două relaţii, cu un număr de tupluri egal cu produsul (N R N S ) al numărului de tupluri N R şi respectiv N S, ale celor două relaţii. În cazul general, numărul de tupluri ale relaţiei rezultat al operaţiei de joncţiune este cuprins între 0 şi (N R N S ). Operaţia de joncţiune naturală este conceptual comutativă (adică R >< S = S >< R), dacă se consideră că atributele unei relaţii nu sunt ordonate. Dacă se consideră schema relaţiei rezultat ca listă a atributelor sale, atunci, prin convenţie, atributele primei relaţii operand sunt primele în lista de atribute a relaţiei rezultat, iar atributele celei de-a doua relaţii, mai puţin atributul (sau atributele) de joncţiune, urmează în lista atributelor relaţiei rezultat. Operaţia de joncţiune naturală nu este, în general, asociativă. Fie mulţimile de atribute disjuncte A, B, C, D şi relaţiile cu schemele: R(A,B), S(B,C) şi T(A,D). În expresia (R >< S)>< T se efectuează mai întâi joncţiunea R >< S pe atributul comun B ale celor două relaţii, rezultând o relaţie cu schema Q(A,B,C), după care se efectuează joncţiunea Q >< T pe atributul comun A. Asocierea de la dreapta la stânga a relaţiilor date (expresia R ><(S >< T)) nu este posibilă, deoarece joncţiunea (S >< T) nu se poate evalua, dat fiind că relaţiile S(B,C) şi T(A,D) nu au nici-un atribut comun. 8

18 Se poate remarca uşor că există şi situaţii în care joncţiunea naturală este asociativă, şi anume când fiecare pereche de relaţii din expresia dată au atribute comune. Operaţia de joncţiune naturală este utilizată pentru a combina date din două relaţii, astfel încât informaţia rezultată să fie cuprinsă într-o singură relaţie. În cazul cel mai frecvent, joncţiunea naturală se calculează între o relaţie care referă şi relaţia referită, atributul de joncţiune fiind cheia străină (în relaţia care referă), respectiv cheia primară (sau candidată), în relaţia referită. Rezultatul obţinut reflectă asocierea dintre cele două relaţii. De exemplu, joncţiunea naturală din figura 3.5 între relaţiile ANGAJATI şi SECTII reflectă asocierea N: între acestea. Din acest exemplu se poate remarca faptul că prin operaţia de joncţiune se obţin informaţii combinate din cele două relaţii operand. Pentru fiecare tuplu din relaţia care referă (în exemplul de mai sus, relaţia ANGAJATI) se obţin toate informaţiile din tuplul referit (în exemplul de mai sus, relaţia SECTII), adică acel tuplu care are valoarea cheii primare egală cu valoarea cheii străine care o referă. În exemplul de mai sus, prima linie a tabelului rezultat conţine toate informaţiile (nume secţie, buget) despre secţia în care lucrează angajatul respectiv (secţia ) etc. Forţa modelului relaţional constă în posibilitatea de a combina informaţiile din două sau mai multe relaţii pentru a obţine rezultatul unei interogări, combinare care se poate face prin una sau mai multe operaţii de joncţiune. Această posibilitate de combinare a informaţiilor este denumită de unii autori ca o navigare prin baza de date. În limbajul SQL, θ-joncţiunea se poate exprima direct cu o instrucţiune SELECT pe două sau mai multe tabele, condiţia de joncţiune θ fiind introdusă prin clauza WHERE. De exemplu, θ-joncţiunea din fig. 3.4 se poate obţine prin instrucţiunea: SELECT * FROM ANGAJATI,SECTII WHERE ANGAJATI.IdSectie = SECTII.IdAngajat; 9

19 O joncţiune naturală se poate exprima în limbajul SQL numai în mod explicit, adică trebuie ca lista de atribute a instrucţiunii SELECT să conţină numai atributele diferite din cele două relaţii (fiecare atribut de joncţiune se introduce o singură dată), iar în clauza WHERE trebuie introdusă condiţia de egalitate a atributelor corespondente. De exemplu, joncţiunea naturală ANGAJATI >< SECTII din fig. 3.5 se obţine prin instrucţiunea SQL: SELECT IdAngajat,ANGAJATI.Nume,Prenume,DataNaster ii, Adresa,Salariu,SECTII.IdSectie,SECTII.Nume, Buget,IdAngajat FROM ANGAJATI,SECTII WHERE ANGAJATI.IdSectie = SECTII.IdSectie; Diviziunea (division) este o operaţie binară a algebrei relaţionale prin care se obţine o relaţie care conţine atributele diferenţei mulţimilor de atribute ale relaţiilor operand. Fie două mulţimi de atribute: A = {A,A,..A n } şi B = {B,B,..B m } şi două relaţii R(A,B) şi S(B) astfel încât mulţimea atributelor relaţiei S să fie o submulţime a mulţimii atributelor relaţiei R. Relaţia Q D obţinută prin operaţia de diviziune are ca atribute toate atributele diferenţei celor două mulţimi de atribute (adică acele atribute care aparţin relaţiei R şi nu aparţin relaţiei S) şi conţine acele tupluri t[a] care au proprietatea că pentru orice tuplu s din S există un tuplu t în R care are atributul B egal cu tuplul s. Se poate scrie: Q D (A) = R S = Π A σ R.B = S.B (R) În limbajul SQL, diviziunea se exprimă printr-o instrucţiune SELECT, introducând explicit lista atributelor de 0

20 proiecţie şi condiţia de egalitate a atributelor corespondente din cele două relaţii prin clauza WHERE. Algebra relaţională este o colecţie de operaţii asupra relaţiilor. Cele opt operaţii propuse de E.F.Codd (reuniunea, intersecţia, diferenţa, produsul cartezian, restricţia, proiecţia, joncţiunea, diviziunea), la care se adaugă operaţia de redenumire a atributelor, nu constituie o mulţime minimă de operaţii ale algebrei relaţionale, deoarece o parte din operaţii se pot exprima prin intermediul altora. Aşa cum s-a prezentat mai sus, joncţiunea este o proiecţie a unei restricţii a produsului cartezian al celor două relaţii, iar diviziunea este o proiecţie a unei restricţii asupra relaţiei deîmpărţit. La fel, intersecţia se poate exprima printr-o expresie construită pe baza operaţiei de diferenţă: R S = R (R S). Cinci operaţii (reuniunea, diferenţa, produsul cartezian, restricţia, proiecţia) sunt operaţii primitive şi constituie mulţimea minimă de operaţii ale algebrei relaţionale. Pe baza lor se poate construi orice expresie a algebrei relaţionale. Dar şi celelalte trei operaţii (în special joncţiunea) sunt operaţii deosebit de utile în formularea interogărilor, astfel încât algebra relaţională a păstrat toate cele opt operaţii propuse de E.F.Codd, la care s-a adăugat operaţia de redenumire a atributelor Formularea interogărilor Interogările exprimate în limbaj natural se pot formula întrunul din limbajele abstracte de interogare, algebra relaţională sau calculul relaţional, după care se poate găsi comanda corespunzătoare în limbajul de interogare implementat de sistemul SGBD în care va fi realizată baza de date (cum este limbajul SQL). Pentru utilizator, o interogare este o metodă de a regăsi anumite informaţii dintr-o bază de date, prin intermediul unei aplicaţii de baze de date. Din punctul de vedere al

21 programatorului aplicaţiei de baze de date, interogarea se exprimă printr-o comandă echivalentă expresiei de interogare, comandă care se transmite sistemului SGBD. Din punct de vedere al sistemului de gestiune, o interogare este un program (de exemplu, în limbajul SQL) pe care îl compilează şi apoi îl execută. Ca orice program, o interogare este prelucrată de către SGBD în mai multe faze: analiza lexicală, analiza sintactică şi analiza semantică, pentru validarea interogării, urmate de generarea codului. De asemenea, dacă există mai multe soluţii pentru aceeaşi interogare, sistemul de gestiune selectează soluţia optimă. Conceptual, subsistemul SGBD de prelucrare a interogărilor constă din următoarele componente: Compilatorul de interogări, care efectuează analiza lexicală şi sintactică a interogării; acesta validează din punct de vedere sintactic interogarea, adică verifică existenţa relaţiilor, a vederilor, a indexurilor şi a atributelor implicate în interogare şi utilizarea corectă a acestora. Optimizatorul de interogări, care efectuează analiza semantică a interogării şi selectează alternativa optimă dintre mai multe soluţii posibile de execuţie a interogării. Generatorul de cod, care generează programul de execuţie al interogării, conform optimizărilor efectuate. Componenta de execuţie (runtime), care execută programul interogării. Compilarea interogării se realizează la fel ca orice compilare a programelor, fără aspecte specifice sistemelor de baze de date. Optimizarea interogărilor este o operaţie specifică sistemelor de gestiune şi utilizează proprietăţile operaţiilor relaţionale pentru a obţine performanţe de execuţie a interogărilor cât mai bune. Optimizarea este efectuată de către SGBD, transparent, fără intervenţia programatorului. În algebra relaţională o interogare se formulează printr-o expresie constând dintr-o secvenţă de identificatori (nume de

22 relaţii, nume de atribute), constante şi operatori. Pentru exprimarea unei interogări printr-o expresie de algebră relaţională, trebuie să fie precizate următoarele elemente: Lista atributelor relaţiei rezultat, care se numesc atribute de proiecţie. Lista relaţiilor din care se extrag informaţiile. Condiţia pe care trebuie să o îndeplinească tuplurile relaţiei rezultat. În funcţie de aceste elemente, se pot studia două situaţii de rezolvare a interogarilor: interogări care se rezolvă în cadrul unei singure relaţii şi interogări care se rezolvă folosind două sau mai multe relaţii ale bazei de date. Interogări într-o singură relaţie. Dacă toate atributele care intervin în interogare (atributele de proiecţie şi atributele din condiţie) sunt atribute ale unei singure relaţii R, atunci interogarea se poate rezolva la nivelul acelei relaţii, ca o proiecţie (pe atributele relaţiei rezultat) a restricţiei cu condiţia impusă asupra relaţiei date, prin expresia: Q = Π lista_atribute σ conditie (R) Exemplul 3.. Fie relaţia ANGAJATI definită în fig. 3. şi interogarea: Care sunt numele şi prenumele angajaţilor care au un salariu mai mare sau egal cu 3000?. Se observă că această interogare poate fi rezolvată la nivelul unei singure relaţii, relaţia ANGAJATI. Expresia de algebră relaţională care exprimă interogarea dată este: Q = Π Nume,Prenume σ Salariu 3000 (ANGAJATI) Instrucţiunea SQL care realizează această interogare este: SELECT Nume,Prenume FROM ANGAJATI WHERE Salariu >= 3000; Rezultatul interogării este următorul: 3

23 Exemplul 3.. Fie relaţia ANGAJATI definită în fig. 3. şi interogarea: Care sunt numele, prenumele şi salariul angajaţilor care lucrează în secţia cu numărul? Analizând această interogare se constată că toate atributele de proiectie (nume, prenume, data nasterii şi salariul unui angajat) şi atributul din condiţia de interogare (numărul sectiei), sunt atribute ale relaţiei ANGAJATI, deci interogarea poate fi rezolvată la nivelul acestei relaţii. Expresia de algebră relaţională care exprimă interogarea dată este: Q = Π Nume,Prenume,Salariu σ IdSectie = (ANGAJATI) Comanda SQL care realizează această interogare este: SELECT Nume,Prenume,Salariu FROM ANGAJATI WHERE IdSectie = ; Rezultatul interogării este: Interogări în două sau mai multe relaţii. În situaţia în care atributele de proiecţie şi atributele din condiţia de interogare nu aparţin unei singure relaţii, pentru rezolvarea interogării trebuie folosite toate acele relaţii care, împreună, conţin aceste atribute. Conceptual, o astfel de interogare se rezolvă construind mai întâi o relaţie care să conţină toate atributele necesare prin combinarea a două sau mai multe relaţii folosind operaţii de produs cartezian sau joncţiuni, iar rezultatul interogării se obţine prin restricţia (cu condiţia de interogare) şi proiecţia (pe atributele de proiecţie) a acestei relaţii. Cazul cel mai frecvent de interogare necesită joncţiunea naturală a două sau mai multe relaţii asociate, folosind 4

24 perechea de atribute cheia străină - cheia primară referită pentru fiecare operaţie de joncţiune: Q = Π lista_atribute σ conditie (R >< S >< T...) Exemplul 3.3. Fie relaţiile ANGAJATI, SECTII definite în figura 3. şi interogarea Care sunt numele, prenumele şi salariul angajaţilor care lucrează în secţia cu numele Producţie?. Atributele de proiecţie (Nume,Prenume,Salariu) sunt atribute ale relaţiei ANGAJATI; atributul Nume al unei secţii (care apare în condiţia de interogare) nu se află în aceeaşi relaţie, ci în relaţia SECTII de aceea, pentru a rezolva această interogare, este necesară combinarea celor două relaţii (fig. 3.6). Fig Exprimarea unei interogari pe două relaţii. Combinarea celor două relaţii se efectuează prin joncţiunea naturală (pe atributul comun IdSectie) a celor două relaţii. Relaţia rezultat al joncţiunii conţine toate informaţiile necesare interogării: numele, prenumele şi salariul angajaţilor şi numele secţiei corespunzător numărului secţiei (IdSectie) în care lucrează fiecare angajat. După aceasta se face restricţia (cu condiţia SECTII.Nume= Productie ), urmată de proiecţia pe atributele de proiecţie. Expresia finală de algebră relaţională care exprimă interogarea dată este: Q 3 = Π ANGAJATI.Nume,Prenume,Salariu σ SECTII.Nume='Productie' (ANGAJATI >< SECTII) Comanda SQL care realizează această interogare este: 5

25 SELECT ANGAJATI.Nume,Prenume,Salariu FROM ANGAJATI,SECTII WHERE SECTII.IdSectie = ANGAJATI.IdSectie AND SECTII.Nume = Productie ; Aşa cum s-a mai precizat, în limbajul SQL trebuie să fie introdusă explicit condiţia de joncţiune naturală (SECTII.IdSectie = ANGAJATI.IdSectie), împreună cu celelalte condiţii de interogare (SECTII.Nume = Productie ). Rezultatul acestei interogări asupra relaţiilor cu starea din fig. 3. este: Exemplul 3.4. Fie relaţiile FURNIZORI, ACHIZIŢII, COMPONENTE (fig. 3.7), uşor modificate faţă de cele prezentate în capitolul precedent. Fig Relaţiile FURNIZORI, ACHIZITII,COMPONENTE. 6

26 Interogarea "Care sunt numele şi prenumele furnizorilor care au livrat componente în cantităţi mai mari sau egale cu 00?" necesită joncţiunea relaţiilor FURNIZORI şi ACHIZITII care, împreună, conţin atributele ce intervin în interogare. Expresia de algebră relaţională care realizează această interogare este: Q 4 = Π Nume,Prenume σ Cantitate 00 (FURNIZORI >< ACHIZITII) În SQL, această interogare se exprimă astfel: SELECT Nume,Prenume FROM FURNIZORI,ACHIZITII WHERE FURNIZORI.IdFurnizor = ACHIZITII.IdFurnizor AND Cantitate >= 00; Exemplul 3.5. Pentru aceleaşi relaţii din figura 3.7, se consideră interogarea: "Care sunt numele, prenumele şi adresa furnizorilor care au livrat componenta cu denumirea Rezistenta? ". Atributele de proiecţie (Nume, Prenume, Adresa) aparţin relaţiei FURNIZORI, iar atributul Denumire aparţine relaţiei COMPONENTE. Asocierea dintre aceste relaţii este realizată prin relaţia ACHIZITII, astfel încât această interogare necesită joncţiunea tuturor celor trei relaţii. (fig. 3.8). 7

27 Fig Interogare pe mai multe relaţii asociate. Pentru realizarea interogării date se vor executa următoarele operaţii: R = ACHIZITII >< COMPONENTE R = FURNIZORI >< R = (ACHIZITII >< COMPONENTE) R 3 = σ Denumire ='Rezistenta' (R ) Q 5 = Π Nume,Prenume,Adresa (R 3 )= FURNIZORI>< Π Nume,Prenume,Adresa σ Denumire ='Rezistenta' (FURNIZORI >< (ACHIZITII >< COMPONENTE)) În limbajul SQL, interogarea de mai sus se exprimă prin instrucţiunea: Se observă că în comanda SQL nu se evidenţiază care sunt operaţiile de joncţiune şi ordinea lor de execuţie, iar condiţiile de restricţie şi joncţiune sunt cuprinse într-o singură expresie (în clauza WHERE). Sistemul SGBD este acela care determină modul optim de realizare a operaţiilor conţinute în blocul de interogare. 8

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin Structura și Organizarea Calculatoarelor Titular: BĂRBULESCU Lucian-Florentin Chapter 3 ADUNAREA ȘI SCĂDEREA NUMERELOR BINARE CU SEMN CONȚINUT Adunarea FXP în cod direct Sumator FXP în cod direct Scăderea

More information

Subiecte Clasa a VI-a

Subiecte Clasa a VI-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate pe foaia de raspuns in dreptul numarului intrebarii

More information

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice "Îmbunătăţirea proceselor şi activităţilor educaţionale în cadrul programelor de licenţă şi masterat în domeniul

More information

INTEROGĂRI ÎN SQL SERVER

INTEROGĂRI ÎN SQL SERVER INTEROGĂRI ÎN SQL SERVER Principala operaţie efectuată într-o bază de date este operaţia de extragere a datelor, care se realizează cu ajutorul unei clauze SELECT. SELECT Clauza SELECT are o sintaxă foarte

More information

Baze de date - Lucrare de laborator 3 -

Baze de date - Lucrare de laborator 3 - Baze de date - Lucrare de laborator 3 - PROIECTAREA BAZELOR DE DATE RELATIONALE 1. NOTIUNI TEORETICE Proiectarea unei baze de date consta din proiectarea schemei conceptuale (logice) si fizice a acesteia,

More information

5.2 Interogări în SQL

5.2 Interogări în SQL 5.2 Interogări în SQL Cererile de interogare exprimate în SQL prezintă un aspect declarativ deoarece sunt specificate proprietăţile rezultatului şi nu modul de obţinere (SQL urmăreşte principiile calculului

More information

Metrici LPR interfatare cu Barix Barionet 50 -

Metrici LPR interfatare cu Barix Barionet 50 - Metrici LPR interfatare cu Barix Barionet 50 - Barionet 50 este un lan controller produs de Barix, care poate fi folosit in combinatie cu Metrici LPR, pentru a deschide bariera atunci cand un numar de

More information

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC Anul II Nr. 7 aprilie 2013 ISSN 2285 6560 Referent ştiinţific Lector univ. dr. Claudiu Ionuţ Popîrlan Facultatea de Ştiinţe Exacte Universitatea din

More information

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiect nr. 154/323 cod SMIS 4428 cofinanțat de prin Fondul European de Dezvoltare Regională Investiții pentru viitorul

More information

Modalitǎţi de clasificare a datelor cantitative

Modalitǎţi de clasificare a datelor cantitative Modalitǎţi de clasificare a datelor cantitative Modul de stabilire a claselor determinarea pragurilor minime şi maxime ale fiecǎrei clase - determinǎ modul în care sunt atribuite valorile fiecǎrei clase

More information

CERERI SELECT PE O TABELA

CERERI SELECT PE O TABELA SQL - 1 CERERI SELECT PE O TABELA 1 STUD MATR NUME AN GRUPA DATAN LOC TUTOR PUNCTAJ CODS ---- ------- -- ------ --------- ---------- ----- ------- ---- 1456 GEORGE 4 1141A 12-MAR-82 BUCURESTI 2890 11 1325

More information

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm Preparatory Problems 1Se dau punctele coliniare A, B, C, D în această ordine aî AB 4 cm, AC cm, BD 15cm a) calculați lungimile segmentelor BC, CD, AD b) determinați distanța dintre mijloacele segmentelor

More information

Cap.5 Normalizarea relaţiilor

Cap.5 Normalizarea relaţiilor CAPITOLUL 5 NORMALIZAREA RELAŢIILOR Dependenţele de date reprezintă constrângeri care se impun valorilor atributelor unei relaţii şi determină proprietăţile relaţiei în raport cu operaţiile de inserare,

More information

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban Reflexia şi refracţia luminii. Aplicaţii. Sumar 1. Indicele de refracţie al unui mediu 2. Reflexia şi refracţia luminii. Legi. 3. Reflexia totală 4. Oglinda plană 5. Reflexia şi refracţia luminii în natură

More information

Metoda de programare BACKTRACKING

Metoda de programare BACKTRACKING Metoda de programare BACKTRACKING Sumar 1. Competenţe............................................ 3 2. Descrierea generală a metodei............................. 4 3......................... 7 4. Probleme..............................................

More information

Laborator 1. Programare declarativă. Programare logică. Prolog. SWI-Prolog

Laborator 1. Programare declarativă. Programare logică. Prolog. SWI-Prolog Laborator 1 Programare declarativă O paradigmă de programare în care controlul fluxului de execuție este lăsat la latitudinea implementării limbajului, spre deosebire de programarea imperativă în care

More information

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962) ARBORI AVL (denumiti dupa Adelson-Velskii si Landis, 1962) Georgy Maximovich Adelson-Velsky (Russian: Гео ргий Макси мович Адельсо н- Ве льский; name is sometimes transliterated as Georgii Adelson-Velskii)

More information

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N Pentru a putea vizualiza imaginile unei camere web IP conectată într-un router ZTE H218N sau H298N, este necesară activarea serviciului Dinamic DNS oferit de RCS&RDS, precum și efectuarea unor setări pe

More information

GHID DE TERMENI MEDIA

GHID DE TERMENI MEDIA GHID DE TERMENI MEDIA Definitii si explicatii 1. Target Group si Universe Target Group - grupul demografic care a fost identificat ca fiind grupul cheie de consumatori ai unui brand. Toate activitatile

More information

Funcţii grup şi clauzele GROUP BY, HAVING. Operatorii ROLLUP şi CUBE.

Funcţii grup şi clauzele GROUP BY, HAVING. Operatorii ROLLUP şi CUBE. Baze de date-anul 2 Laborator 4 SQL Funcţii grup şi clauzele GROUP BY, HAVING. Operatorii ROLLUP şi CUBE. I. [Funcţii grup şi clauza GROUP BY] Clauza GROUP BY este utilizată pentru a diviza liniile unui

More information

Dispozitive Electronice şi Electronică Analogică Suport curs 02 Metode de analiză a circuitelor electrice. Divizoare rezistive.

Dispozitive Electronice şi Electronică Analogică Suport curs 02 Metode de analiză a circuitelor electrice. Divizoare rezistive. . egimul de curent continuu de funcţionare al sistemelor electronice În acest regim de funcţionare, valorile mărimilor electrice ale sistemului electronic sunt constante în timp. Aşadar, funcţionarea sistemului

More information

CERERI SELECT PE MAI MULTE TABELE

CERERI SELECT PE MAI MULTE TABELE SQL - 2 CERERI SELECT PE MAI MULTE TABELE 1 STUD MATR NUME AN GRUPA DATAN LOC TUTOR PUNCTAJ CODS ---- ------- -- ------ --------- ---------- ----- ------- ---- 1456 GEORGE 4 1141A 12-MAR-82 BUCURESTI 2890

More information

Procesarea Imaginilor

Procesarea Imaginilor Procesarea Imaginilor Curs 11 Extragerea informańiei 3D prin stereoviziune Principiile Stereoviziunii Pentru observarea lumii reale avem nevoie de informańie 3D Într-o imagine avem doar două dimensiuni

More information

Baze de date distribuite și mobile

Baze de date distribuite și mobile Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Baze de date distribuite și mobile Lect.dr. Adrian Runceanu Curs 3 Model fizic şi model

More information

ISBN-13:

ISBN-13: Regresii liniare 2.Liniarizarea expresiilor neliniare (Steven C. Chapra, Applied Numerical Methods with MATLAB for Engineers and Scientists, 3rd ed, ISBN-13:978-0-07-340110-2 ) Există cazuri în care aproximarea

More information

Versionare - GIT ALIN ZAMFIROIU

Versionare - GIT ALIN ZAMFIROIU Versionare - GIT ALIN ZAMFIROIU Controlul versiunilor - necesitate Caracterul colaborativ al proiectelor; Backup pentru codul scris Istoricul modificarilor Terminologie și concepte VCS Version Control

More information

Cuprins Cuprins Bănci şi baze de date Etapele de realizare a unei bănci de date... 17

Cuprins Cuprins Bănci şi baze de date Etapele de realizare a unei bănci de date... 17 Cuprins Cuprins... 1 1. Bănci şi baze de date... 5 1.1. Noţiuni generale... 5 1.2. Sisteme de baze de date... 6 1.3. Organizarea datelor într-o bază de date... 7 1.4. Modelarea la nivel logic a datelor

More information

Lucrarea de laborator nr. 4

Lucrarea de laborator nr. 4 Metode merice - Lucrarea de laborator 4 Lucrarea de laborator nr. 4 I. Scopul lucrării Elemente de programare în MAPLE II. III. Conţinutul lucrării 1. Atribuirea. Decizia. Structuri repetitive. 2. Proceduri

More information

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC) Semnale şi sisteme Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC) http://shannon.etc.upt.ro/teaching/ssist/ 1 OBIECTIVELE CURSULUI Disciplina îşi propune să familiarizeze

More information

R O M Â N I A CURTEA CONSTITUŢIONALĂ

R O M Â N I A CURTEA CONSTITUŢIONALĂ R O M Â N I A CURTEA CONSTITUŢIONALĂ Palatul Parlamentului Calea 13 Septembrie nr. 2, Intrarea B1, Sectorul 5, 050725 Bucureşti, România Telefon: (+40-21) 312 34 84; 335 62 09 Fax: (+40-21) 312 43 59;

More information

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND Textul si imaginile din acest document sunt licentiate Attribution-NonCommercial-NoDerivs CC BY-NC-ND Codul sursa din acest document este licentiat Public-Domain Esti liber sa distribui acest document

More information

Colegiul Național Calistrat Hogaș Piatra-Neamț LIMBAJUL SQL

Colegiul Național Calistrat Hogaș Piatra-Neamț LIMBAJUL SQL LIMBAJUL SQL Prezentare generală SQL (Structured Query Language) este în prezent, unul din cele mai puternice limbaje structurate pentru interogarea bazelor de date relaţionale. Este un limbaj neprocedural

More information

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date. 9. Memoria Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date. Primul nivel conține memorie de program cache (L1P) și memorie de date cache (L1D). Al doilea

More information

5.1 Definirea datelor în SQL

5.1 Definirea datelor în SQL SQL Acronim pentru Structured Query Language Dezvoltat pentru sistemul de gestiune a bazelor de date System R, creat de IBM Research Laboratory, San Jose, California, la sfârşitul anilor 70. SQL a fost

More information

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila MS POWER POINT s.l.dr.ing.ciprian-bogdan Chirila chirila@cs.upt.ro http://www.cs.upt.ro/~chirila Pornire PowerPoint Pentru accesarea programului PowerPoint se parcurg următorii paşi: Clic pe butonul de

More information

Baza de date: tabele, date. Componentele unei B.D.: tabele, constrangeri, relatii. Entitati ale unei B.D.: formulare, interogari, rapoarte

Baza de date: tabele, date. Componentele unei B.D.: tabele, constrangeri, relatii. Entitati ale unei B.D.: formulare, interogari, rapoarte 1. Introducere ~ Microsoft Access ~ Baze de Date Baza de date: tabele, date. Componentele unei B.D.: tabele, constrangeri, relatii. Entitati ale unei B.D.: formulare, interogari, rapoarte 2. Crearea unei

More information

Mecanismul de decontare a cererilor de plata

Mecanismul de decontare a cererilor de plata Mecanismul de decontare a cererilor de plata Autoritatea de Management pentru Programul Operaţional Sectorial Creşterea Competitivităţii Economice (POS CCE) Ministerul Fondurilor Europene - Iunie - iulie

More information

În continuare vom prezenta unele dintre problemele de calcul ale numerelor Fibonacci.

În continuare vom prezenta unele dintre problemele de calcul ale numerelor Fibonacci. O condiţie necesară şi suficientă ca un număr să fie număr Fibonacci Autor: prof. Staicu Ovidiu Ninel Colegiul Economic Petre S. Aurelian Slatina, jud. Olt 1. Introducere Propuse de Leonardo Pisa în 1202,

More information

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; }

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; } Arbori Arborii, ca şi listele, sunt structuri dinamice. Elementele structurale ale unui arbore sunt noduri şi arce orientate care unesc nodurile. Deci, în fond, un arbore este un graf orientat degenerat.

More information

BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU

BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU 03.03.2013 Curs 1 - BAZE DE DATE 2 Curs 1 Noţiuni

More information

UNIVERSITATEA DIN CRAIOVA FACULTATEA DE ELECTROMECANICĂ CATEDRA DE ACŢIONĂRI ELECTRICE. Şef lucrări dr. ing. Cătălin CONSTANTINESCU BAZE DE DATE

UNIVERSITATEA DIN CRAIOVA FACULTATEA DE ELECTROMECANICĂ CATEDRA DE ACŢIONĂRI ELECTRICE. Şef lucrări dr. ing. Cătălin CONSTANTINESCU BAZE DE DATE UNIVERSITATEA DIN CRAIOVA FACULTATEA DE ELECTROMECANICĂ CATEDRA DE ACŢIONĂRI ELECTRICE Şef lucrări dr. ing. Cătălin CONSTANTINESCU BAZE DE DATE Electromecanică - Frecvenţă redusă - Suport teoretic - 2006-2007

More information

Auditul financiar la IMM-uri: de la limitare la oportunitate

Auditul financiar la IMM-uri: de la limitare la oportunitate Auditul financiar la IMM-uri: de la limitare la oportunitate 3 noiembrie 2017 Clemente Kiss KPMG in Romania Agenda Ce este un audit la un IMM? Comparatie: audit/revizuire/compilare Diferente: audit/revizuire/compilare

More information

Nume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final

Nume şi Apelativ prenume Adresa Număr telefon  Tip cont Dobânda Monetar iniţial final Enunt si descriere aplicatie. Se presupune ca o organizatie (firma, banca, etc.) trebuie sa trimita scrisori prin posta unui numar (n=500, 900,...) foarte mare de clienti pe care sa -i informeze cu diverse

More information

Olimpiad«Estonia, 2003

Olimpiad«Estonia, 2003 Problema s«pt«m nii 128 a) Dintr-o tabl«p«trat«(2n + 1) (2n + 1) se ndep«rteaz«p«tr«telul din centru. Pentru ce valori ale lui n se poate pava suprafata r«mas«cu dale L precum cele din figura de mai jos?

More information

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows Ghid identificare versiune AWP, instalare AWP 4.5.4 şi verificare importare certificat în Store-ul de Windows Data: 28.11.14 Versiune: V1.1 Nume fişiser: Ghid identificare versiune AWP, instalare AWP 4-5-4

More information

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A.

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A. Excel Advanced Curriculum Școala Informală de IT Tel: +4.0744.679.530 Web: www.scoalainformala.ro / www.informalschool.com E-mail: info@scoalainformala.ro Cuprins 1. Funcții Excel pentru avansați 2. Alte

More information

Metoda BACKTRACKING. prof. Jiduc Gabriel

Metoda BACKTRACKING. prof. Jiduc Gabriel Metoda BACKTRACKING prof. Jiduc Gabriel Un algoritm backtracking este un algoritm de căutare sistematică și exhausivă a tuturor soluțiilor posibile, dintre care se poate alege apoi soluția optimă. Problemele

More information

Creare baza de data Deschidem aplicaţia Microsoft Access. Lansarea în execuţie a programului se face urmând calea:

Creare baza de data Deschidem aplicaţia Microsoft Access. Lansarea în execuţie a programului se face urmând calea: Baze de date Pentru început este bine să înţelegem noţiunile de bază din Access: modul de organizare a unei baze de date, a noţiunilor de tabel, înregistrare, câmp, tip de dată al câmpului, proprietăţi

More information

BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU

BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU 28.04.2014 Curs 1 - BAZE DE DATE 2 Curs 1 Noţiuni

More information

Capitolul 4 SUBCERERI. F. Radulescu. Curs: Baze de date - Limbajul SQL

Capitolul 4 SUBCERERI. F. Radulescu. Curs: Baze de date - Limbajul SQL Capitolul 4 SUBCERERI 1 STUD MATR NUME AN GRUPA DATAN LOC TUTOR PUNCTAJ CODS ---- ------- -- ------ --------- ---------- ----- ------- ---- 1456 GEORGE 4 1141A 12-MAR-82 BUCURESTI 2890 11 1325 VASILE 2

More information

PROIECT. La Baze de date. Evidența activității pentru o firmă IT. Îndrumător: ș. l. dr. ing. Mirela Danubianu. Efectuat de: Grigoriev Sergiu gr.

PROIECT. La Baze de date. Evidența activității pentru o firmă IT. Îndrumător: ș. l. dr. ing. Mirela Danubianu. Efectuat de: Grigoriev Sergiu gr. PROIECT La Baze de date Evidența activității pentru o firmă IT Îndrumător: ș. l. dr. ing. Mirela Danubianu Efectuat de: Grigoriev Sergiu gr. 1131B Suceava 2011 Cuprins 1. DESCRIERE 3 2. MODELAREA CONCEPTUALĂ

More information

Reţele Neuronale Artificiale în MATLAB

Reţele Neuronale Artificiale în MATLAB Reţele Neuronale Artificiale în MATLAB Programul MATLAB dispune de o colecţie de funcţii şi interfeţe grafice, destinate lucrului cu Reţele Neuronale Artificiale, grupate sub numele de Neural Network Toolbox.

More information

O bază de date (database), este o colecţie de date creată şi

O bază de date (database), este o colecţie de date creată şi CAPITOLUL 1 NOŢIUNI INTRODUCTIVE PRIVIND SISTEMELE DE GESTIUNE A BAZELOR DE DATE O bază de date (database), este o colecţie de date creată şi menţinută computerizat, care permite operaţii de inserare,

More information

SGBD Access 2010: Query

SGBD Access 2010: Query SGBD Access 2010: Query Interogarea (Query) este un obiect ce permite vizualizarea informaţiilor obţinute prin selectarea şi prelucrarea datelor din unul sau mai multe tabele (sau interogări) Rezultatul

More information

3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER

3.2 Arhitectura setului de instrucţiuni ISA. Copyright Paul GASNER 3.2 Arhitectura setului de instrucţiuni ISA Copyright Paul GASNER Programarea CPU Programele scrise în limbaje de nivel înalt trebuie compilate pentru a obţine un program executabil Din punctul de vedere

More information

Gruparea rezultatelor unei interogări

Gruparea rezultatelor unei interogări Metode de selecţie a datelor din tabele multiple. Gruparea rezultatelor unei interogări Metode de selecţie a datelor din tabele multiple Obiective După parcurgerea acestei secţiuni, studentul va avea cunoştinţele

More information

:= 950; BEGIN DELETE FROM

:= 950; BEGIN DELETE FROM Cursori în PLSQL La fiecare execuţie a unei instrucţiuni SQL serverul Oracle deschide o zonă de memorie în care este analizată şi executată instrucţiunea. Această zonă de memorie se numeşte cursor. Există

More information

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii www.pwc.com/ro Aspecte controversate în Procedura Insolvenţei şi posibile soluţii 1 Perioada de observaţie - Vânzarea de stocuri aduse în garanţie, în cursul normal al activității - Tratamentul leasingului

More information

Bazele Informaticii şi Limbaje de Programare

Bazele Informaticii şi Limbaje de Programare 1 Baze de date UNIVERSITATEA TEHNICǍ DE CONSTRUCŢII BUCUREŞTI Catedra de Matematică şi Informatică Bazele Informaticii şi Limbaje de Programare Partea a II-a Note de curs Romică TRANDAFIR Mihai Ştefan

More information

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Proiect nr. 154/323 cod SMIS 4428 cofinanțat de prin Fondul European de Dezvoltare Regională Investiții pentru viitorul

More information

BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU

BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu BAZE DE DATE LECTOR DR. ADRIAN RUNCEANU 2 Curs 1 Noţiuni introductive despre teoria

More information

Capitolul IF.02. Structurarea bazelor de date

Capitolul IF.02. Structurarea bazelor de date Capitolul Cuvinte-cheie: Normalizare, prima formă normală, a doua formă normală, a treia formă normală, cheie candidată, relatie 1 la 1, relație 1 la n, relație m la n IA.02.1. Scurt istoric În anii '60,

More information

Vizualizarea documentelor xml

Vizualizarea documentelor xml Vizualizarea documentelor xml Fără un fişier de stil asociat: browserul vizualizează conținutul documentului xml, cu posibilitatea de a vedea/ascunde descendenții unui nod din structura arborescentă Exemplu:

More information

M C I O H L BAZE DE CUNOŞTINŢE A H E O L N S I S T E M E D E R E P R E Z E N A R E Ş I P R O C E S A R E A A C U N O Ş T I N Ţ E L O R

M C I O H L BAZE DE CUNOŞTINŢE A H E O L N S I S T E M E D E R E P R E Z E N A R E Ş I P R O C E S A R E A A C U N O Ş T I N Ţ E L O R BAZE DE CUNOŞTINŢE S I S T E M E D E R E P R E Z E N A R E Ş I P R O C E S A R E A C U N O Ş T I N Ţ E L O R M C I O H L A H E O L N A TIPURI DE CUNOŞTINŢE Pentru a putea rezolva problemele complexe de

More information

Proceduri stocate. Crearea procedurilor stocate. Varianta 1 În Management Studio se dă clic pe New Query ca în imaginea de mai jos: Fig.

Proceduri stocate. Crearea procedurilor stocate. Varianta 1 În Management Studio se dă clic pe New Query ca în imaginea de mai jos: Fig. Proceduri stocate Crearea procedurilor stocate. Varianta 1 În Management Studio se dă clic pe New Query ca în imaginea de mai jos: Fig. 1 Odată cu deschiderea editorului SQL, apare și bara de instrumente

More information

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC Anul III Nr. 21 iunie 2014 ISSN 2285 6560 Referent ştiinţific Lector univ. dr. Claudiu Ionuţ Popîrlan Facultatea de Ştiinţe Exacte Universitatea din

More information

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M ) FLEXIMARK FCC din oțel inoxidabil este un sistem de marcare personalizată în relief pentru cabluri și componente, pentru medii dure, fiind rezistent la acizi și la coroziune. Informații Included in FLEXIMARK

More information

INTRODUCERE... 2 SCENARIUL... 3 ERD (DIAGRAMA ENTITATE RELAȚIE)... 6 MAPARE... 8 REALIZARE APLICAȚIE BIBLIOGRAFIE...

INTRODUCERE... 2 SCENARIUL... 3 ERD (DIAGRAMA ENTITATE RELAȚIE)... 6 MAPARE... 8 REALIZARE APLICAȚIE BIBLIOGRAFIE... CUPRINS INTRODUCERE... 2 SCENARIUL... 3 ERD (DIAGRAMA ENTITATE RELAȚIE)... 6 MAPARE... 8 REALIZARE APLICAȚIE... 10 BIBLIOGRAFIE... 17 INTRODUCERE Aplicația TEATRU este un produs soft care poate fi utilizat

More information

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs Acta Technica Napocensis: Civil Engineering & Architecture Vol. 57, No. 1 (2014) Journal homepage: http://constructii.utcluj.ro/actacivileng Updating the Nomographical Diagrams for Dimensioning the Concrete

More information

Proiectarea bazelor de date. PL/SQL Înregistrări și Colecții # 13. Adrian Runceanu

Proiectarea bazelor de date. PL/SQL Înregistrări și Colecții # 13. Adrian Runceanu Proiectarea bazelor de date # 13 PL/SQL Înregistrări și Colecții 2016 Adrian Runceanu www.runceanu.ro/adrian Curs 13 Înregistrări și Colecții Proiectarea bazelor de date 2 Înregistrări și Colecții în PL/SQL

More information

BAZE DE DATE. Conf. univ.dr. ELENA NECHITA Lector univ. dr. GLORIA-CERASELA CRIŞAN

BAZE DE DATE. Conf. univ.dr. ELENA NECHITA Lector univ. dr. GLORIA-CERASELA CRIŞAN ROMÂNIA MINISTERUL EDUCAŢIEI, CERCETĂRII ŞI TINERETULUI UNIVERSITATEA din BACĂU FACULTATEA DE ŞTIINŢE Str. Spiru Haret, nr. 8, Bacău, 600114 Tel. ++40-234-542411, tel./ fax ++40-234-516345 www.ub.ro; e-mail:

More information

Universitatea George Bariţiu, Braşov

Universitatea George Bariţiu, Braşov LUCRUL CU BAZE DE DATE ÎN JAVA Lect.univ.dr.ing. IOAN-GHEORGHE RAŢIU Lect.univ. NICOLETA DAVID Universitatea George Bariţiu, Braşov Rezumat O bază de date reprezintă o modalitate de stocare a unor informaţii

More information

Documentaţie Tehnică

Documentaţie Tehnică Documentaţie Tehnică Verificare TVA API Ultima actualizare: 27 Aprilie 2018 www.verificaretva.ro 021-310.67.91 / 92 info@verificaretva.ro Cuprins 1. Cum funcţionează?... 3 2. Fluxul de date... 3 3. Metoda

More information

Proiectarea bazelor de date # 11. PL/SQL Funcții în PL/SQL (partea a II-a) Adrian Runceanu

Proiectarea bazelor de date # 11. PL/SQL Funcții în PL/SQL (partea a II-a) Adrian Runceanu Proiectarea bazelor de date # 11 PL/SQL Funcții în PL/SQL (partea a II-a) 2018 Adrian Runceanu www.runceanu.ro/adrian Curs 11 Funcţii în PL/SQL (partea II) Proiectarea bazelor de date 2 Cuprins Funcţii

More information

[{CYCLE NOCYCLE}] [{CACHE

[{CYCLE NOCYCLE}] [{CACHE Laborator 10 1. Secvenţe Secvenţa este un obiect al bazei de date ce permite generarea de întregi unici pentru a fi folosiţi ca valori pentru cheia primară sau coloane numerice unice. Secvenţele sunt independente

More information

Subinterogari SELECT salariul FROM angajaţi WHERE nume= Ionescu SELECT nume, prenume FROM angajaţi WHERE salariul>s

Subinterogari SELECT salariul FROM angajaţi WHERE nume= Ionescu SELECT nume, prenume FROM angajaţi WHERE salariul>s Subinterogari Sunteţi patronul unei firme. În ultima perioadă unul dintre salariaţii firmei, pe nume Ionescu, s-a remarcat în mod deosebit prin activitatea sa. Aţi decis de aceea să îi măriţi salariul

More information

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: "9",

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: 9, La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - (ex: "9", "125", 1573" - se va scrie fara ghilimele) Parola: -

More information

Ce este o BAZA DE DATE?

Ce este o BAZA DE DATE? Ce este o BAZA DE DATE? In sens larg un sistem proiectat pentru a oferi un mecanism organizat, capabil sa stocheze, sa actualizeze si sa regaseasca informatia Exemplu: o biblioteca Noţiunea de bază de

More information

I. CONCEPTE ALE BAZELOR DE DATE RELAŢIONALE

I. CONCEPTE ALE BAZELOR DE DATE RELAŢIONALE I. CONCEPTE ALE BAZELOR DE DATE RELAŢIONALE 1.1 Definiţii 1.2 Niveluri de abstractizare a datelor 1.3 Componente ale bazelor de date relaţionale 1.4 Proiectarea bazelor de date relaţionale. Etape. Normalizarea

More information

BAZE DE DATE Crearea, gestionarea şi exploatarea bazelor de date spaţiale

BAZE DE DATE Crearea, gestionarea şi exploatarea bazelor de date spaţiale BAZE DE DATE Crearea, gestionarea şi exploatarea bazelor de date spaţiale (note de curs) 1 Organizarea datelor. Concepte de bază Afluxul fără precedent de informaţie de diferite tipuri şi pe diverse canale,

More information

Luminiţa Scripcariu PREFAŢĂ... 3

Luminiţa Scripcariu PREFAŢĂ... 3 Luminiţa Scripcariu CUPRINS PREFAŢĂ... 3 CAPITOLUL I. INTRODUCERE ÎN TEORIA BAZELOR DE DATE... 5 I.1 Definiţii şi aplicativitate... 6 I.2 Categorii de personal... 8 I.3 Noţiuni specifice bazelor de date...

More information

Grafuri bipartite. Lecție de probă, informatică clasa a XI-a. Mihai Bărbulescu Facultatea de Automatică și Calculatoare, UPB

Grafuri bipartite. Lecție de probă, informatică clasa a XI-a. Mihai Bărbulescu Facultatea de Automatică și Calculatoare, UPB Grafuri bipartite Lecție de probă, informatică clasa a XI-a Mihai Bărbulescu b12mihai@gmail.com Facultatea de Automatică și Calculatoare, UPB Colegiul Național de Informatică Tudor Vianu București 27 februarie

More information

Propuneri pentru teme de licență

Propuneri pentru teme de licență Propuneri pentru teme de licență Departament Automatizări Eaton România Instalație de pompare cu rotire în funcție de timpul de funcționare Tablou electric cu 1 pompă pilot + 3 pompe mari, cu rotirea lor

More information

F. Radulescu. Curs: Utilizarea bazelor de date, anul IV C5.

F. Radulescu. Curs: Utilizarea bazelor de date, anul IV C5. Capitolul 8 Data mining date corelate Reprezentarea datelor Vom continua să considerăm modelul de date coşuri de produse şi vom vizualiza datele ca o matrice booleană unde: linii=coşuri şi coloane=articole.

More information

ARHITECTURA SISTEMELOR DE CALCUL ŞI SISTEME DE OPERARE. LUCRĂRILE DE LABORATOR Nr. 6, 7 şi 8 REPREZENTAREA INFORMAŢIILOR NUMERICE ÎNTREGI ŞI REALE.

ARHITECTURA SISTEMELOR DE CALCUL ŞI SISTEME DE OPERARE. LUCRĂRILE DE LABORATOR Nr. 6, 7 şi 8 REPREZENTAREA INFORMAŢIILOR NUMERICE ÎNTREGI ŞI REALE. ARHITECTURA SISTEMELOR DE CALCUL ŞI SISTEME DE OPERARE LUCRĂRILE DE LABORATOR Nr. 6, 7 şi 8 REPREZENTAREA INFORMAŢIILOR NUMERICE ÎNTREGI ŞI REALE. I. SCOPUL LUCRĂRILOR Lucrările prezintă reprezentarea

More information

Curs 1 17 Februarie Adrian Iftene

Curs 1 17 Februarie Adrian Iftene Curs 1 17 Februarie 2011 Adrian Iftene adiftene@info.uaic.ro 1 Limbajele calculatorului Compilate Interpretate Scripting P-cod Orientate pe aspect Orientate spre date 2 Cum lucrează? Orice program trebuie

More information

The First TST for the JBMO Satu Mare, April 6, 2018

The First TST for the JBMO Satu Mare, April 6, 2018 The First TST for the JBMO Satu Mare, April 6, 08 Problem. Prove that the equation x +y +z = x+y +z + has no rational solutions. Solution. The equation can be written equivalently (x ) + (y ) + (z ) =

More information

MODELUL UNUI COMUTATOR STATIC DE SURSE DE ENERGIE ELECTRICĂ FĂRĂ ÎNTRERUPEREA ALIMENTĂRII SARCINII

MODELUL UNUI COMUTATOR STATIC DE SURSE DE ENERGIE ELECTRICĂ FĂRĂ ÎNTRERUPEREA ALIMENTĂRII SARCINII MODELUL UNUI COMUTATOR STATIC DE SURSE DE ENERGIE ELECTRICĂ FĂRĂ ÎNTRERUPEREA ALIMENTĂRII SARCINII Adrian Mugur SIMIONESCU MODEL OF A STATIC SWITCH FOR ELECTRICAL SOURCES WITHOUT INTERRUPTIONS IN LOAD

More information

UNIVERSITATEA ŞTEFAN CEL MARE SUCEAVA

UNIVERSITATEA ŞTEFAN CEL MARE SUCEAVA UNIVERSITATEA ŞTEFAN CEL MARE SUCEAVA Facultatea de Ştiinţe Economice şi Administraţie Publică Nicolae Morariu BAZE DE DATE Îndrumar de laborator 2005 1 Referenţi ştiinţifici: Prof.univ.dr.ing. Alexandru

More information

TEZĂ DE DOCTORAT Contribuții în teoria bazelor de date

TEZĂ DE DOCTORAT Contribuții în teoria bazelor de date UNIVERSITATEA DIN BUCUREȘTI FACULTATEA DE MATEMATICĂ ȘI INFORMATICĂ TEZĂ DE DOCTORAT Contribuții în teoria bazelor de date (Rezumat) CONDUCĂTOR ȘTIINȚIFIC, PROF. UNIV. DR. IOAN TOMESCU DOCTORAND, VASILE

More information

9. CURSOARE. Obiective. În acest Capitol, vom învăţa despre: Manipularea cursoarelor. Folosirea Cursor FOR Loops şi Nesting Cursors.

9. CURSOARE. Obiective. În acest Capitol, vom învăţa despre: Manipularea cursoarelor. Folosirea Cursor FOR Loops şi Nesting Cursors. 9. CURSOARE Obiective. În acest Capitol, vom învăţa despre: Manipularea cursoarelor. Folosirea Cursor FOR Loops şi Nesting Cursors. Cursoare sunt zone de memorie care ne permit să alocam o zonă de memorie

More information

1. Date, informaţii, cunoştinţe Date Informaţii Cunoştinţele

1. Date, informaţii, cunoştinţe Date Informaţii Cunoştinţele 1. Date, informaţii, cunoştinţe Auzim adesea vorbindu-se despre Era informaţiilor sau societate informaţională sau tehnologia informaţiei însă de multe ori cuvântul "informaţie" este folosit fără a înţelege

More information

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip Mods euro truck simulator 2 harta romaniei by elyxir Mods euro truck simulator 2 harta romaniei by elyxir.zip 26/07/2015 Download mods euro truck simulator 2 harta Harta Romaniei pentru Euro Truck Simulator

More information

I. Instrucţiuni PRELEGERE IX PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE

I. Instrucţiuni PRELEGERE IX PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE PRELEGERE IX PROGRAMAREA CALCULATOARELOR ŞI LIMBAJE DE PROGRAMARE I. Instrucţiuni Contextul de condiţii în care se realizează diverse prelucrări se descrie prin instrucţiuni. Acestea permit înscrierea

More information

Itemi Sisteme de Operare

Itemi Sisteme de Operare Itemi Sisteme de Operare 1. Pentru a muta un dosar (folder) de pe partiţia C: pe partiţia D: folosim: a. New Folder b. Ctrl + C din bara de instrumente şi Copy; c. Ctrl + X şi Ctrl + V; d. Edit Paste;

More information

MANAGEMENTUL CALITĂȚII - MC. Proiect 5 Procedura documentată pentru procesul ales

MANAGEMENTUL CALITĂȚII - MC. Proiect 5 Procedura documentată pentru procesul ales MANAGEMENTUL CALITĂȚII - MC Proiect 5 Procedura documentată pentru procesul ales CUPRINS Procedura documentată Generalități Exemple de proceduri documentate Alegerea procesului pentru realizarea procedurii

More information

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET CAIETUL DE SARCINI Organizare evenimente VS/2014/0442 Euro network supporting innovation for green jobs GREENET Str. Dem. I. Dobrescu, nr. 2-4, Sector 1, CAIET DE SARCINI Obiectul licitaţiei: Kick off,

More information

Proprietăţi obiectual-relaţionale în standardul SQL prof. dr. ing. Mircea Petrescu

Proprietăţi obiectual-relaţionale în standardul SQL prof. dr. ing. Mircea Petrescu Proprietăţi obiectual-relaţionale în standardul SQL prof. dr. ing. Mircea Petrescu Tipuri construite interne (build-in) Din faza iniţială a existenţei sale, SQL a permis utilizarea tipurilor atomice pentru

More information

Laborator 2. Definirea tablourilor şi a funcţiilor (în linia de comandă) în Matlab 7.0

Laborator 2. Definirea tablourilor şi a funcţiilor (în linia de comandă) în Matlab 7.0 Laborator Definirea tablourilor şi a funcţiilor (în linia de comandă) în Matlab 70 Bibliografie 1 NH Bingham, John M Fry, Regression Linear Models in Statistics, Springer, New York, 010 M Ghinea, V Fireţeanu,

More information

Modele de date utilizate în bazele de date pentru prelucrari grafice

Modele de date utilizate în bazele de date pentru prelucrari grafice 64 Revista Informatica Economica, nr. 7/1998 Modele de date utilizate în bazele de date pentru prelucrari grafice Sef lucrari dr.ing. Marius Dorian ZAHARIA Universitatea POLITEHNICA Bucuresti Lucrarea

More information