MINISTERUL EDUCAŢIEI REPUBLICII MOLDOVA MOLDOVA CENTRUL DE EXCELENŢĂ ÎN INFORMATICĂ INFORMATICĂ ŞI TEHNOLOGII INFORMAŢIONALE
Catedra In!r"at#$a A%$at' Complexitatea programului creşte până ce depă depăşe şeş şte abili bilittatea tea programatorului care trebuie să-l întreţină. Legea 7 a lui Hinds
Pr!#e$t
la disciplina disciplina „Asisten „Asistența bazelor bazelor de date” date”
Tema: Tema: „Imobil”
A EFECTUAT( st. grupei I-1435
A VERIFICAT( profesorul
M!$an) Rad)
V* B)&at
Chişinu !"1#
Conținutul
$roiect...........................................................................................................................1 arcina.............................................................................................! Introducere......................................................................................" #.$roiectarea ba%ei de date..............................................................& '.(xploatarea ba%ei de date.............................................................) Conclu%ie.......................................................................................##
Sarcina Infor%ații despre produse sunt stocate &ntr-o baz de date. 'e elaborat un proiect( a crei aplicație respecti) folosind %eniuri( rapoarte( for%ulare și subprogra%e( realizeaz( la solicitarea utilizatorului( ur%toarele funcționalitți* 1. +nregistreaz un nou , !. lude din baza de date un productor, 3. 'eter%in productorul( asociat cu nu%ele introdus de la tastatur, 4. Afișeaz la ecran atributele productorului* nu%ele ș i adresa( asociate telefonului cu nu%rul introdus de la tastatur, 5. 'eter%in
Introducere / baz de date este un instru%ent pentru colectarea și organizarea infor%aț iilor. 0azele de date pot stoca infor%ații despre persoane( produse( co%enzi sau orice altce)a. ulte baze de date &ncep ca o list &ntr-un progra% de procesare a tetului sau o foaie de calcul. $e %sur ce lista se %rește( datele &ncep s conțin redundanțe și inconsistenț e. le de)in greu de &nț eles sub for% de list ș i eist %odalitți li%itate de a cuta sau a etrage subseturi de date pentru re)izuire.
0azele de date pot a)ea %ri%i 2nu%r de &nregistrri şi co%pleiti etre% de )ariate( de la cte)a zeci de &nregistrri 2de ee%plu( baza de date pentru o agend de telefon a unei persoane
sau pot a6unge la %ilioane de &nregistrri 2de ee%plu( baza de date pentru crile dintr-o bibliotec( baza de date cu stocarea anga6ailor unei fir%e sau baza de date unde se pstreaz infor%aii despre situaia studenilor etc. area %a6oritate a siste%elor de baze de date eistente &n %o%entul de fa sunt relaionale şi eist un nu%r %are de astfel de siste%e co%erciale care pot fi achiziionate şi folosite pentru propriile dez)oltri. odelul relaional de baze de date a fost introdus &n anul 178" de ctre .9.Codd.
+* Pr!#e$tarea ,a-e# de date $ri%a faz &n proiectarea unei baze de date trebuie s fie analiza obiecti)ului ur%rit. Iar atunci c&nd proiect% o baz de date trebuie s ur%% o serie de pași.
+* Deter"#narea .$!%)&)# ,a-e# de date* Acest lucru % )a a6uta s stabilesc ce fel de date )oi stoca &n baza %ea de date pe care o )oi crea. 0aza de date creat de %ine )a a)ea scopul de a stoca infor%ațiile despre i%obil.
/* Deter"#narea date&!r de $are a" ne0!#e* /dat ce a% un scop clar stabilit( )oi &%prți infor%ațiile &n subiecte separate. Iar fiecare subiect )a fi un tabel &n baza de date și nu%ele tabelului )a fi sugesti) pentru infor%aț iile pe care le )a conț ine. $rin ur%are pentru baza %ea de date ce duce e)idența i%obilului( a% stocat infor%ații despre i%obiluri( clinenti și &n final infor%aț ie despre fir%ele productoare de i%obil. 1* Deter"#narea $2"%)r#&!r de $are a" ne0!#e 2n ta,e&* +n pri%ul r&nd hotrsc ce fel de infor%ații )or fi stocate &n cadrul tabelelor. 9iecare categorie de infor%ație dintr-un tabel poart denu%irea de c&%p și fiecare c&%p )a fi afișat pe o coloan &n tabel. 3* Deter"#narea re&aț##&!r d#ntre ta,e&e* $entru aceasta trebuie sa analiz% cu atenție tabelele ș i s stabili% legturile care eist &ntre datele conț inute &n diferite tabele. *:n producator produce %ai %ulte produse 2i%obiluri. +* Crearea ,a-e# de date 2n "ed#)& S4L se )a face prin inter%ediul co%enzii New Database( dup care )o% creea &n baza dat o interogare nou cu a6utorul la New Query. Adic tot acest lucru se face prin instrucțiunile de tranzacț ie ;<=. /* Crearea ta,e&e&!r se efectueaz cu a6utorul li%ba6ului de definire Create( unde )o% introduce denu%irea de tabel și c&%purile cu bazele de date respecti)e. +n continuare prin inter%ediul li%ba6ului de %anipulare Insert )o% introduce &n tabele respecti)e datele necesare.
1* M!d##$area .tr)$t)r## ,a-e# de date se efectueaza cu a6utorul li%ba6ului de defininire a datelor Alter table. $rin %odificarea structurii a 0' se &nțelege %odificarea sau ștergerea datelor din baz. 3* P!%)&area ,a-e# de date cu% a% spus %ai sus se face prin inter%ediul li%ba6ului de %anipulare Insert, introduc&ndu-se datele necesare confor% tabelelor și respecti) c&%purilor declarate. 5* I",)n't'ț#rea ,a-e# de date* Analiza bazei de date pentru a gsi e)entuale erori. Inițial creez tabele și adaug c&te)a &nregistrri de prob. 'up care )d daca pot obține din tabelele respecti)e rezultate necesare ș i &n continuare fac %odificri dac este ne)oie de ele. >rebuie s ne asigur% c datele sunt stocate &n %od corespunztor &n baza de date și c pute% obține toate infor%ațiile ș i situaț iile finale dorite. ste %ult %ai deficil s face% %odificri dup ce au fost introduse toate datele.
/*E6%&!atarea ,a-e# de date ploatarea bazelor de date reprezint %o%entul )alorificrii infor%aiilor din baza de date. ;iste%ul de gestiune al bazei de date dispune de un li%ba6 de %anipulare a datelor =' cu care se etrag infor%aiile din tabelele bazei de date şi cu care ulterior se pot efectua sortri( grupri( prelucrri arit%etico-logice( totalizri etc. =i%ba6ul de %anipulare a datelor din tabele bazei de date se bazeaz pe operatori ai algebrei relaionale si ai calculului relaional. 1. Aceşti operatori per%it dou categorii de prelucrrii &n funcie de nu%rul de tabele utilizate* o prelucrri %ono-tabel, o prelucrri %ulti-tabel. $relucrrile %ono-tabel includ* •
•
• •
selecia( prin care se etrage un subset orizontal de rnduri dintr-un tabel( adic acele rnduri care satisfac criteriul de selecie for%ulat printr-o epresie logic, proiecia( prin care se etrage un subset )ertical de coloane dintr-un tabel( anu%e acele coloane( c%puri( care sunt incluse &n lista de etracie, sortarea( ordonarea ascendent sau descendent a rndurilor gruparea( constituirea de subseturi de rnduri pentru care se calculeaz e)entual subtotaluri sau se aplic alte prelucrri.
@euniunea( intersecia( diferena şi produsul cartezian au se%nificaia bine cunoscut din operaiile cu %uli%i sau %atrici( tabelele fiind uşor asi%ilate %atricilor. Concatenarea sau operaia B/I?( const &n alipirea rndurilor din dou tabele &ntre care s-a definit o relaie unu-la-unu sau unu-la-%uli. 'ac &n cazul produsului cartezian un rnd din >A0=:= s zice% A( era alipit cu toate rndurile din >A0=:= 0( fr nici o regul( &n cazul operaiunii B/I? alipirea se face nu%ai &n cazul &ndeplinirii unei condiii de concatenare. Concatenarea cea %ai frec)ent este <:I B/I?( sau cu% %ai este nu%it ?A>:@A= B/I?. Alipirea a dou rnduri dac cele dou c%puri folosite drept condiie de concatenare( cheia pri%ar( respecti) cheia etern( au )alori egale. :n astfel de ee%plu a fost prezentat grafic &n cursul precedent.
;iste%ul de gestiune al bazei de date pune la dispoziia utilizatorului utilitare pentru construirea interogrilor pentru etragerea şi prelucrarea infor%aiilor din baza de date. 'ar se poate lucra direct &n li%ba6ul ;<=( dac se realizeaz procesri co%plee. Interogarea uerD( este o succesiune de instruciuni ;<= care au ca rezultat crearea unei tabel cu datele etrase prin co%enzi ='. >abelul care poate fi %e%orat per%anent alturi de celelalte tabele ale bazei de date sau poate r%ne o tabel te%porar( un EieF( asupra bazei de date. . Interogarea uerD este deci tot un tabel &n care se regsesc coloanele din tabelele surs nu%ai dac &ntre ele au fost definite relaii de legtur &n cadrul %odelului relaional A)e% posibilitatea de a aduga c%puri noi( calculate pe baza c%purilor din tabelele de date folosite ca surs a interogri( pute% schi%ba ordinea de aran6are a datelor fa de ordinea iniial a datelor din tabelele surs. 'e fapt fiind )orba de o succesiune de instruciuni ;<=( pentru a produce rezultatele dorite( aceste interogri trebuie eecutate „run”( ca orice script.. icrosoft Access( de ee%plu( include patru %odaliti de creare a unei interogri* 1. auto%at 2
Ba-a de date createdatabase correctedDB select*from Clienti select*from Produse select*from Producatori -- Create Clienti table ------------------------CREATETABLE Clienti ( id_client char(1!"#T"$LL% nume_client char(&!"#T"$LL% adresa_client char(&!"$LL% oras_client char(&!"$LL% stat_client char(&!"$LL% Cod_Post_client char(1!"$LL% tara_client char(&!"$LL% contact_client int"$LL% email_client char('&&!"$LL ! CREATETABLE Produse ( id_)rodus char(1!"#T"$LL% id_)rod char(1!"#T"$LL% "ume_)rodus char('&&!"#T"$LL% )ret_)rodus decimal(%'!"#T"$LL% desc_)rodus +archar(1!"$LL ! ------------------------ Create Producatori table ----------------------CREATETABLE Producatori (id_)rod char(1!"#T"$LL% nume_)rod char(&!"#T"$LL% adresa_)rod char(&!"$LL% oras_)rod char(&!"$LL% stat_)rod char(&!"$LL% Cod_Post_)rod char(1!"$LL% tara_)rod char(&!"$LL ! ----------------------- Define )rimar, e,s ---------------------ALTERTABLE Clienti ./T0"#C0ECADDC#"2TRA/"T P_Client PR/3AR4E4CL$2TERED (id_client! ALTERTABLE Produse ./T0"#C0ECADDC#"2TRA/"T P_Produse PR/3AR4E4CL$2TERED (id_)rodus! ALTERTABLE Producatori ./T0"#C0ECADDC#"2TRA/"T P_Producatori PR/3AR4E4CL$2TERED (id_)rod! ----------------------- Define forei5n e,s ---------------------ALTERTABLE Produse ADD C#"2TRA/"T 6_Produse_Producatori 6#RE/7"E4 (id_)rod!RE6ERE"CE2 Producatori(id_)rod! -------------------------------------------------------------- 2ams Teach 4ourself 28L in 1 3inutes -- htt)9::;;;'?'&=>&: -- E@am)le table )o)ulation scri)ts for 3icrosoft 28L 2er+er< ---------------------------------------------------------------------------------------- Po)ulate Clienti table ---------------------------
Concluzie ;copul propus pentru aceasta lucrare a fost crearea unei baze de date ce contine datele despre i%obilier. Initial sarcina %i s-a parut dificile dar dupa studierea tuturor co%enzilor (structurii si cu)intelor cheie a% realizat-o cu usurinta. A% a)ut totusi cite)a erori la eploatarea progra%ului fiind legate de faptul ca a% %ai eecutat aceleasi instructiuni %ai %ulte ori sau din cauza ca ci%purile erau de6a create in sl. $roble%a sa rezol)at prin stergerea bazelor de date precedente sau redenu%irea celor noi.