BD L05 Interogari I

download BD L05 Interogari I

of 18

Transcript of BD L05 Interogari I

  • 7/28/2019 BD L05 Interogari I

    1/18

    UTBV-dep.I.F., Alexandru C. FILIP Baze de date 1

    Interogrile sunt obiecte ale bazei de date destinate prelucrrii informaiilormemorate n tabele (selecie, calcule, afiare, modificare).

    Se mai numesc i cereri, rspunznd necesitilor utilizatorului de a afiaselectiv informaii din baza de date, de a le prelucra prin crearea unor noicmpuri sau tabele sau prin modificarea valorilornregistrrilor existente.

    Interogarea este de fapt un set de instruciuni proiectate conformcerinelor.

    Interogrile rspund lantrebri cum ar fi:

    Care este lista produselor executate dinacelaimaterial?

    Care sunt produsele avndaceleaidimensiuni delegtur?

    Care sunt operaiile executate pe un anumit echipament?

    Care este graficul deproducie ntr-oanumit perioadde timp? Care este lista echipamentelor avnd oanumit caracteristic (puterea)?

    Interogrile se creaz i se gestioneaz n grupul Queries.

    2.5. Proiectarea i execuia interogrilor.

  • 7/28/2019 BD L05 Interogari I

    2/18

    UTBV-dep.I.F., Alexandru C. FILIP Baze de date 2

    O interogare poate fi afiat sub mai multe forme:

    n fereastra de proiectare (Design) n care se configureaz toate obiectele i

    opiunile de execuie, pe baza metodei QBE Query-By-Example; n fereastra de execuie (Datasheet) n care sunt afiate nregistrrilerezultate n urma execuiei instruciunilor configurate n fereastra de proiectare

    n fereastra SQL n care este afiat succesiunea instruciunilor n format SQL

    2.5. Proiectarea i execuia interogrilor.

    Interogrile se clasific n dou categorii:

    De selecie (cmpuri, nregistrri, cu parametru, cu cmp calculat, de tip

    statistic) care preiau informaii din tabele, eventual le prelucreaz prin calcule iafieaz rezultatele, fr a afecta structura acestora. Dup execuia interogrii,datele coninute n tabele rmn neschimbate.

    De aciune (creare, adugare, actualizare, modificare) care preiau informaiidin tabele, eventual le prelucreaz i apoi modific structura acestora, prin crearede noi tabele, adugare, actualizare sau tergere de nregistrri. Dup execuiainterogrii, datele coninute nnregistrri se modific sau apar tabele noi.

  • 7/28/2019 BD L05 Interogari I

    3/18

    UTBV-dep.I.F., Alexandru C. FILIP Baze de date 3

    2.5. Proiectarea i execuia interogrilor.

    IMPORTANT!

    O interogare de selecie afieaz nregistrrile din tabelele bazei de date,

    fiind n permanen legtur cu acestea.Orice modificare a valorilor afiate de interogare se transmite ntabele i afecteaz integritatea datelor.

    De aceea, nu se recomand execuia direct a interogrii din seciuneaQueries, ci prin intermediul unui formular, panou de comand sau a unei

    macrocomenzi, obiecte n care se pot proteja nregistrrile mpotrivamodificrii accidentale sau intenionate.

    Rezultatul afiat la execuia unei interogri conine datele

    existente la momentul respectiv n baza de date. Acest rezultatdifer un mod uzual la execuia n dou momente de timpdiferite, datorit structurii dinamice a bazei de date, care semodific permanent (adugare de inregistrri).

  • 7/28/2019 BD L05 Interogari I

    4/18

    UTBV-dep.I.F., Alexandru C. FILIP Baze de date 4

    Semnificaia opiunilor din zona de proiectare:

    Field i Table : numele unui cmp existent i al tabelului din care provine saunumele unui cmp nou creat;

    Sort : criteriu de ordonare dup valorile din cmpul respectiv;

    Show : afiarea sau ascunderea valorilor cmpului la execuia interogrii(caset de validare);

    Criteria / Or : criteriul / criteriile de selecie anregistrrilor;

    Total: apare la interogrile de tip statistic i precizeaz opiunea statistic deprelucrare a datelor;

    Crosstab : apare la interogrile de tip tabel sintetic, pentru precizareaatributului cmpului respectiv (Row Heading, Column Heading, Value).

    Append To / Update To / Delete : precizarea criteriilor de selecie lainterogrile de aciune

    Fiecare cmp existent adus pe grila de proiectare preia proprietile acestuia dintabelul de origine. Unele dintre aceste proprieti pot fi modificate direct nfereastra interogrii i vor avea efect doar n aceasta (Property Sheet).

    Fereastra de proiectare a interogrii Design

  • 7/28/2019 BD L05 Interogari I

    5/18

    UTBV-dep.I.F., Alexandru C. FILIP Baze de date 5

    Interogri de selecie.

    Exemple de utilizare a opiunilor de selecie Criteria/Or.

    Valoarea sau relaia Explicaii

    haas Valoarea cmpului trebuie s fie exact haas.

    Nottopper Orice valoare n afar de topper.

    topper Orice valoare n afar de topper.

    haasormazak Valoarea cmpului poate fihaassaumazak

    FalseValoarea cmpului trebuie s fie False (sau 0).Se utilizeaz la cmpuri de tip Yes/No.n mod similar exist valoarea True (sau 1).

    >= 8000 Orice valoare mai mare sau egal cu 8000

    >6000 and =6000 and

  • 7/28/2019 BD L05 Interogari I

    6/18

    UTBV-dep.I.F., Alexandru C. FILIP Baze de date 6

    Interogri de selecie.

    Exemple de utilizare a opiunilor de selecie Criteria/Or.

    Valoarea sau relaia Explicaii

    Likeniplu* Orice valoare care ncepe cu irul nipluSemnul *nlocuiete orice numr de caractere (joker)

    Like*pb*Orice valoare care include irul pb.Ex. CuZn43Pb2, CuZn37Pb2, CuPb10Sn10T

    Like*a Orice valoare care se termin cu caracterul a.

    In (haas;mazak) Valoarea poate fihaas sau mazak.

    Between 0 and 15 Orice valoare cuprins ntre 0 i 15, inclusiv 0 i 15.

    Between #01.01.11#and #31.01.11#

    Orice dat calendaristic cuprins ntre 1 ian 2011 i 31 ian2011, inclusiv limitele.

    >=#01.01.11# and

  • 7/28/2019 BD L05 Interogari I

    7/18

    UTBV-dep.I.F., Alexandru C. FILIP Baze de date 7

    Exemple de interogri de selecie.

    Care este lista materialelor de un anumit tip ?

    Selecie dup valoarea complet acmpului.

    Selecie dup valoarea parial acmpului, la nceputul acesteia.

  • 7/28/2019 BD L05 Interogari I

    8/18

    UTBV-dep.I.F., Alexandru C. FILIP Baze de date 8

    Exemple de interogri de selecie.

    Care este lista materialelor careconinplumb ca element de aliere?

    Selecie dup valoarea parial a cmpului, coninut n valoarea complet.

    Care sunt materialele curezistenala rupere mai mare de 400 N/mm2?

    Selecie cu operator de comparare (>400).

  • 7/28/2019 BD L05 Interogari I

    9/18

    UTBV-dep.I.F., Alexandru C. FILIP Baze de date 9

    Exemple de interogri de selecie.

    Care este lista echipamentelor avnd una dintremrcileHaassau Mazak?

    Selecie dup 2 valori complete cu operatorul logic alternativ Or.

  • 7/28/2019 BD L05 Interogari I

    10/18

    UTBV-dep.I.F., Alexandru C. FILIP Baze de date 10

    Exemple de interogri de selecie.

    Care este lista echipamentelor avnd puterea ntre 15 i20 KW, inclusiv?

    Selecie dup un interval de valori, cu operatori de comparare aplicai simultan,cu ajutorul operatorului logicAnd.

    Se poate utiliza i funcia Between, care permite selecia dup un interval devalori precizat.

    Dac este necesar excluderea unui interval

    de valori, atunci funcia Between secombin cu operatorul logic Not.

  • 7/28/2019 BD L05 Interogari I

    11/18

    UTBV-dep.I.F., Alexandru C. FILIP Baze de date 11

    Exemple de interogri de selecie.

    Care este lista materialelor pentru careexistcodul EuroNorm?

    Selecie dup criteriul existenei valorii memorate la un cmp, cu funciadedicat Is Not Null.

    Care este evidena produciei pentru un anumit produs, ntr-uninterval de timp?

  • 7/28/2019 BD L05 Interogari I

    12/18

    UTBV-dep.I.F., Alexandru C. FILIP Baze de date 12

    Interogri de selecie.

    Cmpuri calculate.

    ntr-o interogare, un cmp calculat reprezint un nou cmp, creat n

    fereastra de proiectare, prin precizarea relaiei matematice de calcul alvalorilor acestuia, bazat desigur pe valorile din cmpurile existente ntabelele bazei de date i pe operatorii matematici.

    Valorile cmpurilor calculate nu sunt memorate fizic n baza de date, elesunt afiate doar la execuia interogrii.

    La editarea relaiei matematice se pot utiliza i funcii predefinite inclusentr-o bibliotec specific, Built-In Functions.

    Sintaxa unui cmp calculat este urmtoarea:

    nume_cmp:

    n care nume_cmp reprezint un nume care se atribuie cmpului respectiv,iar reprezint relaia matematic de calcul al valorilorcmpului.

  • 7/28/2019 BD L05 Interogari I

    13/18

    UTBV-dep.I.F., Alexandru C. FILIP Baze de date 13

    Biblioteca de funcii integrate / Constructorul de relaii.

    Access dispune de o bibliotec de funcii predefinite integrate built-infunctions care se pot utiliza pentru prelucrarea informaiilor de diferite tipuri(numerice, text, logice etc.) coninute la un moment dat ntr-o baz de date.

    Valorile cmpurilor nou create n interogri, formulare sau rapoarte pot fi rezultatulevalurii unor relaii matematice n care s fie incluse i funcii predefinite.

    Editarea relaiilor matematicese poate face prin intermediulunei fereastre de editarespecific Expression Builder.

    Funciile integrate suntgrupate pe categorii, iar laselecia oricreia, se poate apela

    i un ajutor specific, care sdescrie succint sintaxa funciei iargumentele acesteia.

  • 7/28/2019 BD L05 Interogari I

    14/18

    UTBV-dep.I.F., Alexandru C. FILIP Baze de date 14

    Exemple de cmpuri calculate cu diverse relaii matematice.

    Relaia matematicde calcul

    Explicaii

    [marca] & " " & [cod_p]Crearea unui cmp prin concatenarea valorilor a dou

    cmpuri, [marca] i [cod_p], separate de un spaiu

    ([rm1]+[rm2])/2Calculul unei valori medii ca medie aritmetic dintrevalorile a dou cmpuri, [rm1] i [rm2].

    [r02]/[rmed]Calculul unui raportntre valorile a dou cmpuri.(Gradul de plasticitate al materialului)

    IIf ([turatie] >=6000;OK)

    Cmp calculat cu funcia condiional IIf. Pentruvalorile cmpului [turatie] mai mari sau egale cu 6000,cmpul va avea valoarea OK, iar pentru celelaltevalori, va avea valoarea Null.

    2012-Year[data_n]Calculul vrstei unei persoane prin scderea din anulcurent a anului naterii. Se utilizeaz funcia Year( )

    Sum([cantitate])Calculul sumei valorilor cmpului [cantitate], utilizndfuncia statistic Sum( )

    IIf(InStr([domeniu];" ")0; Left([domeniu]; InStr([domeniu];" ")-1);[domeniu])

    Extragerea primului cuvnt dintr-un text, reprezentnd valorile unui cmp,[domeniu]

  • 7/28/2019 BD L05 Interogari I

    15/18

    UTBV-dep.I.F., Alexandru C. FILIP Baze de date 15

    Exemple de interogri cu cmpuri calculate.

    Care este valoarea medie a rezistenei la rupere a materialelor?

    Se creaz un cmp calculat cu relaia matematic: ([rm1]+[rm2])/2

  • 7/28/2019 BD L05 Interogari I

    16/18

    UTBV-dep.I.F., Alexandru C. FILIP Baze de date 16

    Exemple de interogri cu cmpuri calculate.

    Care este valoarea raportului dintre limita de curgere irezistenalimitla rupere a materialelor?

    Se creaz un cmp calculat cu relaia matematic: [r02]/[rmed]

  • 7/28/2019 BD L05 Interogari I

    17/18

    UTBV-dep.I.F., Alexandru C. FILIP Baze de date 17

    Exemple de interogri cu cmpuri calculate.

    Crearea de cmpuri calculate prin unirea cmpurilor de tip text.

    Relaia matematic: [marca] & " " & [cod_p]

    sau [marca] + " " + [cod_p]

  • 7/28/2019 BD L05 Interogari I

    18/18

    UTBV-dep.I.F., Alexandru C. FILIP Baze de date 18

    Exemple de interogri cu cmpuri calculate.

    Utilizareafunciei condiionaleIif(conditie; valDA; valNU).

    Relaia matematic: IIf ([turatie] >=6000;OK)

    Dac turaia maxim este celpuin 6000, atunci valoareareturnat este OK.