Download - Baza de Date - Agentie de Turism -

Transcript

BAZA DE DATE AGENTIE DE TURISM

DIANCOF ALINA - GABRIELA An II, CIG Seria A Grupa 619

Introducere Microsoft Access 2003 este aplicaia de management al bazelor de date pus la dispoziie de suita Microsoft Office. Spre deosebire de Excel, Access va permite s stocm i s administrm volume mari de date, organizate n uniti numite nregistrri. O baz de date Access const din urmtoarele obiecte: Tabele conin toate nregistrrile Interogri localizeaz nregistrri specifice Formulare afieaz nregistrrile din tabele, una cte una Rapoarte tipresc loturi de nregistrri Pagini de acces la date pun la dispoziie date prin intermediul paginilor Web Macrocomenzi aciuni automate uzuale Module stocheaz declaraii si proceduri Visual Basic, care ne permit s scriem programe pentru bazele de date, astfel nct acestea s poat interaciona cu alt software. Utilitarele de asisten din aplicaia Access asigur un proces simplu, pas cu pas, de configurare a tabelelor, formularelor, paginilor de acces la date, rapoartelor i interogrilor. Prezenta lucrare conine 5 paragrafe. 1 conine noiuni de baze de date,tipuri BD. O baz de date (BD) reprezint o colecie de date integrat, anume structurat i dotat cu o descriere a structurii i a relaiilor dintre date. 2 conine caracteristica general a SGBD Access. 3 conine tabelele Access ,care n baza lor se definesc celelalte clase de obiecte. 4 conine funcii Access. Ultimul conine interogri Access care include i subpunctele interogri de selecie,de sortare, de actualizare a datelor, de excludere a nregistrrilor, de grupare i totalizare i interogri ncruciate.

Lansarea sistemului MS Access 2003 SGBD MS Access funcioneaz numai n mediul Windows. Exist mai multe modaliti de lansare a sistemului Access, una din ele fiind executarea consecutiv a aciunilor Start/All Programs(sau Programs)/Microsoft Office/Microsoft Office Access 2003. Ca rezultat, obinem o fereastr, asemntoare cu cea din figura 1.

Figura 1. Lansarea sistemului Access Crearea / accesarea unei baze de date Dup cum am mai menionat, elementele principale ale unei baze de date sunt tabelele. Dar o baz de date poate conine i alte elemente care se creeaz pe baza tabelelor (interogri, formulare, rapoarte etc.). Aceste elemente, mpreun cu tabelele, formeaz aa-numitele clase de obiecte ale bazei de date. Pentru a crea o baz de date nou, n zona Open a ferestrei reprezentate n figura 1 alegem opiunea Create a new file, iar n caseta urmatoare - opiunea Blank Database. Putem, de asemenea, utiliza comenzile de creare/accesare a bazelor de date din meniul File.

Figura .2 Pentru a deschide o baz de date existent n zona Open a ferestrei reprezentate n figura 1 executm un clic pe denumirea uneia din bazele de date utilizate recent sau selectm opiunea More pentru a accesa o baz de date amplasat pe un dispozitiv de memorie auxiliar. n caseta de dialog care apare indicm numele BD

Figura.3 i localizarea ei (discul, dosarul).Obinem o fereastr n care sunt disponibile cele 7 clase de obiecte Access.

Figura. 4 Fereastra cu clasele de obiecte Access nchiderea / redeschiderea bazei de date nchiderea unei baze de date poate fi fcut prin executarea comenzii Close din meniul File sau prin acionarea butonului din bara de titlu a bazei de date. De regul, la nchidere, sistemul salveaz automat baza de date mpreun cu toate obiectele pe care le conine. nchiderea unei baze de date nu nseamn i nchiderea aplicaiei MS Access, astfel nct putem deschide o alt de date sau crea o baz de date nou, n modul descris mai sus. Ieirea din Access Ieirea din MS Access poate fi fcut n unul din urmtoarele moduri: se apas combinaia de taste Alt+F4; se execut comanda Exit din meniul File; se acioneaz butonul din bara de titlu a aplicaiei

Tabele Access.Crearea unui tabel Dup ce am deschis o baz de date , eveniment confirmat prin apariia ferestrei cu cele 7 clase de obiecte (fig.4) , putem crea diferite obiecte n oricare din clasele nominalizate. Dar deoarece fiecare din clasele Queries, Forms, Reports, Pages, Macros i Modules se definesc n baza tabelelor, acestea (tabelele) trebuie create n primul rnd. Cu alte cuvinte, dac o BD nu conine cel puin un tabel, crearea altor clase de obiecte devine lipsit de sens. Pentru a crea un tabel nou ,de exemplu, Comenzi, selectm clasa de obiecte Tables, apoi acionm butonul . Caseta de dialog New Table care apare (fig.5) ne ofer 5 moduri de definire a structurii tabelului.

Figura.5 Moduri de definire a structurii unui tabel Dac selectm opiunea Design View i acionm butonul OK, obinem o fereastr (fig.6) n care definim cmpurile tabelului i caracteristicile lor.

fig.6.Definirea cmpurilor tabelului Comenzi

Aplicatia ofera solutia informatizata a procesului de rezervare a pachetelor turistice precum si a evidentia clientiilor agentiei. Ca urmare avem nevoie de 3 tabele: Clienti, Pachete si Rezervari. Tabelele create sunt de forma urmatoare :

Stabilirea cheilor primare Dac valorile unui cmp sunt unice (nu se repet), putem semnala acest lucru, pentru a evita introducerea accidental a dou valori identice. Aceast procedur poart denumirea de stabilire a cheii primare. - In cazul tabelului CLIENTI, cheia primar poate fi stabilit pe cmpul Cod_client, pentru a exclude eventualitatea repetrii identificatorului crii (n baza de date nu pot exista doi clienti cu acelasi cod). - Pentru tabelul PACHETE, cheia primara poate fi stabilita pe camplul Cod_pachet. - Pentru tabelul REZERVARI cheia primara poate fi stabilita pe campul Cod_rezervare. Pentru a stabili cheia primar, selectm cmpul respectiv, apoi executm un clic pe butonul din bara cu instrumente. Ca rezultat, n partea din stnga a cmpului respectiv apare semnul cheii

Dup ncheierea procedurii de descriere a cmpurilor i de stabilire a cheii primare, salvm tabelul (descrierea lui), selectnd comanda Save din meniul File i indicnd numele tabelului. Dac nu am stabilit o cheie primar (acest lucru nu este obligatoriu), sistemul ne va avertiza, sugerndu-ne stabilirea cheii pe un cmp de tip AutoNumber. Pentru a confirma, acionm butonul Yes. n acest caz sistemul stabilete automat cheia primar pe un cmp AutoNumber (dac el exist) sau creeaz suplimentar un asemenea cmp (dac el nu exist), stabilind pe el cheia primar. Pentru a renuna la stabilirea cheii primare, acionm butonul No. Introducerea datelor n tabel Dup ce am efectuat procedurile de descriere a tabelului , putem introduce date n cmpurile lui. Pentru a iniia procesul de introducere a datelor , deschidem BD (dac nu este deschis) , apoi n fereastra Database (fig.4) selectm tabelul necesar (de exemplu Cititori) i executm un clic pe Open. Ca rezultat, se afieaz cmpurile tabelului respectiv fig.7 Iniial tabelul conine doar un rnd liber de forma urmatoare :

Dupa adaugarea datelor, tabelele noastre arata in felul urmator : Tabelul Clienti :

Tabelul Pachete :

Tabelul Rezervari :

Relaii dintre tabele. Integritatea datelor Relaiile dintre dou tabele se stabilesc, de regul, prin intermediul unor cmpuri identice (cu aceeai denumire, de aceeai lungime, cu aceleai proprieti) prezente n ambele tabele. n cazul relaiei de tipul unu la muli n tabelul primar (din partea cruia se realizeaz relaia "unu") trebuie s existe un cmp, numit cheie primar, n care nu se admit valori care se repet, iar n tabelul secundar (din partea cruia se realizeaz relaia "muli") trebuie s existe un cmp analogic cu cel din tabelul primar, numit cheie strin, care poate admite valori care se repet. Relaia muli la muli poate fi transformat n dou relaii de tipul unu la muli prin definirea unui tabel intermediar, n care se introduc, n calitate de chei strine, cheile primare ale primelor dou tabele. Astfel, pentru a evita relaia muli la muli dintre

tabelele CLIENTI i PACHETE, a fost definit tabelul REZERVARI n care au fost incluse cmpurile Cod_rezervare i Cod_pachet din tabelele respective. Putem stabili relaii ntre tabelele bazei de date i n mod explicit, utiliznd comanda Relationships din meniul Tools. n acest caz apare

fig.8 Relaiile dintre tabelele bazei de date

Interogri AccessPerformanele unui SGBD depind n mare msur de capacitatea extragerii rapide a diferitor informaii n forma dorit. n multe cazuri este necesar de a selecta date din mai multe tabele simultan. Interogrile reprezint modaliti de selecie i afiare a informaie din unu sau mai multe tabele, formulate cu ajutorul unor condiii logice. Tipuri de interogri n funcie de modul de definire i rezultatele aciunii, interogrile pot fi clasificate astfel: a) interogri de selecie (folosind condiii logice); b) interogri de sortare (indicnd cmpul/cmpurile i ordinea sortrii); c) interogri de excludere a unor nregistrri din BD (de exemplu, excluderea tuturor cititorilor care nu au mprumutat cri n ultimii 2 ani); d) interogri de modificare a unor nregistrri din BD (de exemplu, majorarea preurilor tuturor crilor cu 20%); e) interogri de obinerea a unor informaii rezultante (n cmpuri noi) n baza informaiei existente (de exemplu, obinerea vrstei cititorului prin scderea anului de natere din anul curent);

f) interogri de obinere a unor totaluri, medii etc.; g) interogri ncruciate. n toate cazurile, cu excepia ultimelor dou, rezultatul interogrii este un nou set de date, numit set dinamic (engl: Dynaset). Setul dinamic (rezultalul interogrii) conine doar cmpurile specificate ale nregistrrilor din tabelele specificate care satisfac condiiilor specificate. Denumirea '"Set dinamic" este legat de faptul c orice modificri ale datelor din tabelele specificate n interogare implic modificri respective ale rezultatului interogrii (la o nou executare a ei). i invers, orice modificri n setul dinamic implic modificri n tabelele respective (cu condiia respectrii integritii datelor). Seturile dinamice nu se memorizeaz; ele se formeaz din nou de fiecare dat cnd executm o interogare. Dac n tabelele BD intervin modificri, rezultatele executrii a dou interogri identice pot fi diferite, n cele ce urmeaz vom descrie modalitile de definire i executare a interogrilor nominalizate.

5.1 Interogri Exemplu:1 Pentru a defini o interogare de selecie (de exemplu, afisarea clientilor ce locuiesc in Bucuresti), acionm fila Queries din fereastra Database, apoi butonul New. n continuare indicm unul din cele 5 moduri de creare a interogrilor (n cazul nostru Design View) Din caseta care apare (fig. 11) selectm consecutiv (n orice ordine) tabelele necesare (n cazul nostru Clienti, Pachete si Rezervari) i pentru fiecare acionm butonul Add.

fig.11 Selectarea tabelelor pentru definirea interogrii Dup selectarea tabelelor acionm butonul Close. n continuare indicm, n partea de jos a ferestrei, cmpurile din fiecare tabel (n ordinea dorit) care urmeaz a fi afiate sau pentru care se vor specifica condiii de selecie i/sau de sortare. (fig. 12).

fig12.Specificarea condiiilor de selecie n rndul Criteria din partea de jos a ferestrei specificm condiia seleciei Like buc* pentru cmpul Localitate_client al tabelului Clienti. Interogarea astfel definit poate fi executat imediat n scopul obinerii rezultatului (fig. 13), sau salvat pentru a fi executat ulterior. n primul caz acionm butonul (Datasheet View) din bara cu instrumente n aldoile caz executm comanda Save din meniul File. La salvarea interogrii indicm numele ei, care nu trebuie s coincid cu numele unor tabele sau ale unor interogri definite anterior. In cazul nostru, la deschiderea interogarii denumite Clienti din Bucuresti obtinem un table care cuprinde totalitatea clientilor ce au localitatea in Bucuresti.

fig.13 Rezultatele interogrii

Exemplu 2. Lista rezervarilor facute in data 20.02.2010

Pentru afiarea rezervarilor efectuate in data 20.02.2010 acionm fila Queries din fereastra Database , apoi butonul New. n continuare indicm unul din cele 5 moduri de creare a interogrilor, n cazul nostru Design View Din caseta care apare (fig.15) selectm butonul Add.

fig.15 Dup selectarea tabelului acionm butonul Close. Apoi executm dublu clic pe denumirile cmpurilor i vor trece n rndul Field din caseta de jos (fig.16).

fig.16 Dup aceasta specificm condiiile seleciei. n rndul Criteria scrim condiia #20.02.2010# pentru cmpul Data_rezervare al tabelului Rezervari i ne va afia lista rezervarilor effectuate facute in data de 20.02.2010.

fig.17. Rezultatul interogrii Exempul 3: Cautare nume clienti Pentru cautarea clientilor dupa nume actionam fila Queries din fereastra Database , apoi butonul New. n continuare indicm unul din cele 5 moduri de creare a interogrilor, n cazul nostru Design View Din caseta care apare (fig.15) selectm tabelul Clienti si acionm butonul Add .Dup selectarea tabelului acionm butonul Close. Apoi executm dublu clic pe denumirile cmpurilor i vor trece n rndul Field din caseta de jos (fig.18).

fig.18 Dup aceasta specificm condiiile seleciei. n rndul Criteria scrim condiia [Cautare Nume Client] pentru cmpul Nume_client al tabelului Clienti i ne va afia urmatoarea fereastra :

fig.19. Introducerea parametrilor Dupa introducerea parametrilor cautati, programul va afisa rezultatele sub forma :

Exemplul 4 : Calcularea pretului complet al pachetelor turistice. Pentru calcularea pretului complet al pachetelor turistice actionam fila Queries din fereastra Database , apoi butonul New. n continuare indicm unul din cele 5 moduri de creare a interogrilor, n cazul nostru Design View

Din caseta care apare (fig.15) selectm tabelul Pachete si acionm butonul Add .Dup selectarea tabelului acionm butonul Close. Apoi executm dublu clic pe denumirile cmpurilor i vor trece n rndul Field din caseta de jos.

In adaugam un camp nou numit Pret_pachet caruia ii adaugam sintagma : [Numar_nopti_cazare]*[Pret_noapte] , astfel campul Pret_pachet va afisa valorile rezultate din inmultirea campurilor Numar_noapte_cazare si Pret_noapte. Tabelul afisat va fi de forma urmatoare :

Exemplul 5: Lista pachetelor turistice cu pretul pana in 1000 lei Pentru aceasta executm urmtorii pai: Definim o interogare n care includem interogarea Pret pachet complet din care selectam toate campurile necesare (fig.20)

fig.20 Dup aceasta specificm criteriul de selecie n rndul Criteria pentru cmpul Pret_pachet din interogarea Pret pachet complet i ne va afia lista pachetelor cu pretul pana in 1000lei.

fig.21 5.2 Interogri de sortare a nregistrrilor Dup ce am definit condiiile de selecie, putem stabili condiii de sortare pentru unul sau mai multe cmpuri. Exemplu 1: Ordonarea ascendant a numelor Clientilor Pentru afiarea numelor clientilor n ordine alfabetic executm un clic n rndul Sort al casetei (fig.22) n dreptul cmpului Nume i din lista derulant alegem opiunea Ascending.

fig.22

Pentru a afia rezultatul interogrii (fig.23), acionm butonul bara cu instrumente.

(Datasheet View) din

fig.23 Sortarea datelor poate fi fcut i fr a specifica condiii de selecie. n acest caz se vor afia toate nregistrrile, dar ordinea lor va corespunde condiiilor stabilite n rndul Sort pentru cmpurile respective.

FormularePentru crearea unui formular actionam fila Forms din fereastra Database , apoi butonul New, apoi alegem, in cazul nostru, optiunea Create form in Design View dupa care va aparea fereastra de creare a formularului. In interiorul ei, efectuam click dreapta, selectam Proprieties. In primul camp selectam optiunea Form iar in campul Record Source alegem tabelul sau interogarea pe baza careia dorim sa efectuam formularul.

Exemplu 1 : Crearea unui Formular Clienti ce include si un subformular Rezervari. Pentru efectuarea acestei operatiuni, urmam pasii de mai sus si alegem campurile ce dorim sa fie afisate din tabelul Clienti.

Adaugam butoane folosing functia Toggle Button din meniul Tool Box. In cazul nostru am introdus butoane pentru functiile Add Record, Delete record, Save record, Previous Record si Next Record. Pentru adaugarea unui subformular, folosim functia Subform/Subreport din meniul Tool Box. Trasam dimensiunea tabelului, si in interiorul sau efectuam click dreapta dupa care alegem Proprieties. In primul camp selectam optiunea Form iar in campul Record Source alegem tabelul care dorim sa-l introducem in subformular, in cazul nostru am introdus interogarea Rezervari - Rest de plata, Valoare Avans

Rezultatul final este acesta :