Upload
sorinn1987
View
252
Download
0
Embed Size (px)
Citation preview
8/15/2019 Baze de Date - Lucrari Practice
1/87
Simona DINU Cătălin - Constantin POMAZAN
BAZE DE DATE
Lucrări practice
Editura
NAUTICA
8/15/2019 Baze de Date - Lucrari Practice
2/87
8/15/2019 Baze de Date - Lucrari Practice
3/87
Simona DINU Cătălin - Constantin POMAZAN
BAZE DE DATE
Lucrări practice
Editura
NAUTICA
8/15/2019 Baze de Date - Lucrari Practice
4/87
Copyright © 2014, Editura NAUTICAToate drepturile asupra acestei ediţii sunt rezervate Editurii
Coperta: Cătălin - Constantin POMAZAN
Editura NAUTICA , 2014
Editură recunoscută de CNCSIS
Str !ircea cel "#tr$n nr 104
%00&&' Constanţa, (o)$nia
tel : *40+241+&& 4 40
-a.: *40+241+&1 2 &0
e-mail : in-o/i)c ro
www edituranautica or! ro
Descrierea CIP a Bibliotecii Naţionale a RomânieiDINU, SIMONA
Baze de date : l cr!ri "ractice / Simona Dinu,Cătălin-Constantin Pomazan. - Constanţa : Nautica, 2014
Bibliog .!SBN "#$-%0%-%$1-0&2-%
!. Pomazan, Cătălin-Constantin
004.4'0#(.$)
8/15/2019 Baze de Date - Lucrari Practice
5/87
CUPRINS
CUVÂNT ÎNAINTE...........................................................................................................................VIIINTRODUCERE..................................................................................................................................1
Tema generală: Întocmirea unui jurnal e călătorie
!A"ORATOR 1...................................................................................................................................#De$inirea %tructurii jurnalului e călătorieNormali&area %tructurii 'a&ei e ate
!A"ORATOR (.................................................................................................................................()
Com*letarea manuală a +nregi%trărilor +n ta'eleIm*ortul e ate in %ur%e e,terne
!A"ORATOR #.................................................................................................................................#)InterogăriCom*letarea manuală a +nregi%trărilor +n ta'ele -continuareCăutarea /i $iltrarea atelor +n ta'ele
!A"ORATOR 0.................................................................................................................................01ormulare *entru intro ucerea atelorCom*letarea atelor $olo%in $ormulare
!A"ORATOR 2................................................................................................................................21Utili&area lim'ajului Vi%ual "a%ic $or A**lication% *entru comen&i %im*leC3m*uri calculate
!A"ORATOR 4.................................................................................................................................4)Ra*oarte *entru *re&entarea atelorInterogări *arametri&ate
!A"ORATOR 5.................................................................................................................................51Utilitare au,iliare *entru *roiectarea 'a&ei e ateA$i/area rela6iilor +ntre ta'eleA$i/area rela6iilor e %u'or onare +ntre entită6ile Acce%%Documentarea %tructurii 'a&ei e ateAnali&a *er$orman6elor 'a&ei e ateReali&area unui meniu *entru utili&area 'a&ei e ate -78itc9'oar anager7ecuri&area 'a&ei e ate
"I"!IO;RA IE.................................................................................................................................
8/15/2019 Baze de Date - Lucrari Practice
6/87
8/15/2019 Baze de Date - Lucrari Practice
7/87
CUVÂNT ÎNAINTE
Ace%t +n rumar e la'orator %e a re%ea&ă %tu en6ilor in anul I Na=iga6ie ai acultă6ii eNa=iga6ie /i Tran%*ort aritim /i lu=ial in ca rul Uni=er%ită6ii aritime in Con%tan6a /ire*re&intă o intro ucere +n *roiectarea /i utili&area 'a&elor e ate rela6ionale. aterialulcu*rin e /a*te lucrări e la'orator ce inclu o *arte teoretică /i una a*licati=ă *entru a%imilareaconce*telor e 'a&ă /i %tilului e lucru %*eci$ic 'a&elor e ate rela6ionale.
Autorii
8/15/2019 Baze de Date - Lucrari Practice
8/87
8/15/2019 Baze de Date - Lucrari Practice
9/87
Baze de date: Lucrări practice
INTRODUCERE
>e *arcur%ul lucrărilor e la'orator *re&entate +n continuare %e urmăre/te reali&area unei 'a&e
e ate Acce%% ())5 care re&ol=ă o *ro'lemă e %tocare /i *relucrare e ate ce *ermiteutili&area +ntr?o manieră unitară a majorită6ii $acilită6ilor *u%e la i%*o&i6ie e ace%t %i%tem ege%tiune e 'a&e e ate rela6ionale. Re&ol=area cerin6elor temei *ro*u%e %e $ace *rogre%i=@ +nor inea logică e a'or are a unei a%t$el e *ro'leme. A $o%t *re$erată acea%tă mo alitate elucru *entru a *une la i%*o&i6ia %tu en6ilor un e,em*lu *ractic com*let e utili&are *entruAcce%% ())5.
Tema gene ală! Înto"mi ea #n#i $# nal %e "ălăto ie
7ă %e reali&e&e o 'a&ă e ate Acce%% enumită Jurnal personal *entru e=i en6a =oiajelor /i aim*re%iilor *er%onale e călătorie. >entru $iecare =oiaj +n *arte =or $i memorate cel *u6inurmătoarele in$orma6ii:
• Na=a
• unc6ia e6inută
• Data +nce*erii =oiajului
• Data terminării =oiajului
• De%crierea =oiajului• E%calele =oiajului
>entru $iecare na=ă +n *arte =or $i memorate cel *u6in următoarele in$orma6ii:
• Denumirea na=ei
• Data lan%ării la a*ă
• >ortul e origine
•
Ti*ul na=ei>entru $iecare e%cală +n *arte =or $i memorate cel *u6in următoarele in$orma6ii:
• Numele *ortului
• ara
• Data %o%irii
• Data *lecării
• Im*re%ii *er%onale
Du*ă e$inirea %tructurii 'a&ei e ate =or $i reali&ate %u*limentar următoarele %arcini:
1
8/15/2019 Baze de Date - Lucrari Practice
10/87
Baze de date: Lucrări practice
1. 7e =or intro uce manual@ irect +n ta'elele 'a&ei e ate@ cel *u6in ouă na=e /i trei =oiaje cuminim cinci e%cale $iecare. iecare =oiaj =a conBine ea%emenea -+n *lu% $aBă e cele cinci e%cale*ortul e *lecare i *ortul e %o%ire.
(. 7e =a reali&a $ormularul *entru e itarea =oiajelor i =or $i a ăugate cu ajutorul ace%tuia +ncăouă =oiaje cu minim cinci e%cale $iecare -*lu% *orturile e *lecare /i %o%ire .
#. 7e =a crea un ra*ort cu li%ta *orturilor =i&itate +n ca rul căruia =or $i a$i/ate cel *u6in Bara@*ortul@ numărul e =i&ite +n acel *ort. Or onarea %e =a $ace al$a'etic u*ă Bară i *ort.
0. 7e =a crea un ra*ort *entru *re&entarea in$orma6iilor *entru =oiajul curent /i ace%ta =a *utea$i e%c9i% in $ormularul e a$i/are a =oiajului.
2. 7e =a reali&a un meniu *rinci*al *entru 'a&a e ate +n care =or $i inclu%e cel *u6in comen&ile*entru e%c9i erea $ormularului *entru e itarea =oiajelor /i *entru ra*ortul e la *unctul #.
(
8/15/2019 Baze de Date - Lucrari Practice
11/87
Baze de date: Lucrări practice
&ABORATOR '
Un %i%tem e ge%tiune e 'a&e e ate rela6ionale -7;"DR are ca o'iecti=e *rinci*ale:
• a%igurarea in e*en enBei atelor -mo i$icarea %tructurii e memorare %au a %trategieie acce% la ate %ă nu a$ecte&e a*licaBia
• a%igurarea unei re un anBe minime -in$orma6iile %ă a*ară o %ingură ată +n 'a&a eate
• %*orirea gra ului e %ecuritate a atelor -inter&icerea acce%ului neautori&at la ate
• a%igurarea integrităBii atelor -*rotecBia $aBă e tergeri ne*ermi%e@ *rin interme iulunor *roce uri e =ali are
• a%igurarea *artajării -a%igurarea acce%ului mai multor utili&atori la acelea i ateicro%o$t Acce%% ())5 e%te un 7;"DR %im*lu ce +n e*line/te toate o'iecti=ele enun6ate
anterior. Cu toate ace%tea@ Acce%% e%te g3n it mai ale% *entru utili&area mono utili&ator. De/i areim*lementate mecani%mele *entru o*erarea multi utili&ator@ $unc6ionarea +n ace%te con i6ii e%tegreoaie eoarece *artajarea acce%ului la 'a&a e ate e*in e e %i%temul e o*erare *e caree%te in%talat.
Acce%% memorea&ă atele +n ta'ele enumite +n engle&ătables %aurelations. De la ace%t aloilea nume eri=ă enumirea e relațional in acronimul 7;D"R. Între ta'ele %e *ot crea
legături %au rela6ii enumite +n engle&ărelationships. De/i +n lim'a rom3nă termenii relation /irelationship %unt tra u/i %imilar@ %emantica lor e%te i$erită /i e aceea nu tre'uie con$un a6iunul cu celalalt. În ace%t material =om $olo%i enumirea etabelă *entru a e%emna termenulrelation /i relație %aulegătură *entru a e%emna termenul relationship.
De(ini ea st #"t# ii $# nal#l#i %e "ălăto ie
Reali&area %tructurii e ate *entru memorarea in$orma6iilor %olicitate re*re&intă *a%ul cel maiim*ortant +n re&ol=area *ro'lemei *ro*u%e. De corectitu inea %tructurării atelor e*in e
=olumul e muncă *entru +n e*linirea celorlalte cerin6e ale *ro'lemei *recum /i e$icien6a*relucrării atelor.
În cele ce urmea&ă =a $i *re&entat +ntregul emer% logic *entru reali&area unei %tructuri e ateo*time *entru *ro'lema ată. E%te e *re$erat ca e$inirea %tructurii %ă $ie $ăcută *e 93rtie +nainte e intro ucerea ace%teia +n calculator. Ace%t mo e lucru *ermite mo i$icarea cu maimultă u/urin6ă a %tructurilor e ate /i a%t$el *roce%ul e *roiectare =a $i mai ra*i .Tran%*unerea +n $ormat electronic =a $i reali&ată oar u*ă ce %tructura 'a&ei e ate a $o%te$inită /i =eri$icată com*let *e 93rtie.
>ornin e la enun6ul ini6ial al *ro'lemei@ %tructura e ate neo*timi&ată arată ca +n $ig.1. 7eremarcă $a*tul că acea%ta co*ia&ă i entic cerin6ele *ro'lemei. >entru a a%igura o'iecti=ele
#
8/15/2019 Baze de Date - Lucrari Practice
12/87
Baze de date: Lucrări practice
*rinci*ale ale 7;"DR@ %tructura e ate tre'uie %ă *arcurgă un *roce% e ra$inare /i o*timi&arece *oartă enumirea e no mali)a e .
No mali)a ea st #"t# ii *a)ei %e %ate
În conte,tul *roiectării 'a&elor e ate rela6ionale@ no mali)a ea e%te *roce%ul e organi&are aatelor *entru a minimi&a re un an6a /i a +nlătura incon%i%ten6a ace%tora. >rin normali&areta'elele cu incon%i%ten6e in 'a&a e ate %unt e%com*u%e *entru a o'6ine ni/te ta'ele maimici -%im*le /i mai 'ine %tructurate a%t$el +nc3t mo i$icarea unui c3m* +ntr?o ta'elă %ă %e*ro*age +n toată 'a&a e ate *rin interme iul rela6iilor %ta'ilite +ntre ta'ele. >e %curt@normali&area e%te un *roce% e o*timi&are a %tructurii unei 'a&e e ate.
Normali&area %tructurilor e ate %*ore/te integritatea atelor - atele %unt com*let e$inite@a ică re*re&intă o core%*on en6ă %tr3n%ă +ntre in$orma6iile %tocate +n 'a&a e ate /i mo elulin lumea reală . Într?un 7;"DR integritatea atelor e%te %ta'ilită *rintr?o %erie e con%tr3ngeri.E,i%tă trei ti*uri e con%tr3ngeri ce %e re$eră la integritatea atelor:
• Integ itatea entită+ilo -entity integrity %e re$eră la conce*tul e ",eie ima ă - primary key . O c9eie *rimară e%te o com'ina6ie e una %au mai multe coloane intr?o ta'elă ce*ermite i enti$icarea unică a unei linii -+nregi%trări in ta'elă. Regula re$eritoare laintegritatea entită6ilor a$irmă că (ie"a e ta*elă t e*#ie să ai*ă o ",eie ima ă .i "ăa"easta t e*#ie sa (ie #ni"ă .i nen#lă .
• Integ itatea e(e in+elo -referential integrity %e re$eră la conce*tul e ",eie e/te nă- foreign key . O c9eie e,ternă i enti$ică o coloană %au un gru* e coloane intr?o altăta'elă ce re*re&intă c9eia *rimară *entru acea ta'elă. Regula re$eritoare la integritateare$erin6elor a$irmă că o i"e ",eie e/te nă oate (i 0nt -#na %int e # mătoa ele %o#ăstă i!
• 1aloa ea ",eii e/te ne (a"e e(e in+ă la o ",eie ima ă %int -o ta*elă a *a)ei %e
0
Fig. 1: Tabelele inițiale neoptimizate
8/15/2019 Baze de Date - Lucrari Practice
13/87
Baze de date: Lucrări practice
%ate -ace%ta e%te ca&ul cel mai $rec=ent
• 1aloa ea ",eii e/te ne este n#lă
• Integ itatea %omeni#l#i -domain integrity a$irmă că orice coloană intr?o 'a&ă e
ate rela6ională tre'uie eclarată +ntr?un omeniu e$init. Un omeniu e%te un %ete =alori e acela/i ti*. Cu alte cu=inte@toate 1alo ile sto"ate 0n a"eea.i "oloană a#nei ta*ele t e*#ie să (ie %e a"ela.i ti .
Dacă 'a&a e ate im*lementea&ă ace%te con%tr3ngeri@ re%*on%a'ilitatea integrită6ii atelor-con%i%ten6a mo elului re=ine 'a&ei e ate. Dacă 'a&a e ate nu %u%6ine ace%te con%tr3ngeri@re%*on%a'ilitatea con%i%ten6ei atelor re=ine a*lica6iei ce utili&ea&ă atele.
Normali&area 'a&ei e ate *re%u*une organi&area atelor *entru a re%*ecta cele treicon%tr3ngeri re$eritoare la integritatea atelor. E,i%tă o +ntreagă teorie re$eritoare la eta*ele
normali&ării unei 'a&e e ate. Vom *re&enta +n continuare o meto ă *ractică e ra$inare a%tructurii 'a&ei e ate@ $ără a $ace e,*licit re$erire la eta*ele in teoria normali&ării.
>ornin e la %tructura in $ig. 1 *entru a a*lica con%tr3ngerea re$eritoare la integritateaentită6ilor =a tre'ui %ă a augăm o c9eie *rimară *entru $iecare intre ta'ele -$ig. ( .
De aici +nainte@ *entru $iecare ta'elă ce =a $i a ăugată %tructurii ini6iale =om e$ini im*licit oc9eie *rimară. >entru acea%ta Acce%% *une la i%*o&i6ie un ti* e ate enumit Autonumber . Unc3m* e ace%t ti* e%te un c3m* numeric nee ita'il e către utili&ator@ ce *ermite incrementareaautomată a =alorii %ale la a ăugarea unei noi +nregi%trări. O *articularitate a ace%tui ti* e c3m*e%te aceea că acă %unt /ter%e +nregi%trări e,i%tente in ta'ela re%*ecti=ă /i a*oi %unt a ăugate +nregi%trări noi@ =alorile *entru c3m*urile e ti* Autonumber =or $i ate +n continuare@ $ără arelua =alorile /ter%e.
În continuare@ o'6inerea %tructurii normali&ate *re%u*une anali&area $iecarei ta'ele *entru aelimina e=entualele re un an6e +n %tocarea atelor.
2
Fig. 2: Tabelele stru turii u hei primare adăugate
8/15/2019 Baze de Date - Lucrari Practice
14/87
Baze de date: Lucrări practice
În ta'ela !a"e *entru $iecare =a% nou =a $i a ăugată o +nregi%trare cu atele %*eci$ice ace%tuia.7e o'%er=ă că e,i%tă e$init un c3m* #ort$rigine /i un c3m* Tip!a"a ale căror =alori %e *otre*eta *entru na=e i$erite. >entru a elimina re un an6a atelor e%te nece%ar ca in$orma6iile %ă$ie %*eci$icate o %ingură ată@ +n ta'ele e$inite %u*limentar. >entru acea%ta =om a ăuga ouă
noi ta'ele: Tipuri!a"e /i #orturi . De$inirea ta'elei #orturi e%te 'ene$ică /i in *unctul e =e ereal e%calelor. Noua %tructură =a arăta ca +n $ig.#. Toate c3m*urile c9ei *rimare au $o%t notate cu*re$i,ul %& -%cri% cu litere mari *entru a e=i en6ia ace%t $a*t.
7e o'%er=ă că *entru a reali&a legăturile +ntre +nregi%trările in ta'ele +n!a"e au $o%t trecute +nlocul c3m*urilor te,t #ort$rigine /i Tip!a"a ni/te c3m*uri e ti* c9eie e,ternă *re$i,ate cu id -%cri% cu litere mici . Notarea *re$i,ului cu litere mici a $o%t $ăcută *entru a i$eren6ia c9eilee,terne e c9eile *rimare. Denumirea 6ărilor a $o%t ea%emenea trecută in ta'ela 's ale +nta'ela #orturi . În a$ara %*eci$icării c9eilor *rimare /i %ecun are au $o%t tra%ate /i legăturile +ntre
ta'elele anali&ate. Între +nregi%trările in ouă ta'ele i%tincte *ot e,i%ta mai multe ti*uri e legături -$ig.0 :
• legatura #na-la-#na -one(to(one ? *re%u*une ca *entru o +nregi%trare in ta'ela A %ăe,i%te cel mult o +nregi%trare a%ociată +n ta'ela "
• legătura #na-la-mai m#lte -one(to(many ? *re%u*une ca *entru o +nregi%trare in ta'elaA *ot %ă e,i%te mai multe +nregi%trări a%ociate +n ta'ela "
• legătura mai m#lte-la-mai m#lte -many(to(many ? ace%t ti* e rela6ie +ntre ta'elele A /i" %e $ace *rin a ăugarea unei ta'ele %u*limentare C a%ociată *rin rela6ii una?la?maimulte cu ta'elele A /i "
4
Fig. ): *tru tura u tabela !a"e normalizată
8/15/2019 Baze de Date - Lucrari Practice
15/87
Baze de date: Lucrări practice
În *ractică cel mai $rec=ent %unt utili&ate legăturile una?la?mai multe. În $ig.# +ntre ta'eleleTipuri!a"a /i !a"e e,i%tă o rela6ie una?la?mai multe. Alt$el %*u%@ *entru o +nregi%trare +nTipuri!a"a *ot e,i%ta mai multe +nregi%trări a%ociate +n ta'ela!a"e @ a ică *ot e,i%ta mai multena=e e acela/i ti*. 7e o'%er=ă că rela6ia e%te $ăcută +ntre c9eia *rimară in ta'ela Tipuri!a"a /i
c9eia e,ternă in ta'ela !a"e .
În aceea/i manieră %unt e$inite /i rela6iile +ntre ta'elele #orturi /i !a"e @#orturi /i 's ale @!a"e/i +oia,e.
!a anali&a ta'elei +oia,e %e con%tată că *entru normali&area ace%teia e%te nece%ară a ăugarea
ta'elei Fun tii . 7tructura e ate =a e=eni cea in $ig. 2.
5
Fig. -: *tru tura u tabela +oia,e normalizată
Fig. : /egături 0ntre tabele: a: una(la(una b: una(la(mai multe : mai multe(la(mai multe
8/15/2019 Baze de Date - Lucrari Practice
16/87
Baze de date: Lucrări practice
!a anali&a ta'elei 's ale %e con%tată că %tructura e,i%tentă nu *ermite reali&area corectă alegăturii cu ta'ela +oia,e. >entru a corecta acea%ta@ intabela Voiaje e%te eliminat c3m*ul's ale /i +n ta'ela 's ale e%te a ăugată c9eia e,ternă id+oia, ce =a $ace legătura cu c9eia*rimară in ta'ela +oia,e. 7tructura e ate e=ine a%t$el cea in $ig. 4.
>entru =ali area %tructurii $inale@ %e mai $ace o ată anali&a ace%teia ta'elă cu ta'elă. Con%tatăma%t$el că +n %itua6ia ta'elei#orturi in$orma6iile %tocate +n c3m*ulTara %e *ot re*eta *entru maimulte +nregi%trări. Acea%ta ne con uce la i eea că *oate ar $i util %ă mai creem o ta'elă *entrumemorarea 6ărilor. Deoarece in$orma6iile re$eritoare la 6ări nu %unt critice /i a $a*tului că =ommemora oar enumirea %curtă a ace%tora -$ormată in ma,im trei litere @ a ăugarea uneita'ele %u*limentare nu e%te nece%ară.
În anali&a %tructurilor e ate *entru o a*lica6ie e%te nece%ar ca normali&area %ă nu $ie utili&ată
e,agerat eoarece acea%ta ar com*lica 'a&a e ate /i im*licit ar intro uce +nt3r&ieri +n*relucrarea in$orma6iilor.
A=3n %ta'ilită %tructura 'a&ei e ate@ %e *oate trece la e$inirea ace%teia +n Acce%%. Acea%tăo*era6iune %e *oate $ace +n ouă mo uri: e$inirea ta'elelor /i a*oi a rela6iilor +ntre ace%tea %aue$inirea %imultană a ta'elelor /i rela6iilor. >rima =ariantă nu nece%ită o or ine anume ea ăugare a ta'elelor@ ar u*ă e$inirea ace%tora e%te nece%ară re=enirea /i mo i$icarea%tructurii unora intre ta'ele. A oua =ariantă -crearea %imultană a ta'elelor /i rela6iilor e%temai ra*i ă /i e aceea =a $i cea *re$erată@ ar acea%ta nece%ită %ta'ilirea unei or ini e a ăugarea ta'elelor. >entru a %ta'ili acea%tă or ine %e =a anali&a %tructura /i =or $i create mai +nt3ita'elele ce nu au c9ei e,terne /i im*licit nu e*in e alte ta'ele. Ace%tea %unt ta'elele #orturi @
<
Fig. : *tru tura de date normalizată a apli ației
8/15/2019 Baze de Date - Lucrari Practice
17/87
Baze de date: Lucrări practice
Tipuri!a"a /i Fun tii . A*oi =a $i e$inită ta'ela !a"e ce con6ine c9ei e,terne ce $ac legătura oarcătre ta'elele create anterior. 7imilar =or $i a ăugate ta'elele +oia,e /i ulterior 's ale . Ta'ela+oia,e nu *oate $i a ăugată +naintea ta'elei !a"e eoarece +n ta'ela +oia,e e,i%tă o c9eiee,ternă ce $ace re$erire la c9eia *rimară in ta'ela !a"e . 7imilar@ ta'ela's ale nu *oate $i
a ăugată +naintea ta'elei +oia,e.!a e$inirea c3m*urilor e%te nece%ară %*eci$icarea ti*ului /i a imen%iunii *entru ace%tea -acoloun e e%te ca&ul .
!a e%c9i erea Acce%% ())5@ *entru a crea 'a&a e ate Jurnal de alatorie =om %electa 'utonul3lank &atabase /i +n *artea rea*tă =om %*eci$ica numele /i irectorul +n care =a $i %al=ată 'a&ae ate@ u*ă care =om acti=a 'utonul 4reate -$ig.5 .
Acce%% ())5 automat e%c9i e o ta'elă +n care utili&atorul *oate intro uce irect atele *e careore/te %ă le %toc9e&e@ urm3n ca Acce%% %ă %ta'ilea%că automat ti*ul c3m*urilor +n $unc6ie e
in$orma6iile intro u%e. Ace%t mo e lucru nu e%te recoman at ec3t *entru utili&atorinee,*erimenta6i /i e aceea =om +nc9i e acea%tă ta'elă -$ig. < @ urm3n a a ăuga ta'elele%tructurii +n mo ul&esign +ie5.
Fig. 6: *tabilirea numelui bazei de date
Fig. 7: 8n hiderea tabelei Table1
8/15/2019 Baze de Date - Lucrari Practice
18/87
Baze de date: Lucrări practice
A/a cum a $o%t *reci&at anterior@ ta'elele =or $i create +n or inea:#orturi @Tipuri!a"a Fun tii!a"e +oia,e 's ale. >entru e itarea %tructurii unei ta'ele %e a*elea&ă in meniul 4reatecoman a Table &esign.
>entru ta'ela >orturi %e intro uc c3m*urile con$orm %tructurii in $ig.4. Du*ă intro ucereaenumirii c3m*urilor +n coloana Field !ame %e trece la %ta'ilirea ti*ului atelor memorate +nace%te c3m*uri. >entru acea%ta@%ort care e%te c9eia *rimară a ta'elei =a a=ea la &ata Type%*eci$icat Auto!umber @ iar&enumire /i Tara =or $i e ti* Te9t . În *lu%@%ort =a a=ea %*eci$icatatri'utul e c9eie *rimară *rin %electarea ace%tui c3m* /i acti=area in meniul &esign acomen&ii#rimary ey .
În %itua6ia +n care %e ore/te reali&area unei c9ei *rimare $ormate in mai multe c3m*uri@ mai +nt3i %e %electea&ă ace%te c3m*uri -%e 6ine a*ă%ată ta%ta4trl /i %e $ace clic cu mou%e?ul *ec3m*urile ce =or com*une c9eia *rimară /i u*ă ce ace%tea au $o%t %electate@ %e acti=ea&ăcoman a #rimary ey in meniul &esign.
În re*tul c3m*urilor ce $ormea&ă c9eia *rimară =a a*are %im'olul unei c9ei -c3m*ul%ort +n$ig. .
1)
Fig. ;: 'ditarea stru turii tabelei #orturi
8/15/2019 Baze de Date - Lucrari Practice
19/87
Baze de date: Lucrări practice
Acce%% ())5 *ermite %tocarea +n c3m*urile unei ta'ele a următoarelor ti*uri e ate:
• Te/t ? *entru c3m*uri al$anumerice cu imen%iune ma,imă e (22 caractere ce *ermit$iltrarea /i căutarea
• Memo ? *entru c3m*uri al$anumerice cu imen%iune ma,imă e 4# caractere%tocarea te,tului %e $ace +n e,teriorul ta'elei@ +ntr?o manieră in=i&i'ilă utili&atorului@ iar +nta'elă e%te memorat oar un *ointer la a re%a un e e%te memorată in$orma6ia utilă
• N#m*e ? *entru c3m*uri numerice
• Date2Time ? *entru memorarea atelor /iF%au tim*ului
• C# en"3 ? *entru memorarea =alorilor monetare -numere cu ma,im *atru &ecimale
• A#toN#m*e ? *entru memorarea unei =alori numerice +ntregi generate automat /i care
nu %e re*etă +n ca rul aceleia/i ta'ele• 4es2No ? *entru memorarea unor =alori 'inare -a e=ărat F $al%@ a F nu@ *ornit F o*rit@
etc
• O&E O*$e"t ? *entru memorarea unor o'iecte 'inare cum ar $i %unete@ imagini@ocumente Gor %au E,cel@ etc e ma,im 1 ;" ce *ot $i %tocate intern %au e,tern 'a&eie ate Acce%%
• 53 e lin6 ? *entru memorarea unor a re%e 8e' %au a căii %*re un $i/ier local
• Atta",ment ? *ermite a%ocierea unuia %au mai multor $i/iere la o +nregi%trare +n moa%emănător ata/amentelor intr?un email /i o$eră o mai mare $le,i'ilitate ec3tc3m*urile e ti* O!E O'ject
În *lu%@ la&ata Type mai a*are /i o*6iunea &oo6# 7i)a %888 ce *ermite reali&area $acilă alegăturilor intre ta'ele /i care =a $i etaliată ulterior.
!a %electarea i=er%elor c3m*uri@ +n $unc6ie e ti*ul atelor memorate +n ace%tea@ +n *artea e jo% a ecranului =or a*ărea *ro*rietă6i %*eci$ice *entru *er%onali&area ace%tora. >entru c3m*urilee ti* Te9t cum ar $i&enumire /i Tara e%te nece%ară %*eci$icarea lungimii ma,ime a a ace%tora +n*ro*rietatea Field *ize: #) *entru &enumire /i # *entru Tara. Un alt a%*ect im*ortant *entruace%te c3m*uri e%te acela că ele tre'uie com*letate *entru $iecare +nregi%trare +n *arte. >entrua $or6a utili&atorul %ă com*lete&e ace%te ate ne =om $olo%i e *ro*rietă6ileentru a $or6a utili&atorul %ă intro ucă /i caractere ti*ări'ile %e trece*ro*rietatea Allo5 >ero /ength *e !o -nu . Te,tele ce con6in e,clu%i= caractere neti*ări'ile -cumar $i %*a6iu %unt con%i erate ca a=3n lungime &ero.
În conclu&ie@ *entru ta'ela >orturi =om con$igura c3m*urile con$orm ta'elului1. Du*ă %etarea11
8/15/2019 Baze de Date - Lucrari Practice
20/87
Baze de date: Lucrări practice
*ro*rietă6ilor *entru $iecare c3m* +n *arte@ %e +nc9i e e%igner?ul *entru a %al=a %tructurata'elei. >entru că ta'ela nu are +ncă un nume e$init@ =a a*are o $erea%tră +n care *utemmo i$ica enumirea im*licită a ta'elei.
Den#mi e Ti Dimensi#ne"9m
C,eieima ă
O*ligato i#:Re;#i e%<
ngime n#lă:Allo= Ze o &engt,<
ID>ort AutoNum'er H
Denumire Te,t #) Da Nu
Tara Te,t # Da Nu
Tabel 1: *tru tura tabelei #orturi
În mo e%emănător =or $i a ăugate %tructurile *entru ta'elele Tipuri!a"a -ta'elul ( /i Fun tii -ta'elul # .
Den#mi e Ti Dimensi#ne"9m
C,eieima ă
O*ligato i#:Re;#i e%<
ngime n#lă:Allo= Ze o &engt,<
IDTi*Na=a AutoNum'er H
Denumire Te,t () Da Nu
Tabel 2: *tru tura tabelei Tipuri!a"a
Den#mi e Ti Dimensi#ne"9m
C,eieima ă
O*ligato i#:Re;#i e%<
ngime n#lă:Allo= Ze o &engt,<
ID unctie AutoNum'er H
Denumire Te,t () Da Nu
Tabel ): *tru tura tabelei Fun tii
În continuare =om trece la a ăugarea ta'elei !a"e ce are %tructura con$orm ta'elului 0. Ta'ela!a"e e*in e e e,i%ten6a ta'elelor Tipuri!a"a /i Fun tii eoarece con6ine c9ei e,terne ce $acre$erire la ace%tea. A ăugarea unei c9ei e,terne +ntr?o ta'elă %e *oate $ace %elect3n /ookup@izard la ti*ul c3m*ului a/a cum =a $i e%cri% mai jo%.
C3m*urile e ti* &ate Time memorea&ă ate calen ari%tice ce inclu /i ora@ minutul@ %ecun a.>entru jurnalul e călătorie e%te rele=antă oar ata. De aceea@ c3m*ul &ata/ansarii =a $icon$igurat %ă a$i/e&e oar ata *rin %etarea *ro*rietă6iiFormat ca *hort &ate. A$i/area atei =a
$i $ăcută con$orm %etărilor regionale in %i%temul e o*erare. ai tre'uie men6ionat $a*tul căintro ucerea /i a$i/area atelor calen ari%tice %e $ace con$orm %etărilor regionale ar
1(
8/15/2019 Baze de Date - Lucrari Practice
21/87
Baze de date: Lucrări practice
memorarea ace%tora +n ca rul ta'elei %e $ece in e*en ent e ace%te %etări.
Den#mi e Ti Dimensi#ne
"9m
C,eie
ima ă
O*ligato i#
:Re;#i e%<
ngime n#lă
:Allo= Ze o &engt,<IDNa=a AutoNum'er H
Denumire Te,t #) Da Nu
Data!an%arii DateFTime Nu
i >ortOrigine !oo u* ? >orturi Nu
i Ti*Na=a !oo u* ?Ti*uriNa=a
Da
Tabel : *tru tura tabelei !a"e
>entru ti*ul c3m*ului id#ort$rigine =om %electa/ookup @izard /i acea%ta =a e%c9i e $erea%trae a%i%ten6ă *entru con$igurarea rela6iei cu ta'ela#orturi -$ig.1) .
>entru a reali&a legătura cu ta'ela #orturi =a răm3ne %electată *rima o*6iune. A*ă%3n *e'utonul !e9t %e =a trece la următoarea *agină a a%i%tentului *entru c9ei e,terne -$ig.11 . Aici%electăm ta'ela cu care %e =a $ace rela6ia -ta'ela#orturi /i a*oi a*ă%ăm 'utonul !e9t .
1#
Fig. 1B: #rima pagină din /ookup @izard
8/15/2019 Baze de Date - Lucrari Practice
22/87
Baze de date: Lucrări practice
A treia *agină a a%i%tentului *entru c9ei e,terne *ermite %*eci$icarea c3m*urilor in ta'ela#orturi ce =or $i utili&ate +n ca rul c3m*uluilookup. 7electarea lor %e $ace *rin utili&area'utonului cu %im'olul J ce =a tran%$era numele c3m*ului %electat in li%ta e c3m*urii%*oni'ile in %t3nga +n li%ta e c3m*uri %electate in rea*ta -$ig.1( . >entru rela6ia cu ta'ela#orturi tre'uie %electat c3m*ul c9eie *rimară %ort ce =a $i utili&at *entru crearea rela6iei
intre ta'ele /i c3m*ul &enumire ce =a $i a$i/at +n ca rul ta'elei !a"e +n c3m*ulid#ort$rigine.
10
Fig. 11: A doua pagină din /ookup @izard
Fig. 12: A treia pagină din /ookup @izard
8/15/2019 Baze de Date - Lucrari Practice
23/87
Baze de date: Lucrări practice
Rela6ia +ntre ta'elele #orturi /i !a"e %e =a $ace +ntre c3m*urile%ort /i id#ort$rigine. De aceea@la +nc9eierea a%i%tentului c3m*ulid#ort$rigine in ta'ela !a"e =a a=ea ti*ul!umber *entru a $ii entic cu ti*ul c9eii *rimare %ort in ta'ela #orturi . Cu toate ace%tea@ la e itarea atelor +nta'ela !a"e +n c3m*ulid#ort$rigine nu =a $i a$i/ată =aloarea numerică a c9eii *rimare%ort
in ta'ela Tipuri!a"a ci te,tul memorat +n c3m*ul &enumire in ta'ela Tipuri!a"a .>e *agina a *atra a a%i%tentului *entru c9ei e,terne %e =a %*eci$ica or inea e %ortare +n or inecre%cătoare -al$a'etică a c3m*ului &enumire -$ig.1# .
>e a cincea *agină a a%i%tentului *entru c9ei e,terne %e *oate %*eci$ca acă =a $i a$i/at %au nu /ic3m*ul c9eie e,ternă. O*6iunea im*licită e%te %etată *entru a a%cun e ace%t c3m* -$ig.10 . De/irela6ia +ntre ta'ele %e $ace utili&3n c3m*uri numerice@ *entru o*eratorul uman e%te i$icilămemorarea =alorilor ace%tora /i e aceea %e *re$eră a$i/area in$orma6iilor te,t in c3m*ul&enumire al ta'elei #orturi .
Ca urmare a $inali&ării a%i%tentului *entru reali&area rela6iei +ntre ta'elele#orturi /i !a"e @ lae itarea atelor +n ta'ela !a"e @ +n locul c3m*ului numericid#ort$rigine =a $i a$i/at un4ombo3o9 -o li%tă erulantă ce =a con6ine enumirile *orturilor in ta'ela #orturi .
>e *agina $inală a a%i%tentului *entru c9ei e,terne -$ig.12 %e *oate mo i$ica enumireac3m*ului c9eie e,ternă in ta*ela Na=e. Totu/i@ *entru a *utea =e ea u/or $a*tul că ace%t c3m*e%te o c9eie e,ternă e%te e *re$erat ca *re$i,ul id %ă răm3nă ata/at ace%tui c3m*.
12
Fig. 1): A patra pagina din /ookup @izard
8/15/2019 Baze de Date - Lucrari Practice
24/87
Baze de date: Lucrări practice
>entru $inali&area reali&ării rela6iei +ntre ta'elele!a"e /i #orturi @ ta'ela!a"e tre'uie %al=atăc9iar acă nu a $o%t +nc9eiată e$inirea %tructurii %ale.
În acela/i mo %e utili&ea&ă ti*ul/ookup @izard *entru c3m*ul idTip!a"a *entru a crea rela6iacu ta'ela Tipuri!a"a .
7e remarcă +n ta'elul 0 că *entru !a"e %unt o'ligatorii oar c3m*urile &enumire /i idTip!a"a .
14
Fig. 1 : A in ea pagină din /ookup @izard
Fig. 1-: #agina finală din /ookup @izard
8/15/2019 Baze de Date - Lucrari Practice
25/87
Baze de date: Lucrări practice
Ta'ela Voiaje =a $i următoarea ta'elă a ăugată +n 'a&a e ate. 7tructura %a e%te %*eci$icată +nta'elul 2.
Den#mi e Ti Dimensi#ne"9m
C,eieima ă
O*ligato i#:Re;#i e%<
ngime n#lă:Allo= Ze o &engt,<
IDVoiaj AutoNum'er H
i Na=a !oo u* ? Na=e Da
i unctie !oo u* ? unctii Da
DataInce*erii DateFTime Da
DataTerminarii DateFTime Nu
De%criere emo Nu
Tabel -: *tru tura tabelei +oia,e
E%te im*ortant e remarcat $a*tul că e%te o'ligatorie com*letarea in$orma6iilor *entru c3m*ul&ata%n eperii ar nu /i *entru &ataTerminarii . În *rimul ca& %e cunoa/te +ntot eauna ata +nce*erii =oiajului /i ace%t c3m* =a $i $olo%it *entru legătura cu ta'ela's ale . C3m*ul&ataTerminarii nu e%te o'ligatoriu e com*letat e la +nce*ut@ eoarece ata terminării=oiajului e%te incertă +n momentul a ăugării +nregi%trării. Ace%t c3m* =a *utea $i com*letatnumai u*ă cunoa/terea atei ajungerii +n *ortul e%tina6ie.
>entru ta'ela 's ale %tructura e%te %*eci$icată +n ta'elul4. Acea%tă ta'elă e%te a ăugată ultimaeoarece e*in e e celelalte ta'ele -are c9ei e,terne ce $ac re$erire la ace%tea .
Den#mi e Ti Dimensi#ne"9m
C,eieima ă
O*ligato i#:Re;#i e%<
ngime n#lă:Allo= Ze o &engt,<
IDE%cala AutoNum'er H
i Voiaj !oo u* ? Voiaje Da
i >ort !oo u* ? >orturi DaData7o%irii DateFTime Nu
Data>lecarii DateFTime Nu
Im*re%ii emo Nu
Tabel : *tru tura tabelei 's ale
În legătură cu a ăugarea ta'elei 's ale tre'uie *reci&at că *entru id+oia, +n a%i%tentul *entru
c9ei e,terne %e =or %electa c3m*urile%&+oia, /i &ata%n eperii in ta'ela +oia,e /i *e *agina a*atra a a%i%tentului %e =a %electa *entru %ortare c3m*ul&ata%n eperii or onat e%cre%cător. În
15
8/15/2019 Baze de Date - Lucrari Practice
26/87
Baze de date: Lucrări practice
ace%t $el la %electarea =oiajului li%ta atelor e +nce*ere =a $i or onată cu =oiajul cel mai recentla +nce*ut.
>entru id#ort +n a%i%tentul *entru c9ei e,terne %e =or %electa c3m*urile%ort @Tara /i &enumirein ta'ela #orturi /i *e *agina a *atra in a%i%tent %e =or %electa *entru %ortare c3m*urileTara/i &enumire or onate cre%cător.
7e remarcă ea%emenea $a*tul că nu e%te o'ligatorie com*letarea c3m*urilor &ata*osire /i&ata#la are @ eoarece *entru *ortul e *lecare nu =om com*leta ata %o%irii@ iar *entru *ortule%tina6ie nu =om com*leta ata *lecării. >entru toate celelalte e%cale =or tre'ui *reci&ateam'ele ate.
>entru a in%*ecta =i&ual %tructura 'a&ei e ate =om a*ela in meniul&atabase Tools coman aentru $inali&area %tructurii 'a&ei e ate e%te nece%ar %ă $ie +ntărităintegritatea rela6iilor +ntre ta'ele.
>entru legătura +ntre ta'elele !a"e /i Tipuri!a"a =om $ace clic rea*ta *e linia ce re*re&intăacea%tă legătură /i in meniul conte,tual ce =a a*are =om %electa 'dit
8/15/2019 Baze de Date - Lucrari Practice
27/87
Baze de date: Lucrări practice
7imilar =om *roce a *entru toate celelalte legături intre ta'ele. 7tructura $inală a 'a&ei eate =a arăta ca +n $ig.1
8/15/2019 Baze de Date - Lucrari Practice
28/87
Baze de date: Lucrări practice
&ABORATOR >
olo%in %tructura e ate creată anterior %e *oate trece la +ncărcarea in$orma6iilor +n 'a&a e
ate. Acea%tă o*era6iune tre'uie reali&ată +n aceea/i or ine cu cea e a ăugare a ta'elelor. Nu*utem intro uce o e%cală acă nu e%te e$init =oiajul /i *orturile@ nu *utem a ăuga un =oiajacă li*%e%c na=a /i $unc6ia@ nu *utem %*eci$ica na=a acă li*%e/te ti*ul na=ei.
Com leta ea man#ală a 0n egist ă ilo 0n ta*ele
Din moti=ul enun6at anterior@ =om +nce*e cu com*letarea ta'eleiTipuri!a"a -$ig.1 .
Următoarea =a $i ta'ela unctii -$ig. () .
()
Fig. 1;: Tabela Tipuri!a"a u date ompletate
Fig. 2B: Tabela Fun tii u date ompletate
8/15/2019 Baze de Date - Lucrari Practice
29/87
Baze de date: Lucrări practice
Com*letarea manuală *oate $i utili&ată acă %unt *u6ine +nregi%trări e %tocat %au acă nu a=em*o%i'ilitatea e a im*orta atele e,i%tente eja +n $ormat electronic.
Im o t#l %e %ate %in s# se e/te ne
>entru com*letarea ta'elei #orturi =om im*orta o li%tă e *orturi *reluată e *e internet.
În cele ce urmea&ă =a $i utili&at ire$o, ca 'ro8%er 8e'. >e *agina e %tart a ace%tuia =om trece*entru e,*re%ia căutată harbour list . >rintre *rimele re$erin6e =om gă%i/ist of 5orldCs busiest ports by argo tonnage ( @ikipedia KGi i()10L-$ig.(1 . Vom %electa acea%tă re$erin6ă /i inta'elele cu *orturi cla%i$icate *e ani +l =om alege *e cel in ())2 e e,em*lu. >reluarea atelornu %e *oate $ace irect /i atele tre'uie tran%$ormate +ntr?un $ormat ce *oate $i im*ortat.>aginile 8e' con6in /i in$orma6iile *entru $ormatare@ iar +n ca&ul no%tru +n ta'el a*ar /i imagini*e care tre'uie %ă le eliminăm. De aceea =om utili&a un e itor e te,te -Note*a *entruacea%tă o*era6iune. 7e %electea&ă toate *orturile in ta'elul in *agina 8e'@ inclu%i= enumirilecoloanelor /i cu Ctrl?C %e co*ia&ă +n memorie ace%te ate. De%c9i em Note*a /i cu Ctrl?Vtran%$erăm atele in memorie +n ocumentul te,t -$ig. (( . 7e o'%er=ă că %e*ararea c3m*urilor-coloanelor e%te reali&ată cu ta'?uri /i nu cu %*a6ii *rin $a*tul că in$orma6iile e acela/i $el nu %ea$lă or onate unele %u' celelalte.
Utili&area 7 Gor nu e%te recoman ată +n ace%t ca&@ eoarece ace%ta =a *relua /i in$orma6iilee $ormatare a te,tului in *agina 8e' care nu %unt utile *entru im*ort.
7e %al=ea&ă $i/ierul te,t *e i%c cu numele porturi.t9t /i a*oi *oate $i +nc9i% at3t Note*a c3t /i
(1
Fig. 21: Dn set de date pentru import Esursa @ikipedia
8/15/2019 Baze de Date - Lucrari Practice
30/87
Baze de date: Lucrări practice
ire$o,.
În Acce%%@ in meniul'9ternal &ata %e acti=ea&ă coman aTe9t File in %ec6iunea%mport *entrua e%c9i e a%i%tentul *entru %electarea $i/ierului ce con6ine atele ce tre'uie im*ortate.
7electăm $i/ierul porturi.t9t /i acti=ăm 'utonul $ -$ig.(# *entru a *orni a%i%tentul *entruim*ortul atelor in $i/iere te,t -$ig. (0 . >entru atele in $i/ierul porturi.t9t =a $i *ă%tratăo*6iunea im*licită -&elimited ce *re%u*une %e*ararea coloanelor -c3m*urilor *rin ta'?uri /i =a$i acti=at 'utonul !e9t .
((
Fig. 22: &atele importate 0n !otepad
Fig. 2): *pe ifi area fiGierului pentru import
8/15/2019 Baze de Date - Lucrari Practice
31/87
Baze de date: Lucrări practice
A oua *agină a a%i%tentului *entru im*ort -$ig.(2 ne *ermite o *re=i&uali&are a mo ului +n care=or $i im*ortate atele /i ea%emenea o$eră *o%i'ilitatea alegerii elimitatorilor e c3m*uri.
(#
Fig. 2 : #rima pagină a asistentului pentru importul datelor din fiGiere te9t
Fig. 2-: A doua pagină a asistentului pentru importul datelor din fiGiere te9t
8/15/2019 Baze de Date - Lucrari Practice
32/87
Baze de date: Lucrări practice
Deoarece +n %elec6ia te,tului e *e *agina 8e' a $o%t inclu% ca*ul e ta'el cu enumirilecoloanelor@ tre'uie %ă 'i$ăm o*6iunea *rin care %e %*eci$ică $a*tul că *e *rima linie %e a$lă ca*ule ta'el - First e *agina a *atra *agină a a%i%tentului *entru im*ort -$ig.(5 Acce%% ne %ugerea&ă că ta'ela nuare o c9eie *rimară /i ca acea%ta *oate $i generată automat %au că *utem alege un c3m* care %ăre*re&inte c9eia *rimară. Deoarece =om im*orta ace%te ate +ntr?o ta'elă tem*orară@ nu e%tenece%ară %*eci$icarea unei c9ei *rimare /i =om alege o*6iunea!o primary key .
>e ultima *agină a a%i%tentului *entru im*ort tre'uie %*eci$icat numele ta'elei +n care =om $aceim*ortul. Vom trece enumirea Temp#orturi /i =om acti=a 'utonul Finish.
Ca urmare a ace%tor o*era6iuni@ +n 'a&a e ate =om a=ea o ta'elă %u*limentară cu ateleim*ortate e *e *agina 8e'. Datele in acea%tă ta'elă tre'uie *relucrate %u*limentar *entru a*utea $i tran%$erate +n ta'ela #orturi . >entru a =eri$ica in$orma6iile inTemp#orturi =ome%c9i e *entru =i&uali&are acea%tă ta'elă -$ig.(< .
(0
Fig. 2 : A treia pagină a asistentului pentru importul datelor din fiGiere te9t
8/15/2019 Baze de Date - Lucrari Practice
33/87
Baze de date: Lucrări practice
7e o'%er=ă $a*tul că *entru $iecare *ort =om a=ea %*eci$icată enumirea +n clar a 6ării /i acea%ta=a tre'ui +nlocuită cu co ul $ormat in trei caractere *entru acea%ta +n =e erea tran%$erului +nta'ela #orturi .
(2
Fig. 26: A patra pagină a asistentului pentru importul datelor din fiGiere te9t
Fig. 27: 4onținutul tabelei Temp#orturi
8/15/2019 Baze de Date - Lucrari Practice
34/87
Baze de date: Lucrări practice
>entru a nu intro uce co urile 6ărilor manual@ =om căuta *e internet o li%tă e co uri *e care o=om im*orta ea%emenea +ntr?o ta'elă tem*orară. În 'ro8%erul 8e' =om căuta cu ;ooglee,*re%ia) letter ountry odes /i *e li%ta e re&ultate =om regă%i2(letter )(letter ountry odes for all ountries in the 5orld KGAtla%()10L.
>entru im*ortul ace%tor ate =om utili&a o altă meto ă eoarece utili&area Note*a ca +nim*ortul li%tei e *orturi nu $unc6ionea&ă corect in cau&a mo ului +n care %unt *re&entateatele *e *agina 8e'. În ace%t ca& =om utili&a icro%o$t E,cel ())5 *entru a crea un $i/ier incare %ă $acem im*ortul.
>e *agina 8e' -$ig. ( =om %electa li%ta com*letă cu atele ce urmea&ă a $i *reluate.De%c9i em E,cel ())5 /i cu Ctrl?V tran%$erăm atele in memorie +n $oaia e calcul a$i/ată-$ig.#) . Din acea%tă li%tă ne intere%ea&ă oar coloanele cu co uri in trei litere /i enumireacom*letă a 6ării@ /i e aceea@ =om /terge coloanele C /i ulterior A in $oaia e calcul. >entru
acea%ta cu clic rea*ta *e litera coloanei =om a$i/a meniul conte,tual in care =om alegecoman a &elete. 7e o'%er=ă ea%emenea +n $oaia e calcul că e,i%tă /i linii $ără ate. Ace%tea*ot $i /ter%e a%emănător mo ului e /tergere al coloanelor@ ar acea%tă o*era6iune *oate $i$ăcută ulterior +n Acce%%.
oaia e calcul =a $i %al=ată +n $ormat nati= E,cel cu numeleoduri.9ls9 +n acela/i irector un e a$o%t %al=ată /i li%ta e *orturi. Du*ă acea%tă o*era6iune *oate $i +nc9i% 'ro8%erul 8e' /i a*lica6iaE,cel.
(4
Fig. 2;: Dn set de date pentru import Esursa @orldAtlas
8/15/2019 Baze de Date - Lucrari Practice
35/87
8/15/2019 Baze de Date - Lucrari Practice
36/87
Baze de date: Lucrări practice
im*ortul atelor in $i/iere E,cel -$ig. #( .
>e *rima *agină a a%i%tentului *entru im*ort in $i/iere E,cel =a $i lă%ată acti=ă o*6iunea *entru=i&uali&area $oilor e calcul -*ho5 @orksheets /i =a $i %electată $oaia ce con6ine %etul e ate ceurmea&ă a $i im*ortat -*heet1 u*ă care acti=ăm 'utonul !e9t .
(<
Fig. )2: #rima pagină a asistentului pentru importul datelor din fiGiere '9 el
Fig. )): A doua pagină a asistentului pentru importul datelor din fiGiere '9 el
8/15/2019 Baze de Date - Lucrari Practice
37/87
Baze de date: Lucrări practice
>e a oua *agină a a%i%tentului -$ig.## @ eoarece *e *rima linie %e a$lă enumirile coloanelor cuate@ =a $i 'i$ată o*6iunea care %*eci$ică ace%t lucru -First aginile următoare ale a%i%tentului *entru im*ort %unt i entice ca +n %itua6ia im*ortului in$i/iere te,t /i e aceea nu =or mai $i *re&entate. O*6iunile ce tre'uie %*eci$icate %unt i entice cala im*ortul anterior ? nu =om *ermite a%i%tentului %ă cree&e automat o c9eie *rimară -!o primary key iar *entru ta'elă =om $olo%i enumirea Temp4oduri .
(
Fig. ) : A treia pagină a asistentului pentru importul datelor din fiGiere '9 el
8/15/2019 Baze de Date - Lucrari Practice
38/87
8/15/2019 Baze de Date - Lucrari Practice
39/87
Baze de date: Lucrări practice
Com'inarea celor ouă ta'ele %e =a $ace trăg3n - drag(and(drop c3m*ul 4ountry in ta'elaTemp#orturi *e%te c3m*ulTara in ta'ela Temp4oduri . !egătura intre cele ouă ta'ele =a $ire*re&entată *rintr?o linie +ntre cele ouă c3m*uri a%ociate.
#1
Fig. )-: Tabelele Temp#orturi Gi Temp4oduri adăugate a surse de date 0n interogare
Fig. ) : *ele tarea mpurilor de afiGat pentru interogare
8/15/2019 Baze de Date - Lucrari Practice
40/87
Baze de date: Lucrări practice
7*eci$icarea c3m*urilor ce =or $i a$i/ate la rularea interogării %e $ace +n ta'elul in *artea e jo%a ecranului -$ig.#4 .
!a ac6ionarea 'utonului +ie5 in %ec6iuneaorturi -2) . Acea%ta +n%eamnă că +n cele ouă ta'eleenumirea 6ărilor nu %e *otri=e/te *entru toate +nregi%trările.
Re=enim +n e itarea interogării *rin ac6ionarea 'utonului +ie5 /i cu clic rea*ta *e linia cere*re&intă legătura +ntre ta'ele a$i/ăm un meniu conte,tual in care %electăm coman are$eritoare la *ro*rietă6ile legăturii - Join #roperties . oti=ul *entru care %unt a$i/ate mai *u6ine +nregi%trări e%te acela că legătura e%te $ăcută a%t$el +nc3t %ă $ie a$i/ate oar +nregi%trările *entrucare c3m*urile a%ociate in cele ouă ta'ele au acelea/i =alori. >entru a a$i/a toate +nregi%trărilein ta'ela Temp#orturi @ in i$erent acă %e *oate $ace legătura cu ta'ela Temp4oduri %au nu%electăm o*6iunea core%*un&ătoare -%n lude A// re ords from CTemp#orturiC and only thosere ords from CTemp4oduriC 5here the ,oined fields are e=ual /i ac6ionăm 'utonul $ -$ig.#< .
!a =i&uali&area re&ultatului rulării interogării %e o'%er=ă ca %unt a$i/ate toate +nregi%trările -2)in ta'ela Temp#orturi /i co urile e 6ară *entru +nregi%trările ce au core%*on en6e +n am'eleta'ele -$ig. # .
>entru a etermina ce enumiri e 6ări nu %e *otri=e%c@ re=enim +n e itatrea interogării /ia ăugăm +n re&ultatul ace%teia /i c3m*ul4ountry in ta'ela Temp#orturi /i a*oi e,ecutăm in
#(
Fig. )6:
8/15/2019 Baze de Date - Lucrari Practice
41/87
Baze de date: Lucrări practice
nou interogarea.
>entru a gru*a la +nce*utul ta'elei cu re&ultate +nregi%trările incom*lete@ %ortăm +nregi%trărilea%cen ent u*ă c3m*ul 4od a*el3n coman a *ort A to > in meniul conte,tual ce a*are la clicrea*ta *e enumirea ace%tui c3m* -$ig. 0) .
Deoarece %unt oar *atru +nregi%trări *entru care e%te nece%ară corectarea enumirii 6ării@
##
Fig. )7: *pe ifi area tipului legăturii 0ntre tabele
Fig. );:
8/15/2019 Baze de Date - Lucrari Practice
42/87
Baze de date: Lucrări practice
acea%ta %e =a $ace manual +n ta'elaTemp4oduri .
Du*ă ce corec6iile au $o%t $ăcute a%u*ra atelor@ interogarea =a a$i/a corect /i com*let
enumirile /i co urile e 6ară *entru toate cele 2) e *orturi. Acum ace%te in$orma6ii *ot $itran%$erate +n ta'ela#orturi . >entru acea%ta %e re=ine +n e itarea interogării /i %e %c9im'ă ti*ulace%teia +ntr?o interogare e a ăugare - append =uery *rin ac6ionarea 'utonului Append in%ec6iuneaIuery Type a meniului &esign. În $erea%tra ce a*are %e %electea&ă ta'ela +n care =or $ia ăugate atele - #orturi /i %e a*a%ă 'utonul$ -$ig.01 . În ta'ela cu enumirile c3m*urilorinclu%e +n interogare a a*ărut un r3n *entru %electarea enumirii c3m*ului e%tina6ie - Append To. >entru $iecare c3m* ce urmea&ă a $i tran%$erat -#ort /i 4od =a $i %electat un c3m* e%tina6ie-$ig.0( .
Dacă +n meniul %ec6iuneaentru a $ace cu a e=ărat a ăugarea +n ta'ela #orturi @ tre'uie ac6ionat 'utonul
8/15/2019 Baze de Date - Lucrari Practice
43/87
Baze de date: Lucrări practice
ta'ela #orturi .
#2
Fig. 1: *ele tarea tabelei destinație pentru interogarea de adăugare
Fig. 2: *pe ifi area mpurilor destinație pentru interogarea de adăugare
8/15/2019 Baze de Date - Lucrari Practice
44/87
Baze de date: Lucrări practice
Com leta ea man#ală a 0n egist ă ilo 0n ta*ele :"ontin#a e<
A=3n ate +n ta'elele Fun tii @Tipuri!a"a /i #orturi %e *oate trece la com*letarea atelor +nta'ela !a"e -$ig.0# .
Du*ă com*letarea atelor *entru *rimul =oiaj -$ig. 00 +n ta'ela +oia,e@ %e inc9i e acea%tă ta'elă/i %e e%c9i e ta'ela 's ale *entru a ăugarea e%calelor =oiajului -$ig.02 .
#4
Fig. ): Tabela !a"e u datele ompletate
Fig. : #rima 0nregistrare 0n tabela +oia,e
8/15/2019 Baze de Date - Lucrari Practice
45/87
Baze de date: Lucrări practice
!a com*letarea e%calelor irect +n ta'ela 's ale e%te nece%ară %electarea =oiajului a%ociat.Acea%ta *oate con uce la alegerea eronată a =oiajului. >entru a e=ita acea%tă %itua6ie@com*letarea e%calelor %e *oate $ace *ornin e la +nregi%trarea in ta'ela +oia,e -$ig.04 . 7eo'%er=ă că a*ă%3n *e %emnul *lu% -K ce a*are +n %t3nga +nregi%trării =oiajului@ e%te e%c9i%ăautomat ta'ela 's ale /i %unt a$i/ate e%calele a%ociate oar =oiajului %electat. Com*letarea
atelor +n ace%t mo nu mai nece%ită %electarea =oiajului@ a%ocierea +ntre e%cală /i =oiaj $ăc3n u?%e automat.
#5
Fig. -: 4ompletarea datelor portului de ple are 0n primul "oia,
Fig. : 4ompletarea es alelor pornind de la "oia,
8/15/2019 Baze de Date - Lucrari Practice
46/87
Baze de date: Lucrări practice
În mo %imilar %e com*letea&ă =oiajele /i e%calele a%ociate *entru a re%*ecta cerin6ele enun6uluiini6ial al temei -trei =oiaje cu minim cinci e%cale $iecare . !a com*letarea atelor calen ari%tice*entru %o%irea /i *lecarea in *orturi %e =a re%*ecta or inea cronologică $irea%că a e%calelor.Dea%emenea tre'uie men6ionat că *entru *ortul e *lecare nu =a $i com*letată ata %o%irii@ iar
ata *lecării =a coinci e cu ata e +nce*ere a =oiajului. Analog@ *entru *ortul e%tina6ieli*%e/te ata *lecării@ iar ata %o%irii e%te i entică cu ata terminării =oiajului.
Că#ta ea .i (ilt a ea %atelo 0n ta*ele
>e l3ngă interogări cu ajutorul cărora %e *ot o'6ine i=er%e in$orma6ii *e 'a&a atelor e,i%tente@Acce%% *une la i%*o&i6ia utili&atorului /i *o%i'ilitatea e a căuta@ $iltra /i %orta atele in ta'ele/i interogări -$ig.05 . Comen&ile %unt i%*oni'ile /i in meniul conte,tual ce a*are la clic rea*tacu mou%e?ul *e enumirea unui c3m*.
De e,em*lu@ acă e%c9i em ta'ela 's ale *entru a căuta *ortul Nago a /i in meniulconte,tual *entru c3m*ul id#ort %electăm coman a e căutare - Find @ =a a*are $erea%tra *entru
%*eci$icarea *arametrilor e căutare -$ig.0< .
#<
Fig. 6: A ti"area omenzii de ăutare din meniu
Fig. 7: Fereastra pentru parametrii de ăutare
8/15/2019 Baze de Date - Lucrari Practice
47/87
Baze de date: Lucrări practice
Căutarea *oate $i $ăcută +n atele in coloana %electată %au +n toată ta'ela@ *ut3n u?%e *reci&aacă te,tul intro u% e%te căutat ca /i con6inut integral al unui c3m*@ oar la +nce*utul c3m*ului@%au oriun e +n ca rul c3m*ului. Utili&atorul *oate *reci&a %en%ul e căutare /i acă %e =a 6ine%eama e maju%cule %au nu.
Într?o manieră a%emănătoare %e *oate $ace /i căutarea /i +nlocuirea con6inulului c3m*urilor. Înlocuirea %e *oate $ace *entru c3m*ul %electat %au *entru toate c3m*urile ce re%*ectă criteriule căutare.
7ortarea /i $iltrarea +nregi%trărilor %e *oate $ace *rin %ec6iunea*ort L Filter a meniului *rinci*al%au cu ajutorul meniului ce a*are la a*ă%area 'utonului %t3ng al mou%e?ului *e marcajul inrea*ta enumirii unui c3m* -$ig .0 .
>rimele ouă comen&i in ace%t meniu *ermit %ortarea +n or ine al$a'etică -cre%cătoare *entrunumere %au in=er% al$a'etică - e%cre%cătoare *entru numere . 7ortarea u*ă =alorile unuic3m* nu *ro uce mo i$icarea atelor %au i%ocierea in$orma6iilor in c3m*uri i$erite. Înregi%trările in ta'elă răm3n nemo i$icate@ oar or inea e a$i/are %e %c9im'ă *rin %ortare.
În meniul conte,tual =a a*are c3te o *o&i6ie i%tinctă *entru $iecare =aloare i%tinctă ac3m*urilor in coloana %electată. Utili&atorul *oate alege a%t$el %electi= ce +nregi%trări %ă $iea$i/ate.
În $unc6ie e ti*ul atelor %tocate +n coloana %electată@ utili&atorul *oate acce%a /i o altă meto ă
#
Fig. ;: &es hiderea meniului onte9tual pentru sortare Gi filtrare
8/15/2019 Baze de Date - Lucrari Practice
48/87
Baze de date: Lucrări practice
e $iltrare *rin %*eci$icarea com*letă %au *ar6ială a in$orma6iilor căutate -$ig.2) . >e acea%tă caleAcce%% o$eră o mai mare $le,i'ilitate +n $iltrarea +nregi%trărilor.
0)
Fig. -B: Meniul pentru stabilirea riteriului de filtrare pentru un mp de tip Te9t
8/15/2019 Baze de Date - Lucrari Practice
49/87
Baze de date: Lucrări practice
&ABORATOR @
o m#la e ent # int o%#"e ea %atelo
Utili&area(o m#la elo - forms *ermite mani*ularea in$orma6iilor intr?o 'a&ă e ate +ntr?omanieră %im*li$icată /i controlată. >ractic@ $ormularele ne *ermit %ă reali&ăm o inter$a6ă *entru'a&a e ate Acce%%. O*eratorul nu are ne=oie %ă cunoa%că %tructura 'a&ei e ate *entru a*utea %ă o $olo%ea%că acă acea%ta i%*une e o inter$a6ă intuiti=ă /i %im*lă. Dea%emeneautili&area $ormularelor *ermite a%cun erea anumitor in$orma6ii la e itare - e e,em*lu c9eile*rimare /i e,terne %unt e regulă neim*ortante *entru o*erator@ ar %unt e%en6iale *entrui enti$icarea unică a +nregi%trărilor /i reali&area legăturilor +ntre ta'ele . Reali&area unor$ormulare 'ine %tructurate *ermite %im*li$icarea /i e$icienti&area *relucrării atelor %tocate.
În %itua6ia +n care un $ormular e%te a%ociat uneia %au mai multor ta'ele %au interogări %e %*unecă ace%ta e%telegat -bound . >rin acea%ta@ $ormularul *ermite intro ucerea@ mo i$icarea %aua$i/area in$orma6iilor in ta'elele re%*ecti=e. E,i%tă +n Acce%% /i *o%i'ilitatea reali&ării unor$ormulare nelegate -unbound .
>e l3ngă elementele *entru *re&entarea atelor in ta'ele /i interogări@ *e $ormulare %e *ota ăuga /i alte entită6i cum ar $i 'utoane e coman ă@ etic9ete@ imagini@ etc.@ toate ace%tea $iinre$erite *rin termenul generic e "ont oale - ontrols .
>entru crearea unui $ormular e,i%tă mai multe căi /i ace%tea %e regă%e%c +n meniul4reate +n%ec6iuneaForms. Dintre ele@ utili&areaasistent#l#i ent # (o m#la e -Form @izard in%u'meniulMore Forms *entru +nce*ut e%te =arianta cea mai $acilă.
În continuare =om trece la reali&area *rimei *ăr6i a celei e?a oua %arcini in ca rul temeiini6iale: crearea mac9etei nece%are intro ucerii =oiajelor. >entru acea%ta %e a*elea&ă a%i%tentul*entru $ormulare -$ig.21 .
01
Fig. -1: Apelarea asistentului pentru formulare
8/15/2019 Baze de Date - Lucrari Practice
50/87
Baze de date: Lucrări practice
>e *rima *agină a a%i%tentului *entru $ormulare *utem %electa c3m*urile in ta'elele %auinterogările ce =or con%titui %ur%a e ate *entru $ormular. Vom alege mai +nt3i ta'ela+oia,e /i=a $i a$i/ată li%ta c3m*urilor i%*oni'ile - A"ailable Fields *entru acea%tă ta'elă. arcarea*entru utili&area +n $ormular %e $ace trec3n ace%te c3m*uri +n li%ta cu c3m*uri %electate
-*ele ted Fields cu ajutorul 'utoanelor intre cele ouă li%te. Tot cu ace%te 'utoane %e *oate$ace /i renun6area la utili&area unuia %au mai multor c3m*uri +n $ormular -$ig.2( . Vom %electain ta'ela +oia,e toate c3m*urile +n a$ară e %&+oia, .
În acela/i mo %e a augă +n li%ta e c3m*uri %electate /i c3m*urile in ta'ela 's ale mai *u6in%&'s ala /i id+oia, -$ig.2# .
0(
Fig. -2: Mar area mpurilor din tabela +oia,e pentru utilizarea 0n formular
Fig. -): Mar area mpurilor din tabela 's ale pentru utilizarea 0n formular
8/15/2019 Baze de Date - Lucrari Practice
51/87
Baze de date: Lucrări practice
C3m*urile+oia,e.%&+oia, @'s ale.%&'s ala /i 's ale.id+oia, au $o%t e,clu%e in li%ta cu c3m*uri*entru $ormular eoarece con6in in$orma6ii ce nu tre'uie a$i/ate. >rimele ouă %unt c9ei*rimare /i cea e?a treia e%te o c9eie e,ternă. În %c9im' c3m*urile +oia,e.id!a"a @+oia,e.idFun tie /i 's ale.id#ort e/i %unt tot c9ei e,terne au $o%t inclu%e +n %elec6ie. În realitate@
eoarece c9eile e,terne au $o%t e$inite cu a%i%tentul *entru legături -/ookup @izard @ Acce%%=a *relua in$orma6iile a%ociate in ta'elele !a"e @Fun tii /i #orturi -!a"e.&enumire @Fun tii.&enumire /i #orturi.&enumire /i le =a utili&a *entru a$i/area *e ecran +n locul =alorilorc9eilor e,terne.
Deoarece +ntre ta'elele +oia,e /i 's ale e,i%tă o rela6ie e %u'or onare@ Acce%% %ugerea&ă *e*agina a oua a a%i%tentului *entru $ormulare -$ig.20 a$i/area e%calelor ca un (o m#lase"#n%a -subform .
0#
Fig. - : A doua pagină a asistentului pentru formulare
Fig. --: +arianta pentru afiGarea es alelor 0ntr(un formular separat
8/15/2019 Baze de Date - Lucrari Practice
52/87
Baze de date: Lucrări practice
În a$ară e acea%tă o*6iune@ %e *oate alege /i a$i/area atelor e%calelor +ntr?un $ormular %e*arat$ig.22 . Acea%tă =ariantă nu e%te e orit +n ca rul jurnalului *entru că nece%ită a*ă%area%u*limentară *e un 'uton *entru a$i/area e%calelor.
>e *agina a treia a a%i%tentului *entru $ormulare -$ig.24 %e *oate o*ta *entru a$i/area atelor$ormularului %ecun ar +n controale i%tincte -Tabular %au +n $ormat ta'elar -&atasheet . Vom%electa aici *rima =ariantă.
>e *agina a *atra a a%i%tentului *entru $ormulare %e *oate %electa unul intre %tilurile*re e$inite *entru $ormulare -$ig.25 @ e e,em*lu Trek .
00
Fig. - : #agina a treia a asistentului pentru formulare
Fig. -6: #agina a patra a asistentului pentru formulare
8/15/2019 Baze de Date - Lucrari Practice
53/87
Baze de date: Lucrări practice
>e ultima *agină a a%i%tentului *entru $ormulare -$ig.2< %e *oate %ta'ili numele $ormularului*rinci*al /i al $ormularelor %ecun are. Tot aici %e *oate %*eci$ica acă %e continuă cu =i&uali&area$ormularului %au cu e itarea %a la +nc9i erea a%i%tentului. Vom alege *rima o*6iune *entru a*utea =i&uali&a *re&entarea im*licită a atelor -$ig.2 .
02
Fig. -7: Dltima pagină a asistentului pentru formulare
Fig. -;: Formularul +oia,e obținul u a,utorul asistentului
8/15/2019 Baze de Date - Lucrari Practice
54/87
Baze de date: Lucrări practice
7e o'%er=ă +n $ig.2 $a*tul că $ormularul nu arată $oarte 'ine eoarece controalele am*la%ateautomat ocu*ă $oarte mult %*a6iu. Atunci c3n lucrăm cu $ormulare *utem *utem a$i/a atelein ta'ele +n mo ul Form +ie5 $ără a *utea mo i$ica *ro*rietă6ile controalelor ci numai atelein ta'elele a%ociate@ *utem a$i/a atele /i a=ea un control minimal a%u*ra imen%iunilor@*o&i6iei /i a%*ectului =i&ual al controalelor +n/ayout +ie5 @ %au *utem e ita toate *ro*rietă6ilec3m*urilor $ără a =i&uali&a atele@ +n mo ul&esign +ie5.
>entru %c9im'area %tilului tuturor controalelor in $ormular@ =om %electa mo ul/ayout +ie5 /ia*oi =om alege in %u'meniul AutoFormat %tilulFlo5. Ca urmare a ace%tei o*era6iuni@ $onturile/i culorile $ormularului =or $i mo i$icate. !a generarea $ormularului cu ajutorul a%i%tentului@Acce%% a gru*at controalele ce %unt legate e c3m*urile in ta'ela +oia,e. Dacă =om %electa cumou%e?ul controlul a%ociat c3m*uluiidFun tie %e o'%er=ă că =a a*are marcajul *entru %elec6ia /imutarea ace%tui gru* -$ig.41 .
04
Fig. B: *ele ția modului de afiGare a unui formular
Fig. 1: Mar a,ul pentru grupul de ontroale din formular
8/15/2019 Baze de Date - Lucrari Practice
55/87
Baze de date: Lucrări practice
>entru a *utea muta controalele in i=i ual *e $ormular e%te nece%ar %ă /tergem acea%tăgru*are. >entru acea%ta =om %electa gru*ul *rin clic cu mou%e?ul *e marcajul gru*ului /i inmeniul Form /ayout Tools %u'meniul Arrange =om acti=a coman a
8/15/2019 Baze de Date - Lucrari Practice
56/87
Baze de date: Lucrări practice
Toate controalele ce *ot a*are +ntr?un $ormular i%*un e o multitu ine e *ro*rietă6i cuajutorul cărora %e *oate %ta'ili com*ortamentul /i a%*ectul ace%tora *recum /i a%ocierile cuc3m*urile e ate. >entru acce%area *ro*rietă6ilor %e utili&ea&ă coman a#roperty *heet a%ec6iuniiTools in %u'meniul &esign in Form &esign Tools %au coman a #roperties in meniul
conte,tual. Ca /i +n ca&ul $ormularelor@ controalele *ot $i a%ociate %au nea%ociate cu c3m*uri inta'ele %au interogări. În *lu%@ unele controale *ermit /i e$ectuarea unor calcule %im*le +ntr?omanieră a%emănătoare a*lica6iei E,cel.
Cu ace%te in$orma6ii %e *oate trece la mo i$icarea $ormularului *entru a o'6ine +n $inal o=ariantă a%emănătoare cu cea in $ig.4#.
0<
Fig. ): Formularul pentru editarea "oia,elor
8/15/2019 Baze de Date - Lucrari Practice
57/87
Baze de date: Lucrări practice
Com leta ea %atelo (olosin% (o m#la e
Cu ajutorul ace%tui $ormular %e =a trece la $inali&area celei e?a oua %arcini in ca rul temeiini6iale: a ăugarea cu ajutorul $ormularului creat a +ncă ouă =oiaje cu minim cinci e%cale -*lu%
*orturile e *lecare /i %o%ire . În ace%t moment@ *entru trecerea e la un =oiaj la altul %e *ot $olo%i elementele e na=igare in%u'%olul $ormularului -$ig.40 .
Cu ace%tea %e *oate a$i/a *rimul =oiaj@ *rece entul@ următorul %au ultimul. În *lu% %e *oate%*eci$ica *o&i6ionarea *e +nregi%trarea cu numărul %*eci$icat e o*erator +n controlul ce a$i/ea&ănumărul +nregi%trării curente /i numărul total e +nregi%trări. "utonul ce %e a$lă +n rea*ta $a6ăe 'utonul *entru %altul la ultima +nregi%trare *ermite a ăugarea unui =oiaj nou. A ăugarea %e*oate $ace /i acă %e +ncearcă trecerea u*ă ultima +nregi%trare e,i%tentă.
>entru trecerea e la o e%cală la alta +n ca rul aceluia/i =oiaj %e $olo%e/te 'ara e e$ilare=erticală ce a*are +n $ormularul %ecun ar +n care controalele e na=igare au $o%t a%cun%e.
Ca /i la com*letarea atelor irect +n ta'ele@ +n ace%t moment@ u*ă +nregi%trarea *ortului ee%tina6ie tre'uie co*iată manual ata %o%irii +n ace%t *ort +n c3m*ul cu ata terminării
=oiajului.
În ca rul $ormularului %e *oate %ta'ili or inea +n care %e $ace trecerea intr?un control +n altul +nForm +ie5 atunci c3n utili&atorul a*a%ă ta%taTab. >entru acea%ta $iecare control ce *oate $i
%electat *une la i%*o&i6ie *ro*rietă6ileTab *top /i Tab %nde9 . Tab *top %*eci$ică acă %elec6ia*oate trece +n controlul core%*on ent la a*ă%area ta%teiTab@ iarTab %nde9 con6ine o =aloarenumerică +ntreagă ce %*eci$ică or inea +n care %e e*la%ea&ă %elec6ia. Tre'uie men6ionat căAcce%% nu *ermite u*licarea luiTab %nde9 /i acă utili&atorul +ncearcă ace%t lucru@ toate =alorileegale %au mai mari ec3t in e,ul %*eci$icat a%ociate altor controale =or $i incrementate automat.
A ăugarea $ormularelor *entru e itarea ti*urilor e na=e@ a na=elor@ $unc6iilor /i *orturilor %e$ace +ntr?o manieră a%emănătoare $ormularului *entru =oiaje /i *entru că ace%tea au ocom*le,itate mai re u%ă@ =or $i reali&ate in i=i ual e către %tu en6i.
0
Fig. : 4ontroalele pentru s himbarea 0nregistrării urente
8/15/2019 Baze de Date - Lucrari Practice
58/87
Baze de date: Lucrări practice
&ABORATOR
Utili)a ea lim*a$#l#i Vis#al Basi" (o A li"ations ent # "omen)i sim le
În a$ară e $unc6ionalitatea o'6inută *rin *roiectarea =i&uală a $ormularelor@ Acce%% *ermitee$inirea e macrocomen&i /i utili&area unui lim'aj e *rogramare %*eci$ic a*lica6iilor in %uitaicro%o$t O$$ice /i anume+isual 3asi for Appli ations .
O ma" o"oman%ă re*re&intă o %ec=en6ă e o*era6iuni %im*le *e care o*eratorul le e,ecută$rec=ent +ntr?o %ec=en6ă 'ine e$inită. >entru a automati&a ace%t *roce%@ %ec=en6a e o*era6iunie%te memorată *entru ca ulterior %ă *oată $i e,ecutată ra*i .
Vis#al Basi" (o A li"ations -+3A e%te un lim'aj e *rogramare +n care in%truc6iunile %unt
%cri%e +ntr?un $ormat $oarte a%emănător cu lim'ajul natural. A%imilarea ace%tuia e%te relati=u/oară ar nece%ită cunoa/terea conce*telor generale legate e lim'ajele e *rogramare /ialgoritmi. În %itua6ia %i%temului e 'a&e e ate rela6ionale Acce%%@ V"A *re&intă %u*limentarin%truc6iuni %*eci$ice lucrului cu ace%te %tructuri.
7ec=en6ele e in%truc6iuni %cri%e +n V"A *ot $i %al=ate +n ca rul $ormularelor +n care %unt $olo%ite%au *ot $i gru*ate +n entită6i i%tincte numitemo%#le. A=antajul utili&ării mo ulelor e%te acelacă *roce urile /i $unc6iile %cri%e +n ca rul unui mo ul *ot $i *u'lice /i a%t$el =i&i'ile in mai multeo'iecte Acce%%. o ulele *ot $i con%i erate ca ni/te 'i'lioteci e $unc6ii /i %u'rutine /i =or a*are
ca o'iecte i%tincte +n *anoul e na=igare - !a"igation #ane .>entru un *rogramator ce inten6ionea&ă %ă utili&e&e Acce%% la +ntregul %ău *oten6ial@ a%imilareaV"A e%te e%en6ială. !ucrarea e $a6ă nu +/i *ro*une *re&entarea etaliată a V"A@ ci oare,em*li$icarea unei %ec=en6e %im*le e co .
>entru a +m'unătă6i a%*ectul /i $unc6ionalitatea $ormularului+oia,e *utem +nlocui controalelee %electare a +nregi%trării curente care a*ar +n *artea e jo% a $ormularului cu 'utoane eimen%iuni mai mari care %a $ie mai u/or acce%i'ile. >entru acea%ta Acce%% ne *une la i%*o&i6ieun a%i%tent *entru 'utoane e coman ă.
De%c9i em $ormularul+oia,e +n mo ul &esign +ie5. Din meniul *rinci*al laForm &esign Tools%u'meniul &esign@ %ec6iunea4ontrols %electăm controlul e ti* 'uton /i e%enăm +n &onaantetului $ormularului re*tung9iul e +nca rare *entru 'utonul *entru *o&i6ionarea *e *rima +nregi%trare.
!a $inali&area ace%tei o*era6iuni %e e%c9i e automat a%i%tentul *entru 'utoane e control-4ommand 3utton @izard ce *une la i%*o&i6ia utili&atorului o %erie e comen&i u&uale gru*ate*e categorii@ ce *ot $i a%ociate automat 'utonului nou creat -$ig.42 .
2)
8/15/2019 Baze de Date - Lucrari Practice
59/87
Baze de date: Lucrări practice
Dintre ace%tea =om %electa in categoria Recor !a"igation coman a No To First e*agina a oua a a%i%tentului -$ig.44 %e *oate %*eci$ica acă 'utonul =a a$i/a un te,t %au oimagine ce *oate $i alea%ă intr?o li%tă *re%ta'ilită %au +ncărcată intr?un $i/ier e,terior.
Vom alege *entru 'utonul creat imaginea im*licită %*eci$icată +n *agina a%i%tentului. >e ultima*agină a a%i%tentului %e *oate %ta'ili enumirea controlului e ti* 'uton -$ig.45 .
21
Fig. -: #rima pagină a asistentului pentru butoane de omandă
Fig. : A doua pagină a asistentului pentru butoane de omandă
8/15/2019 Baze de Date - Lucrari Practice
60/87
Baze de date: Lucrări practice
În mo a%emănător =or $i a ăugate 'utoane e coman ă *entru e*la%area la +nregi%trarea*rece entă@ următoare /i $inală@ *entru a ăugarea unui =oiaj nou /i *entru +nc9i erea$ormularului -$ig.4< .
Du*ă a ăugarea 'utoanelor e na=igare +n antet@ %e *ot a%cun e controalele *entru na=igarein %u'%olul $ormularului.
A/a cum %?a *reci&at anterior@ +n ace%t moment utili&atorul tre'uie %ă co*ie&e manual ata %o%irii +n *ortul e%tina6ie +n ata terminării =oiajului. Acea%tă o*era6iune e/i e%te $oarte %im*lă@re*etată e multe ori *oate e=eni %u*ărătoare. De aceea o =ariantă mai $acilă ar $i reali&areaunui 'uton care %ă $acă acea%tă o*era6iune.
În Acce%% e,ită *o%i'ilitatea a%ocierii unor anumite e=enimente ce *ot a*are la ni=elulcontroalelor cu %ec=en6e e co %au macrocomen&i. >entru a %ta'ili ace%te a%ocieri@ +n&esign+ie5 *entru controlul %electat *e *agina '"ents a *ro*rietă6ilor ace%tuia =om gă%i o %erie ee=enimente *re e$inite.
În continuare =om a ăuga un 'uton *entru co*ierea atei e %o%ire +n ultimul *ort +n ataterminării =oiajului. >entru acea%ta %e crea&ă 'utonul /i %e renun6ă la utili&area a%i%tentului2(
Fig. 6: #agina finală a asistentului pentru butoane de omandă
Fig. 7: Amplasarea butoanelor de omandă 0n formular
8/15/2019 Baze de Date - Lucrari Practice
61/87
Baze de date: Lucrări practice
*entru 'utoane e coman ă -$ig. 4 . Du*ă am*la%area *e $ormular@ =om mo i$ica imen%iuneaace%tuia /i te,tul ce a*are *e ace%t 'uton /i =om e%c9i e $oaia %a cu *ro*rietă6i.
Ace%tui 'uton +i =om a%ocia o %ec=en6ă e co %cri%ă +n V"A *entru +n e*linirea ac6iunii*reci&ate anterior.
Tre'uie men6ionat că +n Acce%% ca /i +n multe alte me ii e e&=oltare %o$t8are aceea/i ac6iune%e *oate reali&a +n mo uri i$erite. aterialul e $a6ă +/i *ro*une %ă *re&inte i actic uneleintre ace%te =ariante. Alegerea uneia %au alteia intre =ariantele *o%i'ile e*in e e
ingenio&itatea /i e,*erien6a *rogramatorului.
În *agina $ther a *ro*rietă6ilor 'utonului a ăugat *oate $i %c9im'at numele ace%tui control.O*era6iunea nu e%te o'ligatorie@ ar e%te e *re$erat *entru i enti$icarea ulterioară a ace%tuia.>e *agina '"ents a *ro*rietă6ilor 'utonului =om acti=a *entru e=enimentul $n 4li k -$ig.5)'utonul *entru e%c9i erea a%i%tentului *entru generarea e co -$ig. 51 .
2#
Fig. ;: 3uton de omandă simplu
Fig. 6B: %nițializarea editării de od pentru e"enimentul $n 4li k
8/15/2019 Baze de Date - Lucrari Practice
62/87
Baze de date: Lucrări practice
>entru un 'uton e coman ă e=enimentul $n 4li k e%te cel mai $rec=ent utili&at. El a*are laac6ionarea cu mou%e?ul a 'utonului %au la a*ă%area ta%tei'nter atunci c3n 'utonul e%te%electat.
Vom alege 4ode 3uilder *entru a *utea %crie in%truc6iunile V"A *entru e$ectuarea o*era6iuniiorite. >e ecran =a a*are +ntr?o $erea%tră %e*arată e itorul *entru V"A /i =a $i generat automat/a'lonul *entru %u'rutina 4li k a controlului mdFinalizare+oia, -$ig.5( .
20
Fig. 61: Asistentul pentru sele tarea modalității de s riere a odului
Fig. 62: Fereastra editorului pentru od +3A
8/15/2019 Baze de Date - Lucrari Practice
63/87
Baze de date: Lucrări practice
În %u'rutina cm inali&areVoiajPClic =om trece următoarea linie e co :
Me.DataTerminarii.Value = DMax("DataSosirii", "Escale", _ "idVoiaj=" & CStr(Me.idVoiaj.Value))
Acea%tă in%truc6iune *une +n *ro*rietatea+alue a controlului &ataTerminarii in $ormularulcurent -Me re&ultatul +ntor% e $unc6ia&Ma9 . Deoarece in%truc6iunea e%te mai lungă ec3tlă6imea e itorului e co @ *entru a o *utea =i&uali&a $ără %ă $ie ne=oie %ă $olo%im 'ara ee$ilare ori&ontală@ acea%ta a $o%t %cri%ă *e ouă linii@ continuarea *rimei linii $iin %emnali&ată la%$3r/it *rin caracterul P.
unc6ia &Ma9 *oate $i $olo%ită *entru a o'6ine =aloarea ma,imă intr?un %et *re%ta'ilit e +nregi%trări. În %itua6ia noa%tră ne intere%ea&ă o'6inerea =alorii ma,ime *entru c3m*ul&ata*osirii in ta'ela 's ale *entru %u'%etul e +nregi%trări a%ociate cu =oiajul curent.>arametrii $unc6iei tre'uie %*eci$ica6i ca /iruri e caractere -+nca ra6i e g9ilimele u'le . >rimul*arametru al $unc6iei e%te numele ta'elei 's ale @ al oilea e%te numele c3m*ului&ata*osirii /iultimul e%te o e,*re%ie ce $iltrea&ă +nregi%trările *entru a *ă%tra oar %u'%etul care neintere%ea&ă. În $inal $erea%tra e itorului e co =a arăta a%emănător $ig.5#.
Acce%% i%*une e o multitu ine e $unc6ii a%emănătoare cu&Ma9 cu care *utem o'6ine
22
Fig. 6): *ubrutina pentru tratarea e"enimentului $n 4li k
8/15/2019 Baze de Date - Lucrari Practice
64/87
Baze de date: Lucrări practice
i=er%e in$orma6ii in 'a&a e ate. De%crierea ace%tora nu $ace o'iectul *re&entului material.
C9m # i "al"#late
O altă +m'unătă6ire *e care o *utem a uce $ormularului +oia,e e%te a$i/area uratei +n &ile a=oiajului. Acea%ta %e *oate $ace utili&3n un c3m* calculat ce $olo%e/te in$orma6iile inc3m*urile &ata%n eperii /i &ataTerminarii in ta'ela +oia,e. Dacă ace%te c3m*uri %unt a%ociatecu controale in $ormular@ ele %unt acce%i'ile irect %au *rin interme iul ace%tor controale.
>entru a reali&a mo i$icarea %ugerată =om a ăuga +n %ec6iunea&etail a $ormularului un controle ti* Te9t3o9 . 7e o'%er=ă că Acce%% a augă %u*limentar /i o etic9etă ace%tui control -$ig.50 .Vom mo i$ica te,tul etic9etei /i *o&i6ia celor ouă controale. 7e remarcă $a*tul că +n controlule ti* Te9t3o9 e%te men6ionat $a*tul că ace%ta nu e%te a%ociat unui c3m* e ate -unbound .
>entru a %*eci$ica $ormula e calcul a uratei =oiajului@ *entru controlul e ti*Te9t3o9 %e%electea&ă *agina&ata a *ro*rietă6ilor ace%tuia. ormula *oate $i %cri%ă +n *ro*rietatea4ontrol *our e care %*eci$ică e un e %e *reiau in$orma6iile a$i/ate +n ace%t control. O =ariantă mai $acilăla +nce*ut ar $i %ă utili&ăm a%i%tentul *entru e,*re%ii -'9pression 3uilder ce *oate $i acti=at cu'utonul cu trei *uncte a%ociat *ro*rietă6ii 4ontrol *our e .
!a e%c9i erea a%i%tentului *entru e,*re%ii -$ig.52 +n &ona %u*erioară *utem %crie manuale,*re%ia orită %au o *utem com*une $olo%in %electarea termenilor %i o*eratorilor cu ajutorul'utoanelor /i li%telor in &ona in$erioară ce a$i/ea&ă elementele ce *ot $i utili&ate +n e,*re%ie.Co*ierea unui element in li%telele in$erioare +n e,*re%ie %e *oate $ace cu u'lu clic *e ace%ta.
În acea%tă manieră =om com*une cu a%i%tentul *entru e,*re%ii rela6ia:
= DataTerminarii! Data#nce$erii!
24
Fig. 6 : Adăugarea ontrolului de tip Te9t3o9 Gi a eti hetei aso iate
8/15/2019 Baze de Date - Lucrari Practice
65/87
Baze de date: Lucrări practice
/i a*oi =om +nc9i e a%i%tentul cu 'utonul$ . În *ro*rietatea 4ontrol *our e =a a*are e,*re%iacreată.
!a =i&uali&area atelor cu $ormularul+oia,e@ acă +n c3m*ul cu ata terminării nu a=em atecom*letate atunci nici +n c3m*ul cu urata =oiajului nu =om a=ea in$orma6ii. Du*ă a ăugarea*ortului e%tina6ie@ la a*ă%area *e 'utonulFinalizare "oia, =a $i com*letat automat c3m*ul cuata terminării /i %e =a calcula automat /i a$i/a %i numărul e &ile c3t a urat ace%ta.
25
Fig. 6-: Adăugarea unui termen 0n asistentul pentru e9presii
8/15/2019 Baze de Date - Lucrari Practice
66/87
Baze de date: Lucrări practice
&ABORATOR
Ra oa te ent # e)enta ea %atelo
În a$ara $ormularelor /i interogărilor@ *entru *re&entarea atelor intr?o 'a&ă e ate Acce%% %e*ot utili&a /i ra*oartele. Ace%tea *ermit *re&entarea atelor +ntr?un $ormat *otri=it *entruti*ărirea *e 93rtie.
Al treilea %u'*unct al temei ini6iale %olicită crearea unui ra*ort cu li%ta *orturilor =i&itate +nca rul căruia =or $i a$i/ate cel *u6in Bara@ *ortul@ numărul e =i&ite +n acel *ort. Or onareatre'uie $ăcută al$a'etic u*ă co ul 6ării i enumirea *ortului.
A$i/area in$orma6iilor e,i%tente eja +ntr?o ta'elă %u' $ormă e ra*ort %e *oate $ace $oarte
%im*lu. În %itua6ia cerin6ei in temă e%te nece%ar %ă numărăm e c3te ori a $o%t =i&itat $iecare*ort. >entru acea%ta o %olu6ie ar $i %ă *regătim atele ce urmea&ă a $i a$i/ate cu ajutorul uneiinterogări +n care %ă $acem /i numărarea e%calelor /i a*oi@ *e 'a&a ace%teia %ă generăm ra*ortul%olicitat.
2<
Fig. 6 : A ti"area omenzii pentru gruparea 0nregistrărilor
8/15/2019 Baze de Date - Lucrari Practice
67/87
Baze de date: Lucrări practice
Vom +nce*e e itarea unei noi interogări cu coman a Iuery &esign in %ec6iunea $ther ameniului 4reate . Vom %electa ta'elele 's ale /i #orturi ca %ur%ă e ate. Vor $i %electate ca /ic3m*uri *entru interogare #orturi.Tara @#orturi.&enumire /i 's ale.%&'s ala /i =om acti=acoman a Totals in %ec6iunea *ho5 Hide a meniului &esign *entru a *utea $ace gru*area
+nregi%trărilor +n =e erea numărării -$ig.54 .C3m*ul's ale.%&'s ala a $o%t a ăugat *entru a *utea $ace numărarea e%calelor +n *orturi. Vommo i$ica *ro*rietă6ile c3m*urilor e%tina6ie *entru a re*re&enta mai 'ine re&ultatul interogării.>entru acea%ta =om %orta *rimele ouă c3m*uri +n or ine al$a'etică@ =om %c9im'a enumireacoloanei #orturi.&enumire +n#ort @ iar *entru's ale.%&'s ala =om $olo%i enumirea!r's ale . În*lu%@ *entru c3m*ul's ale.%&'s ala =om mo i$ica *ro*rietatea Total in Nroup 3y +n4ount *entru a număra e%calele -$ig.55 .
Cu alte cu=inte@ interogarea =a +ntoarce in$orma6ia %olicitată gru*ată u*ă co ul 6ării /ienumirea *ortului /i or onată al$a'etic u*ă co ul 6ării /i enumirea *ortului. >rioritatea%ortării %e $ace u*ă or inea +n care a*ar c3m*urile +n interogare.
Du*ă =eri$icarea corectitu inii interogării *rin a$i/area re&ultatelor +n mo ulIuery +ie5 @ %e*oate +nc9i e /i %al=a interogarea cu numele !umar's ale#orturi .
Interogarea =a a*are ca o'iect i%tinct +n *anoul e na=igare - !a"igation #ane /i =a *utea $iutili&ată ca %ur%ă e ate *entru generarea ra*ortului %olicitat.
>entru reali&area ra*oartelor e,i%tă mai multe mo alită6i e generare. Vom *re$era *entru +nce*ut utili&area a%i%tentului *entru ra*oarte -
8/15/2019 Baze de Date - Lucrari Practice
68/87
Baze de date: Lucrări practice
>e a oua *agină a a%i%tentului *entru ra*oarte %e *oate $ace gru*area c3m*urilor *e anumitecriterii -$ig.5 . >entru ra*ortul curent acea%tă o*era6iune nu e%te nece%ară.
>agina a treia a a%i%tentului *entru ra*oarte *ermite %ortarea atelor *e i=er%e criterii -$ig.
8/15/2019 Baze de Date - Lucrari Practice
69/87
Baze de date: Lucrări practice
Deoarece interogarea NrE%cale>orturi e%te eja %ortată@ acea%tă o*era6iune nu e%te nece%ară.
>agina a *atra a a%i%tentului *entru ra*oarte *ermite aranjarea c3m*urilor +n *agină +n mai
multe mo uri -$ig.
8/15/2019 Baze de Date - Lucrari Practice
70/87
Baze de date: Lucrări practice
>e *agina a cincea a a%i%tentului *entru ra*oarte %e *oate %electa un %til *entru ra*ort -$ig.
8/15/2019 Baze de Date - Lucrari Practice
71/87
8/15/2019 Baze de Date - Lucrari Practice
72/87
Baze de date: Lucrări practice
Dacă orim %ă totali&ăm numărul e =i&ite +n *orturi =om trece +n mo ul&esign +ie5. Vom%electa controlul !r's ale /i in meniul
8/15/2019 Baze de Date - Lucrari Practice
73/87
Baze de date: Lucrări practice
C3m*urile e ti* Auto!umber %unt im*licit create ca/ong %nteger . Ace%t lucru *utem %ă +l=eri$icăm uit3n u?ne cu &esign +ie5 +n %tructura ta'elei +oia,e la *ro*rietatea Field *ize ac3m*ului%&+oia, .
42
Fig. 7 : A ti"area omenzii pentru editarea parametrilor interogării
Fig. 76: &efinirea parametrului pentru interogare
8/15/2019 Baze de Date - Lucrari Practice
74/87
Baze de date: Lucrări practice
Vom +nc9i e +n $inal $erea%tra cu$ .
În continuare@ *entru a $ace $iltrarea =om trece numele *arametrului4are+oia, +nca rat e*arante&e re*te la *ro*rietatea c3m*ului %&+oia, . >entru că nu orim a$i/area ace%tui c3m*@*utem %ă +l a%cun em e'i$3n *ro*rietatea *ho5 a c3m*ului -$ig.
8/15/2019 Baze de Date - Lucrari Practice
75/87
Baze de date: Lucrări practice
>arametrul 4are+oia, a $o%t e$init tem*orar *entru a *utea reali&a ra*ortul. >entru a%ociereara*ortului +oia,4urent cu un 'uton e coman ă in $ormularul +oia,e e,i%tă mai multe =ariante.
Una intre ele *re%u*une +nlocuirea *arametrului in criteriul e $iltrare al interogării+oia,4urent cu enumirea c3m*ului in $ormular ce memorea&ă %&+oia, . >entru acea%ta@ =ome%c9i e interogarea +oia,4urent +n mo ul &esign +ie5 /i +n criteriul e $iltrare =om +nlocuiO4are+oia,P cu OFormsPQO+oia,eP.O%&+oia,P -$ig.1 /i a*oi =om /terge *arametrul 4are+oia, inli%ta e *arametri ai interogării.
45
Fig. ;B: Forma finală a raportului u "oia,ul urent
Fig. ;1: Modifi area interogării +oia,4urent
8/15/2019 Baze de Date - Lucrari Practice
76/87
Baze de date: Lucrări practice
În continuare %e a augă +n $ormularul+oia,e un 'uton /i cu ajutorul a%i%tentului *entru 'utoanee coman ă %e alege in categoria
8/15/2019 Baze de Date - Lucrari Practice
77/87
Baze de date: Lucrări practice
&ABORATOR
Utilita e a#/ilia e ent # oie"ta ea *a)ei %e %ate
Acce%% *une la i%*o&i6ia *rogramatorului o multitu ine e a%i%ten6i /i mo ule utilitare *entrureali&area c3t mai ra*i ă a %tructurii 'a&ei e ate /i a inter$e6ei *entru acea%ta -meniuri@$ormulare@ ra*oarte@ etc. %au *entru %arcinile a mini%trati=e ulterioare. Acce%area unora intreace%te unelte %e *oate $ace in meniul&atabase Tools.
A(i.a ea ela+iilo 0nt e ta*ele
Utilitarul *entru a$i/area /i e itarea legăturilor intre ta'ele a $o%t utili&at +n !a'oratorul 1*entru reali&area %tructurii 'a&ei e ate Acce%% /i *re&entarea %a nu =a $i reluată +n cele ceurmea&ă. El %e regă%e/te +n %ec6iunea*ho5 Hide a meniului &atabase Tools /i *oate $i acce%atcu coman a
8/15/2019 Baze de Date - Lucrari Practice
78/87
Baze de date: Lucrări practice
Do"#menta ea st #"t# ii *a)ei %e %ate
A%i%tentul *entru ocumentarea 'a&ei e ate *ermite o'6inerea unui ra*ort etaliat re$eritorla o'iectele /i %tructura 'a&ei e ate -$ig. # .
5)
Fig. ;2: Dtilitarul pentru afiGarea dependențelor 0ntre obie te
Fig. ;): Asistentul pentru do umentarea bazei de date
8/15/2019 Baze de Date - Lucrari Practice
79/87
Baze de date: Lucrări practice
!a e%c9i erea ace%tuia cu coman a &atabase &o umenter in meniul &atabase Tools%ec6iunea Analyze o*eratorul *oate %*eci$ica ce o'iecte tre'uie inclu%e +n ra*ort *recum /igra ul e etalii al ra*ortului.
Anali)a e (o man+elo *a)ei %e %ate
Acce%% *une la i%*o&i6ia *rogramatorului un a%i%tent care =eri$ică *er$orman6ele 'a&ei e ate/i %ugerea&ă mo i$icări *entru o*timi&area ace%teia -$ig.0 . Ace%ta *oate $i e%c9i% cu coman a Analyze #erforman e in meniul &atabase Tools@ %ec6iunea Analyze. Inter$a6a ace%tui a%i%tent*ermite %electarea o'iectelor ce =or $i anali&ate.
Înainte e orice mo i$icări $acute cu ace%t a%i%tent %e recoman ă reali&area unei co*ii e%iguran6ă a 'a&ei e ate.
Un al oilea a%i%tent e ata acea%ta care anali&ea&ă atele in ta'ele *oate $i acce%at cucoman a Analyze Table in meniul &atabase Tools@ %ec6iunea Analyze -$ig.2 .
51
Fig. ; : Asistentul pentru "erifi area performanțelor bazei de date
Fig. ;-: Asistentul pentru analiza datelor din tabele
8/15/2019 Baze de Date - Lucrari Practice
80/87
Baze de date: Lucrări practice
unc6ionarea %a nu $ace o'iectul ace%tui material.
7e recoman ă reali&area unei co*ii e %iguran6ă a 'a&ei e ate +nainte e utili&area ace%tuia%i%tent.
Reali)a ea #n#i meni# ent # #tili)a ea *a)ei %e %ate : Switchboard Manager <
Acce%% *une la i%*o&i6ia *rogramatorului o mo alitate relati= %im*lă e a reali&a un meniu*entru 'a&a e ate *rin interme iul a%i%tentului *5it hboard Manager . Ace%ta *oate $i *ornitcu coman a *5it hboard Manager in meniul &atabase Tools in %ec6iunea&atabase Tools.
Ace%t a%i%tent =a $i $olo%it +n continuare *entru reali&area meniului %olicitat la %u'*unctul cinci altemei ini6iale.
!a *rima rulare a a%i%tentului ace%ta cere con$irmarea *entru reali&area unei ta'ele +n care =amemora %tructura /i comen&ile meniului /i a unui $ormular *entru a$i/area ace%tuia -$ig.4 .
Du*ă con$irmare@ =a a*are $erea%tra a%i%tentului -$ig.5 /i li%ta e *agini cu meniuri e,i%tente.
5(
Fig. ; : Mesa,ul pentru onfirmarea reerii obie telor pentru meniul prin ipal
Fig. ;6: Asistentul pentru rearea meniului bazei de date
8/15/2019 Baze de Date - Lucrari Practice
81/87
Baze de date: Lucrări practice
Ini6ial e%te e$inită o %ingură *agină meniu -Main *5it hboard care e%te marcată ca *agină e*ornire -&efault .
Vom a ăuga +n ace%t meniu comen&ile *entru e%c9i erea $ormularului *entru e itarea=oiajelor /i *entru a$i/area ra*ortului cu %itua6ia centrali&ată a e%calelor. >entru acea%ta =omac6iona 'utonul 'dit /i %e =a e%c9i e *agina e e itare a comen&ilor meniului -$ig.< . Vom%c9im'a enumirea in Main *5it hboard +n Jurnal de alatorie /i cu 'utonul !e5 =o trece laa ăugarea *rimului element +n meniu.
În meniu *ot $i a ăugate mai multe ti*uri e comen&i:
• No To *5it hboard ? *ermite %c9im'area *aginii acti=e a meniului
• $pen Form in Add Mode ? *ermite e%c9i erea unui $ormular *entru a ăugarea unei noi +nregi%trări
• $pen Form in 'dit Mode ? *ermite e%c9i erea unui $ormular *entru e itarea atelore,i%tente
• $pen rima *o&i6ie in meniu =a $i o coman ă *entru a ăugarea unui nou =oiaj -$ig. . În moa%emănător =or $i a ăugate comen&i *entru e%c9i erea $ormularului+oia,e *entru e itarea
+nregi%trărilor e,i%tente@ *entru a$i/area ra*ortului!umar's ale#orturi /i *entru terminareaa*lica6iei. Dacă +n 'a&a e ate au $o%t a ăugate $ormulare /i ra*oarte %u*limentare@ ace%tea
5#
Fig. ;7: 'ditarea unei pagini din meniu
8/15/2019 Baze de Date - Lucrari Practice
82/87
Baze de date: Lucrări practice
*ot $i trecute +n ace%t meniu %au *e *agini %u*limentare.
>entru a con$igura 'a&a e ate %ă a$i/e&e automat $ormularul *5it hboard la e%c9i erea
ace%teia@ %e acce%ea&ă 'utonul rotun in col6ul %t3nga %u% -Mi rosoft $ffi e 3utton /i %e a*a%ă'utonul A ess $ptions . În categoria 4urrent &atabase +n %ec6iunea Appli ation $ptions +n li%taerulantă &isplay Form %e %electea&ă $ormularul*5it hboard -$ig.1)) .
!a re e%c9i erea 'a&ei e ate $ormularul *5it hboard =a $i a$i/at automat -$ig.1)1 . eniul /i*anoul e na=igare %unt +ncă acce%i'ile.
Cu ajutorul $erea%trei A ess $ptions *ot $i con$igurate numeroa%e %etări legate e $unc6ionarea'a&ei e ate. De e,em*lu@ *rogramatorul *oate a%cun e *anoul e na=igare@ meniul *rinci*al/i *oate %ta'ili un $ormular care %ă $ie e%c9i% la *ornirea Acce%% -a/a cum am con$igurat*ornirea *entru $ormularul *5it hboard . În ace%t mo acce%ul la mo i$icarea %tructurii e%te +m*ie icat.
>entru a *utea re=eni la mo i$icarea %tructurii unei 'a&e e ate Acce%% a%t$el con$igurată@ lae%c9i erea ace%teia tre'uie 6inută /i ta%ta *hift a*ă%ată.
50
Fig. ;;: Adăugarea unui element 0n meniu
Fig. 1BB: *ele tarea formularului de pornire
8/15/2019 Baze de Date - Lucrari Practice
83/87
Baze de date: Lucrări practice
Se"# i)a ea *a)ei %e %ate
Re%tric6ionarea acce%ului la o a*lica6ie reali&ată cu Acce%% %e *oate $ace +n mai multe mo uri.
>rima mo alitate e%te a%cun erea o'iectelor +n *anoul e na=iga6ie. Acea%ta %e *oate $ace acă%e %electea&ă in meniul conte,tual al o'iectului coman a *ho5 #roperties ce =a a$i/a o$erea%tră cu *ro*rietă6i -$ig.1)( +n care %e *oate marca o'iectul *entru a $i a%cun% -*ro*rietateaHidden.
52
Fig. 1B1: Meniul prin ipal al apli ației A ess
Fig. 1B2: Fereastra u proprietăți pentru 's ale *ubform
8/15/2019 Baze de Date - Lucrari Practice
84/87
Baze de date: Lucrări practice
>entru a *utea acce%a ulterior ace%te o'iecte %e $ace clic rea*ta cu mou%e?ul +ntr?o &onă li'erăa *anoului e na=igare *entru a$i/area meniului conte,tual in care %e alege coman a!a"igation $ptions . În $erea%tra care a*are -$ig.1)# @ +n %ec6iunea&isplay $ptions %e *oate *une'i$a *entru a$i/area o'iectelor a%cun%e -*ho5 Hidden $b,e ts /i atunci toate o'iectele ce au
atri'utul Hidden =or re e=eni =i&i'ile +n *anoul e na=igare@ ar =or $i colorate i%tinct *entru ae=i en6ia *ro*rietatea Hidden.
Tot +n $erea%tra cu *ro*rietă6ile *anoului e na=igare *ot $i marcate ca in=i&i'