Tema de casa baze de date Access
Probleme rezolvate pentru tema de casa
Problema rezolvata Nr 1
O biblioteca doreste informatizarea activitatii sale. Abonatilor bibliotecii li se īntocmesc fise ce contin un numar al fisei, data īntocmirii, seria, numarul si data eliberarii buletinului de identitate al persoanei precum si numele, prenumele, adresa si telefonul respectivului abonat. Acestia pot sa īmprumute maximum trei carti. Pentru fiecare carte se cunoaste cota, titlul, numarul total de exemplare, numarul de exemplare disponibil, anul editarii si autorii. Autorii sunt caracterizati prin cod, nume si prenume. Fiecare carte apartine unui anumit gen si este editata de o anumita editura. Un titlu de carte nu poate fi editat decāt de o singura editura. Editurile sunt caracterizate printr-un numar, denumire, adresa si telefon. Pentru fiecare īmprumut clientul trebuie sa complecteze cāte o cerere de īmprumut care este caracterizata printr-un numar, data si cartile ce se doresc a fi īmprumutate. Toate īmprumuturile sunt acordate pe o perioada de 21 zile.
Presupunānd ca se doreste sa se trimita cereri de somatie acelor abonati care nu au restituit cartile īmprumutate la timp, sa se elaboreze o interogare care sa furnizeze numele si adresele respectivelor persoane.
Rezolvare
Problema rezolvata Nr 2
Se considera baza de date prezentata īn capitolul 4 formata din tabelele Produse, Stocuri, Depozite, Beneficiari, Facturi, Localitate. Sa se realizeze folosind utilitarul QBE:
a) o interogare care afiseaza detaliile produselor comandate de catre beneficiarul "Vasilescu";
interogrea de pe nivelul cel mai de jos este urmatoarea
Interogarea de pe nivelul 2
Intergarea finala este urmatoarea
Dupa cum se observa, exemplul prezentat (instructinea SQL este prezentata īn capitolul 4) se realizeaza folosind trei instructiuni SELECT imbricate. Realizarea instructiunilor SELECT s-a realizat folosind utilitarul QBE.
b) o interogare prin care se insereaza un articol nou īn fisierul produse;
S-a introdus articolul cu codul "prod12", denumirea "aspirator" si pretul 1500000. Pentru a introduce o interogare de actiune cu ajutorul utilitarului QBE se selecteaza tipul actiunii si tabela īn care se doreste ca aceasta sa se execute. Pentru versiunea Access 95 comanda INSERT arata astfel:
INSERT INTO produse ( COD_PRODUS, DENUMIRE, PRET )
SELECT "prod12", "aspirator", 1500000;
Celelalte actiuni si anume stergerea si modificarea informatiilor se realizeaza asemanator.
c) o interogare prin care se modifica informatia dintr-o īnregistrare existenta;
Īn tabela Produse se modifica pretul īnregistrarii care are codul "prod12". Comanda UPDATE corespunzatoare este:
UPDATE produse SET pret = 2000000
WHERE cod_produs='prod12';
d) o interogare care sterge o īnregistrare existenta īntr-o tabela
Comanda DELETE corespunzatoare acestei actiuni este:
DELETE DISTINCTROW produse.COD_PRODUS
FROM produse
WHERE (((produse.COD_PRODUS "prod12"));
Probleme propuse pentru rezolvare
Toate problemele trebuie rezolvate de catre studenti!
Problema nr.1
Se considera o baza de date cu numele Product formata din urmatoarele fisiere: Produse, Comenzi, Clienti cu urmatoarea structura:
Produse
Nr_prod |
Numeric |
Numar produs |
Nume_Prod |
Text |
Descrierea produsului format din litere mari. Īn modul Datasheet numele cāmpului apare "Numele Produsului" |
Pret_Prod |
Numeric |
Pretul produsului |
Cheia primara este formata din cāmpul Nr_prod
Comenzi:
Cod_Client |
Numeric |
Cod client format din 4 caractere numerice |
Nr_prod |
Numeric |
Numar produs |
Cant_Prod |
Numeric |
Cantitate produs |
Cod_Cda |
Numeric |
Cod comada Īn modul Datasheet va apare pentru cāmp textul "Cod Comanda" |
Achitat |
yes/no |
Se considera valoarea "y"es daca factura este achitata si valoarea "no" daca factura nu este achitata |
Data_Cda |
Date/Time |
Data comenzi |
Cheia primara este formata din cāmpul Cod_Cda.
Clienti
Cod_Client |
Numeric |
Cod client format din 4 caractere numerice |
Nume_Client |
Text |
Nume client |
Adresa |
Text |
Adresa clientului. Primele caractere reprezinta localitatea de domiciliu, urmata de numele strazi, nr, bloc etc |
Judet |
Text |
Judetul de domiciliu al clientului |
Nr Telef |
Text |
Numarul de telefon al clientului Masca de intrare este 999/999999 |
Cheia primara este formata din cāmpurile Nume Client si Adresa.
Sa se realizeze o interogare prin care sa se vizualizeze produsele comandate de un anumit client;
Sa se realizeze o interogare prin care sa se vizualizeze clientul care are comanda cu valoarea cea mai mare.
Valoarea este egala cu produsul dintre cantitate si pret. Se va folosi functia agregat Max.
Problema nr. 2
Se considera baza de date de la problema precedenta.
Sa se realizeze o interogare care calculeaza valoarea medie a produselor comandate care au data comenzi mai mica decāt data curenta;
Sa se realizeze o interogare care vizualizeaza suma valorilor comenzilor achitate;
Valoarea este egala cu produsul dintre cantitate si pret. Se vor folosi functiile agregat SUM si AVG
Problema nr. 3
Se considera baza de date de la problema precedenta.
Sa realizeze o interogare prin care se vizualizeaza clientul care a comandat produsul, cu pretul cel mai mare;
Sa se realizeze o interogare care afiseaza pretul mediu al produselor comandate īntr-o anumita zi.
Valoarea este egala cu produsul dintre cantitate si pret. Se vor folosi functiile agregat MAX si AVG
Problema nr. 4
Se considera baza de date de la problema precedenta.
Sa se realizeze o interogare care afiseaza numele si adresa clientului care a comandat un anumit produs. Numele produsului este introdus de la tastatura;
Sa se realizeze un filtru care afiseaza numele produselor care īncep cu o anumita litera.
Problema nr. 5
Se considera baza de date de la problema precedenta.
Sa se realizeze o interogare care afiseaza valoarea facturilor neachitate;
Sa se realizeze o interogare care afiseaza numele produselor comandate īntr-o zi.
Se va folosi functia agregat AVG.
Problema nr. 6
Se considera baza de date de la problema precedenta.
Sa se realizeze o interogare care afiseaza cantitatea totala dintr-un anumit produs comandata īntr-o zi;
Sa se realizeze un filtru care afiseaza numarul de telefon al unui client. Numele clientului se va introduce de la tastatura.
Se va folosi functia agregat SUM.
Problema nr. 7
Se considera baza de date de la problema precedenta.
Sa se realizeze un filtru care afiseaza clientii domiciliati īntr-o anumita localitate;
Sa se realizeze o interogare care afiseaza produsele care au fost comandate de clienti domiciliati īn aceasi localitate.
Problema nr. 8
Se considera baza de date de la problema precedenta.
Sa se realizeze o interogare care vizualizeaza cantitatea dintr-un produs. Codul produsului se introduce de la tastatura;
Sa se realizeze o interogare care afiseaza numele, adresa si numarul de telefon al unui client, pentru care a fost emisa o anumita comanda. Codul comenzii se va introduce de la tastatura.
|