Sunteți pe pagina 1din 24

Laborator 10

Interogarile de actiune

APLICATIE PROPUSA

Aplicatie

Se cere: 1.Creai o interogare care s afieze toate comenzile trimise de clienii din Bucureti i Craiova. 2. Creai o interogare care s afieze toate comenzile livrate n intervalul 01.01.2013-30.05.2013 pt produsul "ciocolata. 3. Creai o interogare care s afieze toate comenzile cu o valoare finala mai mare de 1000 lei 4. Creai o interogare care sa calculeze o reducere de 15%, doar pentru comenzile cu o valoare finala mai mare de 200 lei. 5.Creai o interogarea parametrizata prin intermediul careia utilizatorul solicita afisarea doar a unui comenzi, in acelasi timp afisandu-se numele clientului care a trimis comanda,localitatea de provenienta a acestuia, telefonul acestuia cat si produsele care se livreaza . 6. Creai o interogare parametrizat prin intermediul careia utilizatorul va calcula un procent de reducere pentru fiecare dintre comenzi 7. Crearea unei interogari pentru aflarea numrului de comenzi realizate de fiecare client in fiecare luna a anului

Aplicatie FB an I

Se cere: 1.Creai o interogare care s afieze toate comenzile trimise de clienii din Bucureti i Craiova. 2. Creai o interogare care s afieze toate comenzile primite n luna martie a anului 2013. 3. Creai o interogare care s afieze toate comenzile livrate n intervalul 01.01.201330.05.2013 pt produsul "ciocolata. 4. Creai o interogare care sa calculeze campurile: valoare,tva si valoare finala. 5. Creai o interogare care sa calculeze o reducere de 15%, doar pentru comenzile cu o valoare finala mai mare de 200 lei.

Interogarile de actiune

Obiective

1.Make table query 2.Append query 3.Delete query 4.Update query

Interogri de aciune. Action Query


Modul de elaborare a unei interogri tip aciune este similar celui prezentat n cazul interogrilor de selecie, presupunnd ca etap suplimentar specificarea explicit prin intermediul butonului rubrica contextual Query Tools a tipului de cerere dorit. Modificrile asupra bazei de date sunt efectuate doar n momentul execuiei interogrii. Este recomandat proiectarea n prealabil a cererii ca o simpl interogare de selecie i verificarea rezultatelor ce vor fi afectate deoarece nu exist posibilitatea revenirii n cazul tergerii sau modificrii eronate a nregistrrilor.tabel.

Exist patru tipuri de interogri de aciune:


1. Interogri generatoare de tabele - Make Table Query care creeaz tabele pornind de la totalitatea sau o parte a nregistrrilor unuia sau a mai multor tabele;
1. Interogri de adugare nregistrri Append Query care permit adugarea de nregistrri ntr-un tabel sau mai multe tabele 2. Interogri de tergere Delete Query care permit tergerea nregistrrilor dintr-un tabel sau mai multe tabele; 3. Interogri de actualizare Update Query permite actualizarea datelor dintr-un set de nregistrri.

n lista de interogri din butonul rubrica contextual Instrumente Interogare, pentru fiecare tip de interogare exist cte un simbol plasat naintea denumirii interogrii. Instrumente
Interogare

Make Table Query

Append Query

Update Query

Delete Query

1. Interogri pentru crearea de noi tabele (Make Table Query)


Crearea de noi tabele pe baza nregistrrilor din tabelele deja existente presupune parcurgerea urmtoarelor etape: 1. Elaborarea unei interogri de selecie n modul Design View (vor fi luate n calcul doar cmpurile ce dorim s fac parte din structura noii tabele, iar, n cazul n care sunt necesare i alte cmpuri pentru aplicarea unor criterii, acestea nu vor fi marcate n linia Show a grilei QBE). 2. Apelarea din butonul rubrica Query Tools a opiunii Make Table Query i specificarea n caseta Make Table a numelui noii tabele (se poate opta pentru crearea noii tabele ntr-o alt baz de date bifnd opiunea Another Database i specificnd numele fiierului). 3. Lansarea n execuie a interogrii.

Tabela rezultat va moteni doar tipurile de date i dimensiunile cmpurilor din tabelele surs, nu i cheia primar sau eventualele proprieti la nivel de cmp ori tabel.
Exemplul urmtor ilustreaz crearea unei tabele (clieni 2 ) ce va conine codurile, numele i telefoanele clienilor din afara rii (figura 1).

Fig. 1. Interogarea Make Table Query

Exist posibilitatea generrii unor tabele care s conin cmpuri ce nu exist n tabelele surs (cmpuri calculate). Un exemplu n acest sens este prezentat n figura 2 i reprezint modul de obinere a unei tabele n care sunt evideniate cantitile comandate din fiecare produs.

Fig 2

Observatie
n cazul executrii repetate a unei astfel de interogri, sau atunci cnd se specific n caseta Make Table numele unei tabele deja existente, vechea tabel cu acelai nume va fi tears naintea generrii celei noi.

2. Interogri pentru actualizarea datelor (Update Query)


Acest tip de interogri permit modificarea valorilor datelor din unul sau mai multe cmpuri ale nregistrrilor ce satisfac restriciile impuse de utilizator. Pentru a realiza o interogare de tip Update este necesar selectarea n modul Design View a cmpurilor ce vor fi actualizate i, eventual, a celor ce fac obiectul restriciilor, dup care se va apela din butonul rubrica Query Tools opiunea Update Query. Ca rezultat al acestei operaii n grila QBE va fi disponibil linia Update To n care se va putea completa formula de calcul sau valoarea dorit pentru actualizare.

Pentru exemplificare (figura 3) presupunem c, n urma renegocierii termenelor, s-a hotrt amnarea livrrilor ctre clientul SQL SRL cu 5 zile. Modificarea se va produce evident doar n cazul comenzilor care nu au fost nc expediate. Rezultatul este prezentat n figura 4.

Fig. 3. Interogarea Update Query

Tabela comenzi nainte de update Fig. 4.

Tabela comenzi dup de update

Observatii 1. Se remarc notaia ntre paranteze drepte a denumirilor de cmpuri, chiar dac acestea nu conin spaii. 2. n cadrul interogrilor Update nu sunt admise modificri asupra cmpurilor cheie primar sau modificri ce ar putea conduce la nerespectarea restriciilor de integritate. 3. O situaie ce ar putea genera erori survine atunci cnd, n cazul cmpurilor de tip text, valoarea rezultat depete lungimea cmpului din tabel. n acest caz valoarea va fi trunchiat din partea dreapt.

3. Interogri pentru tergerea de nregistrri (Delete Query)


Interogrile aciune de tip Delete ofer posibilitatea eliminrii mai multor nregistrri din tabele pe baza unor criterii impuse de utilizator.. Aciunea interogrilor de tergere acompaniat de opiunea de tergere n cascad configurat n fereastra Relationships poate conduce la tergerea simultan a datelor din mai multe tabele. Pentru a realiza o interogare de tergere se elaboreaz n mod normal o cerere selectndu-se cmpurile dorite i impunnduse restriciile necesare dup care se apeleaz din Butonul Query Tools opiunea Delete.

Exemplul urmtor prezint modalitatea n care se pot terge din baza de date toate comenzile efectuate dup data de 9 februarie de clienii ce au codurile 2 sau 3 (figura 6).

Fig. 6. Interogarea Delete Query

Fig. 7. Tabela comenzi nainte de delete

Fig. 8. Tabela comenzi dup delete

Observatie
Este evident c interogarea nu va putea fi executat n cazul n care tergerea unor nregistrri n tabela Comenzi ar conduce la nclcarea regulilor de integritate a bazei de date (relaia ntre tabela Comenzi i Coninut comand trebuie s accepte tergerea n cascad).

4.Interogri pentru adugarea de nregistrri (Append Query)


Interogrile pentru adugare ofer utilizatorilor posibilitatea inserrii de noi nregistrri n tabel pornind de la nregistrrile existente. Pentru a realiza o interogare de tip Append este necesar parcurgerea urmtoarelor etape: 1. Elaborarea unei interogri de selecie n modul Design View. Se va alege tabela ce conine datele i vor fi luate n calcul doar cmpurile ce conin valorile ce vor fi adugate, iar, n cazul n care se dorete aplicarea unor criterii de selecie a acestora, se vor aduga cmpurile de restricionat.

2. Se vor tasta eventualele condiii n linia de criterii a


interogrii. 3. Din butonul rubrica Query Tools se va selecta opiunea Append Query ce va conduce la afiarea ferestrei Append n care se va selecta numele tabelei n care dorim adugarea. 4. Transformarea interogrii de selecie ntr-o interogare de adugare are ca efect apariia rndului Append To n fereastra de proiectare a interogrii. n acest rnd se va specifica pentru fiecare cmp din tabela ce conine datele denumirea cmpului corespondent din tabela unde vor fi adugate.

Pentru exemplificare vom presupune c dorim adugarea n tabela clieni 2 (ce conine n momentul actual doar clienii din afara rii) a tuturor clienilor din tabele clieni ce nu au sediul n Bucureti (figura5). Denumirile cmpurilor din linia Append To a grilei QBE sunt completate automat doar n cazul n care acestea coincid n tabela sursa cu cele din tabela destinaie.

Fig. 5. Interogarea Append Query

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