curs 2 sgbd

Upload: alexandru-luca-postescu

Post on 26-Feb-2018

242 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 Curs 2 SGBD

    1/23

    1. Mediul de dezvoltare FoxPro

    Sistemul de gestiune a bazelor de date este componenta unui sistem de baze de

    date, care are rolul de a permite descrierea i manipularea datelor conform unui model

    de date. La acest moment, n lume, cea mai mare parte a SGBD-urilor utilizate sunt

    bazate pe modelul relaional.Visual o!"ro este un SGBD complet relaional, cu limba# propriu, care

    suport$ un nucleu e!tins din limba#ul relaional S%L &Structured %uer' Language(.

    )ai #os sunt prezentate *ersiuni ale lui o!"ro +Visual de-a lungul timpului

    n dez*oltarea sa, i adaptarea la cerinele momentului.

    1.1 Versiuni FoxPro Visual

    CURS

    Componente

    funcionale alesistemului

    2

    Sumar

    Mediul de dezvoltare FoxPro Modurile de lucru n Visual FoxPro Dezvoltarea unei aplicaii Tipuri de aplicaii

    Lucrare aplicativ propus spre rezolvare

  • 7/25/2019 Curs 2 SGBD

    2/23

    urs / 0 SGBD / )ircea )usan

  • 7/25/2019 Curs 2 SGBD

    3/23

    urs / 0 SGBD 1 )ircea )usan

    )ai sunt i alte *ersiuni ultim ap$rute, 22Visual o!"ro 3.455, aceasta

    nef$c6nd parte dintr-un pac7et de aplicaii, fiind de sine st$t$toare.

    Varianta +Visual de o!"ro &V"( studiat$ n acest curs este *ersiunea 8.4

    lansat$ n 933: n cadrul pac7etului de programe Visual Studio 8.4. V" este un

    sistem rapid, modularizat, fle!ibil, care nu necesit$ resurse de calcul foarte mari,

    mbin$ programarea procedural$ &prin limba# propriu( cu cea descripti*$, pe obiecte

    &programare *izual$(.

    ;tilizatorii neinformaticieni au la dispoziie o gam$ larg$ de generatoare

    pentru ecrane, meniuri, rapoarte etc. ;tilizatorii de specialitate &informaticieni( pot

    dez*olta programe n limba# propriu i n S%L, aplicaii &prin componentele

    D

  • 7/25/2019 Curs 2 SGBD

    4/23

    urs / 0 SGBD )ircea )usan

    ?

  • 7/25/2019 Curs 2 SGBD

    5/23

    urs / 0 SGBD O )ircea )usan

    E ;A=L=A@?< de ntreinere 0 permit gestiunea fiierelor, setarea unor

    parametri de lucru, acti*it$i desf$urate de administratorul bazei de date.

    E D

  • 7/25/2019 Curs 2 SGBD

    6/23

    urs / 0 SGBD 8 )ircea )usan

    ig. /

    9 Ebara de titlupe care este scris +)icrosoft Visual o!"ro &n st6nga(

    i butoanele pentru minimizareHma!imizare i nc7idere fereastr$ &dreapta(.

    / Ebara meniului sistemcare conine un meniu orizontal cu opiunile de

    lucru &modul de lucru meniu sistem(Cile,

  • 7/25/2019 Curs 2 SGBD

    7/23

    urs / 0 SGBD R )ircea )usan

    &creare unui *ideoformat(, -eort&creare raport(, /a(el&creare etic7et$(, Prora#

    &creare program surs$(, ,lass &creare clas$ de obiecte(, )ext ile&creare fiier te!t

    @S==(, Menu&creare meniu utilizator(. n partea dreapt$ e!ist$ dou$ butoane, pentru

    creare fiier nou &Ne%( i pentru utilizarea asistentului &izard(.

    en&desc7ide( 0apare o fereastr$ din care alegem tipul fiierului,

    directorul i numele, cu opiunile >eQ, pen, ancel.

    ,lose0 nc7ide fiierul desc7is.

    3ave43ave As0 sal*are, respecti* sal*are cu redenumire.

    I#ort45xort0 permite importul respecti* e!portul de date cu

    alte sisteme de gestiune a bazelor de date.

    Print Previe%0 *izualizare nainte de ieire la imprimant$.

    Print0 ieire la imprimant$.

    3end0 trimite prin e-mail.

    5xit0 ieire din program.

    ig. 1

    - Edit0 ofer$ facilit$i de lucru obinuite ntr-o fereastr$ de editare de te!te &fig. (C

    ndo4-edo0 renu$ la ultima modificare n te!t H repet$ ultima

    aciune n te!t.

    ,ut4,o+4Paste0 t$iere, memorare n memoria tampon, copiere la

    o nou$ locaie n fiier a unui te!t.

    ,lear0 tergere te!t.

    3elect all0 selecteaz$ ntreg te!tul.

    Find4Find aain4-elace0 caut$Hcaut$ n continuare a unui ir de

    caractereHnlocuiete irul g$sit cu un altul. $utarea se poate facecu acti*areaHdezacti*area opiunii de difereniere ntre litere

    mariHlitere mici.

    ig.

    - Vie%0 permite setarea unor parametri pri*ind bara curent$ de instrumente de lucru.

    - For#at0 permite setarea unor parametri pri*ind litele &ont(, spaierea etc.

    - )ools0 permite apelul interfeelor i instrumentelor V".

    - Prora#0 permite lansarea sau oprirea unuia din paii ce se parcurg la e!ecuiaunui program V" &fig. O(. ig. O

  • 7/25/2019 Curs 2 SGBD

    8/23

    urs / 0 SGBD : )ircea )usan

    'o0 lanseaz$ n e!ecuie un program.

    ,ancel0 anuleaz$ e!ecuia programului.

    -esu#e0 reia e!ecuia programului.

    3usend0 suspend$ e!ecuia programului.

    ,o#ile0 compileaz$ programul.

    indo%0 permite setarea parametrilor ferestrei curente de lucru &inclusi* fereastra

    de comand$(.

    7el0 apeleaz$ instrumentele pentru autodocumentare.

    Datele pot fi introduse n dou$ moduri, utiliz6nd fie tabele independente

    &ileH>eQHAable( care nu aparin unei baze de date, fie cre6nd o baz$ de date

    &ileH>eQHDatabase(, n care se pot introduce tabele e!istente sau se pot crea noi

    tabele.

    ?elaiile ntre tabele se pot stabili n ambele cazuri.

    ntre datele unor tabeleC 9T9, 9Tn, mTn.

    Desc7iderea unui tabel indi*idual, cu sec*ena FileHenH)a(leHnume_tabelnu

    duce automat la afiarea coninutului acestuia n spaiul de lucru.

    "entru aceasta trebuie acti*at icon-ul care corespunde opiunii 'ata 3ession, care

    *a afia ntr-o fereastr$ o serie de opiuni legate de tabel &fig. 8(C

    Proerties0 pentru modificareHconsultare structur$ tabel &nume,tip, poziie c6mp(.

    8ro%se0 pentru afiare dateHnume c6mpuri.

    en0 pentru desc7idere altor tabele.

    ,lose0 nc7idere fiier selectat.

    -elation0 stabilirea relaiilor ntre tabele independente, desc7ise n sesiunea curent$.

    ig. 8 ig.R

  • 7/25/2019 Curs 2 SGBD

    9/23

    urs / 0 SGBD 3 )ircea )usan

    La alegerea opiunii 8ro%se &r$sfoire(, fie din meniul Vie% fie din fereastra 'ata

    3ession, *a apare meniul )a(len bara de meniuri cu urm$toarele subopiuni &fig. R(C

    9o to -ecord0 reg$sirea unei nregistr$ri dup$ diferii parametriC num$r nregistrare,

    deplasare la nceputulHsf6ritul tabelului, localizare nregistrare dup$ *aloarea unui

    c6mp etc.

    Aend Ne% -ecord0 ad$garea unei noi nregistr$ri.

    Aend -ecords0 ad$ugarea de noi nregistr$ri dintr-un alt fiier

    'elete -ecords0 marcare pentru tergere &la ni*el logic(.

    -ecall -ecords0 anularea marc$rii pentru tergere.

    -e#ove 'eleted -ecords0 tergerea definiti*$ din tabel a nregistr$rilor marcate &la

    ni*el fizic(.

    -elace Field0 actualizare c6mp nregistrare &sc7imbarea *alorii c6mpului(.

    3ize Field0 modificarea l$imii de afiare a c6mpului n broQser.

    Move Field0 sc7imbarea poziiei de afiare a c6mpului n broQser.

    n cazul n care se construiete o aplicaie n care *or fi folosite o gam$ larg$ de

    obiecte din V", &baze de date, tabele independente, cereri, *ideoformate, rapoarte,

    etic7ete, programe surs$, clase de obiecte, meniuri utilizator, iconu-uri etc.( se *a

    construi un proiect &"ro#ect(, n seciunile c$ruia se pot declara aceste obiecte &fig.

    :(. ntreg proiectul se *a finaliza ntr-un program e!ecutabil care *a conine toate

    obiectele declarate ca fiind utilizate n aplicaie. "entru a realiza proiectul n form$

    e!ecutabil$, n prealabil se folosete opiunea 8uild, pentru a realiza compilarea i

    lin-editarea.

    ig. :

  • 7/25/2019 Curs 2 SGBD

    10/23

    urs / 0 SGBD 94 )ircea )usan

    ".2 Prora#area $n FoxPro

    n Visual o!"ro se poate scrie cod n trei locuriC fereastra de comenzi,

    procedurile de e*eniment, sau programele distincte.

    a: ereastra de co#enzi

    n fereastra de comenzi putem scrie cod fie pentru a lansa programe de

    asisten$, fie pentru setarea n sesiunea respecti*$ a mediului, fie pentru a obine

    sec*ene de instruciuni pe care dorim s$ le test$m. @cti*itatea n acest mod de lucru

    se desf$oar$ n fereastra de comand$ din ecranul principal al V" &,o##and(. @ici

    se g$sete poziionat cursorul i utilizatorul poate lucra n stil interpretor sau

    compilator.

    (: rora#e distincte

    =ntrarea n modul programat structurat se poate face din fereastra de comand$C

    )D=F ))@>D UU se intr$ n editorul de te!te al aplicaiei

    Sau folosindu-se mediul interacti*e de intrare.

    ;n program n V" nu are o structur$, ci se prezint$ ca un te!t memorat pe

    unul sau mai multe fiiere cu e!tensia .r. rice fiier de acest fel poate fi compilat

    independent i poate fi e!ecutat. ompilarea se poate face prin meniul "rogram, iar

    e!ecuia prin comanda do numeNfisierNprogram sau prin butonul . ormele

    compilate ale programelor au e!tensia .xi compilarea este automat$ in6nd seama

    de data ultimei modific$ri. Ae!tul programului surs$ nu e casesensiti*e. Scrierea se

    face c6te o linie pe r6nd, n cazul n care o linie de te!t nu e suficient$ se utilizeaz$

    caracterul W.

    omentariile se folosesc pentru a indica nceputul unei linii nee!ecutabile n

    program. Sunt admise pentru comentariiC

    - caracterul X plasat la nceputul liniei *a ntregul r6ndW

    - caracterele UU pentru comentarii pe acelai r6nd, cu cel puin un spaiu de

    demarcare fa$ de te!tul propriu-zisW

    - cu*6ntul rezer*at >A

  • 7/25/2019 Curs 2 SGBD

    11/23

    urs / 0 SGBD 99 )ircea )usan

    ;n program are o parte de setare a mediului la momentul e!ecuiei.

    peste 944 de astfel de instruciuni de forma SET optiune ON|OFFsau SET optiune TO

    expresie.

    ExempluC S

  • 7/25/2019 Curs 2 SGBD

    12/23

    urs / 0 SGBD 9/ )ircea )usan

    - e*ideniere reprezint$ perec7ea de culori utilizat$ pentru afia#ul *ideo-

    in*ersW

    - c7enar specific$ culoarea utilizat$ pentru ferestre, dialoguri i zone

    e*ideniate.

    - perec7ea de coduri de culori este de forma !!H!!, unde primul cod este

    culoarea pentru caracterele @S==, iar al doilea pentru fundal.

    - codurile de culori sunt C > &negru(, K &negru intens(, B &albastru(, G

    &*erde(, Bg &c'an(, ? &rou(, Br &magenta(, Gr &maro(, I &alb(, etc.

    S

  • 7/25/2019 Curs 2 SGBD

    13/23

    urs / 0 SGBD 91 )ircea )usan

    &zHlHa(, german &z.l.a(, italian &z-l-a(, #apan &aHlHz(, usa &l-z-a(, md' &lHzHa(, dm'

    &zHlHa(, 'md &aHlHz(. =mplicit este cel american.

    S

  • 7/25/2019 Curs 2 SGBD

    14/23

    urs / 0 SGBD 9 )ircea )usan

    SA=> nr A irNcaractere

    - permite modificarea operaiilor ataate tastelor funcionale.

    SAS=AF >H

    - determin$ afiarea n mod *ideo-in*ersW implicit este .

    S A nr

    - se permite modificarea marginii din st6nga a te!telor imprimate.

    - implicit are *aloarea 4W

    - nu se afecteaz$ rapoartele create cu generatorul de rapoarte.

    S

  • 7/25/2019 Curs 2 SGBD

    15/23

    urs / 0 SGBD 9O )ircea )usan

    A e!prNnumeric$

    - permite controlul senziti*it$ii mouse-ului.

    - e!prNnumeric$ reprezint$ senziti*itatea ce poate lua *alori ntre 9 &cea mai

    #oas$ senziti*itate( i 94 &cea mai mare senziti*itate(.

    S]

    - n cazul e!ecut$rii f$r$ succes a unei comenzi =>D sau S

  • 7/25/2019 Curs 2 SGBD

    16/23

    urs / 0 SGBD 98 )ircea )usan

    n o!"ro o aplicaie comport$ o serie de elemente componente cum suntC

    - una sau mai multe baze de date

    - unul sau mai multe programe, din care unul este principal

    - obiecte de interfa$ cum ar fiC meniuri, formulare cu obiecte, etc.

    Aoate componentele se prezint$ ca fiiere de diferite tipuri, astfel nc6t o

    aplicaie este o mulime de fiiere. "entru o aplicaie este necesar s$ se defineasc$ un

    director cel puin &o structur$ de directoare(, iar fiierele trebuie organizate ca proiect,

    ntr-un fiier de proiect cu e!tensia .&x. Directorul numit director cadru &rameQor

    Director'( se construiete cu a#utorul sistemului de operare &de e!. IindoQs

    @plicaiile sub form$ de proiect pot fi dez*oltate prin intermediul unui

    program special oferit de mediu i numit "ro#ect )anager. @cest fiier, lansat n

    e!ecuie, gestioneaz$ fiierul .&xi organizeaz$ fiierele componente ale proiectului

    n structuri arborescente. omponentele sunt mp$rite n categorii, fiecare categorie

    a*6nd un arbore de structur$. ategoriile suntC

    Data

    - Databases &baze de date(

    - Aables &tabele(

    - VieQs &vizualizri(

    - ursors &tabele cursor alias(

    - ree Aables &tabele libere(

    - %ueries &cereri intero!ri(

    Documents

    - orm &ecrane formulare(

    - ?eports &rapoarte(

    - Labels &etic"ete(

    lass Libraries &librrii de clase(

    ode

    - "rograms &pro!rame(

    - @"= Libraries &biblioteci #$%(

    - @pplications &aplica&ii(

    t7ers

  • 7/25/2019 Curs 2 SGBD

    17/23

    urs / 0 SGBD 9R )ircea )usan

    - )enus &meniuri(

    - Ae!t iles &fiiere text(

    )ai #os sunt prezentate c6te*a dintre tipurile de fiiere folosite de Visual

    o!"ro pentru dez*oltarea de aplicaiiC

  • 7/25/2019 Curs 2 SGBD

    18/23

    urs / 0 SGBD 9: )ircea )usan

  • 7/25/2019 Curs 2 SGBD

    19/23

    urs / 0 SGBD 93 )ircea )usan

  • 7/25/2019 Curs 2 SGBD

    20/23

    urs / 0 SGBD /4 )ircea )usan

    b( Alica!ii cu control rin eveni#ent0 n aceste caz aplicaia are un comportament

    aleatoriu care rezult$ din modul n care ea r$spunde la e*enimentele create de

    utilizator sau de sistemul nsui. n aceast$ aplicaie interfaa este una grafic$

    constituit$ din obiecte *izuale capabile s$ r$spund$ la e*enimente prin proceduri de

    tratare. n cadrul acestor aplicaii programatorul definete e*enimentele semnificati*e,

    i pentru acestea ataeaz$ la obiectele de interfa$ procedurile de tratare. rice alt

    e*eniment are o tratare implicit$ prin sistemul de e!ecuie. Din punct de *edere

    structural, o aplicaie de acest gen se concepe ca o mulime de obiecte *izuale

    &meniuri, formulare cu controale, etc.( i trebuie s$ aib$ un program principal care s$

    iniieze e!ecuia i s$ menin$ bucla de mesa#e a aplicaiei.

    * cod ptr. programul main.prg

    do MainMenu.mpr && se afiseaza meniul

    * alt cod de initializare

    read events && bucla interna pentru evenimente

    * cod de incheiere (curatire)

    Dac$ aplicaia nu are meniu, ea poate fi condus$ prin casete de dialog. Arebuie s$

    e!iste o caset$ principal$ care s$ fie lansat$ n programul principal n formaC do

    MainForm.frm.

  • 7/25/2019 Curs 2 SGBD

    21/23

    urs / 0 SGBD /9 )ircea )usan

    Pasul 2.

    Vom construi un formular cu numele Aenda.scx.

    "entru introducerea obiectului rid*om accesa urm$toareleC

    i

  • 7/25/2019 Curs 2 SGBD

    22/23

    urs / 0 SGBD // )ircea )usan

    Butonul AdauareC

    Butonul 3terereC

    select agenda

    delete next 1

    thisform.grid1.setfocus()

    Butonul /istareC

    report form agenda preview

    Butonul IesireCthisform.release()

    uit

    Pasul ".

    Se *a construi raportul cu numele Aenda.rx folosindu-se modul interactic prin

    folosirea programelor de asisten$ special create pentru dez*oltarea rapoartelor, File

    Ne% -eort izard .

    Pasul ;.

    Se *a construi o aplicaie &un proiect(, a*6nd numele Aenda.&x. Structura &7arta(

    acesteia este descris$ mai #os.

  • 7/25/2019 Curs 2 SGBD

    23/23

    urs / 0 SGBD /1 )ircea )usan

    Dup$ cum se *ede, e!ist$ i un program Aenda.r, care *a fi setat ca

    principal n rulare. oninutul acestuia esteC

    do form agenda

    read events

    n cele din urm$ se *a construi o aplicaie e!ecutabil$, Aenda.exe,

    , ce *a putea fi lansat$ n e!ecuie nmod independent de desc7iderea prealabil$ a aplicaiei Visual o!"ro.