21904444 baze de date in visual foxpro

Click here to load reader

Post on 27-Nov-2015

18 views

Category:

Documents

6 download

Embed Size (px)

TRANSCRIPT

  • Baze de date n Visual FoxPro 1

    Baze de date n Visual FoxPro

    1. Tabele de date

    FoxPro este un mediu de dezvoltare integrat, care, pe lng

    instrumentele de programare, ofer i un sistem de tabele de date

    relaionale care simplific procesele de gestionare i organizare

    eficient a datelor. Datele sunt organizate tabelar, pe linii (records,

    articole nregistrri) i coloane (fields, cmpuri), mai multe tabele,

    ntre care exist legturi, alctuind o baz de date relaional.

    1.1. Crearea unui tabel de date definirea structurii

    Crearea unui tabel de date implic specificarea numelui

    tabelului (fiier cu extensia implicit DBF) i este iniiat prin

    comanda

    CREATE []

    sau prin alegerea opiunii File, New (n acest caz n caseta New se

    selecteaz Table i New file). Ca urmare pe ecran este deschis

    fereastra constructorului de tabele, n care vor fi precizate

    caracteristicile noului tabel (nume, tip, lungime, etc.) i a indecilor

    folosii la ordonarea datelor din list.

    Fiecare cmp (field, coloan) al unui tabel este caracterizat prin:

    nume (Name); tip (Type) - ir de caractere, numeric, dat calendaristic sau

    moment de timp, logic, memo;

  • 2 Baze de date n Visual FoxPro

    lime (Width) - numrul de caractere pe care l ocup fiecare dat memorat n acel cmp;

    numrul de zecimale (Decimal) - pentru datele de tip numeric;

    fanionul de indexare (Index) - indic dac se stabilete un index pe cmpul respectiv (indecii reprezint o tehnologie cu

    ajutorul creia datele din tabele sunt vzute ntr-o anumit

    ordine, dat de un anumit criteriu numit criteriu de indexare);

    fanionul de valoare nul (NULL) - arat dac n cmpul respectiv poate fi memorat o valoare nul, pentru a se face

    diferenierea ntre un cmp lsat necompletat i unul completat

    cu valoarea 0.

    1.2. Deschiderea (activarea) tabelelor de date

    Pentru iniierea unei sesiuni de lucru cu un tabel de date, acesta

    trebuie s fie activat (deschis). Deschiderea unui tabel de date se poate

    realiza prin meniu (File, Open, Files of type: Table (*.dbf)) sau prin

    comanda USE:

    USE [] [IN ] [TAG ] [ASCENDING DESCENDING] [ALIAS ] [EXCLUSIVE] [NOUPDATE]

  • Baze de date n Visual FoxPro 3

    o - numele tabelului de date care va fi deschis

    (extensia implicit DBF);

    o IN - permite deschiderea unui tabel de date ntr-o alt zon de lucru dect cea curent;

    o TAG - face precizarea unei variante de indexare; o ASCENDING DESCENDING - precizeaz tipul ordonrii

    (implicit ascendent) atunci cnd se folosete indexarea;

    o ALIAS - stabilete un nou alias; o EXCLUSIVE - asigur exclusivitatea folosirii unui tabel de date

    atunci cnd se lucreaz ntr-o reea de calcul;

    o NOUPDATE - protejeaz tabelul de date la scriere (este deschis doar pentru consultare).

    Observaii Derularea unei sesiuni de lucru n FoxPro se realizeaz n

    directorul de lucru implicit. Acest director poate fi schimbat

    prin comanda:

    SET DEFAULT TO unde path definete noul director. Lista tabelelor de date aflate n directorul de lucru poate fi

    obinut prin lansarea comenzii:

    DIR Se poate limita, temporar, accesul la nregistrrile tabelului de

    date prin folosirea comenzii:

    SET FILTER TO

  • 4 Baze de date n Visual FoxPro

    Zone de lucru

    Pentru manipularea simultan a mai multor tabele de date,

    FoxPro folosete zone speciale de memorie numite zone de lucru, n

    care depune informaiile necesare efecturii operaiilor cu tabelele de

    date respective.

    Pentru identificarea unei zone de lucru se folosesc alias-uri

    (literele A, B, C sau cifrele 1, 2, 3, ) care permit identificarea

    tabelelor de date i altfel dect prin numele lor. n afar de aceste

    alias-uri utilizatorul poate defini i propriile sale alias-uri.

    Observaii La pornirea FoxPro-ului zona de lucru implicit va fi zona 1 (cu

    alias 1 sau A). Aceasta se poate schimba prin comanda :

    SELECT

    Comanda este urmat de o cifr, liter sau de un alias definit

    de utilizator. Dac alias-ul este 0 se va selecta prima zon de

    lucru neselectat.

    Pentru a obine informaii despre zonele de lucru folosite i tabelele de date deschise se pot folosi dou funcii:

    USED([]) i DBF([]) Funcia USED returneaz .T. sau .F. dac, n zona de lucru

    curent sau precizat prin alias, este sau nu prelucrat un tabel de

    date. Funcia DBF returneaz numele tabelului de date deschis n

    zona de lucru.

  • Baze de date n Visual FoxPro 5

    Exemple:

    use personal in 1 use nomenclator in B alias nomen select nomen ?dbf() C:\PROGRAM FILES\DEVSTUDIO\VFP\JOB\NOMENCLATOR.DBF ?used(1) .T.

    1.3. Modificarea structurii unui tabel de date

    Modificarea caracteristicilor unui tabel de date poate fi fcut prin

    comanda:

    MODIFY STRUCTURE

    Aceast comand permite modificarea structurii tabelului de date

    activ prin deschiderea unei ferestre de dialog, aceeai ca la crearea

    tabelului de date. Modificrile care pot fi aduse structurii unui tabel de

    date sunt :

    schimbarea numelor, tipurilor i limii cmpurilor deja existente;

    tergeri, inserri de cmpuri, prin plasarea cursorului pe zona de modificare (prima coloan din fereastra de dialog) i

    acionarea butoanelor Delete i Insert.

    Dup efectuarea modificrilor, FoxPro copiaz coninutul tabelului

    de date vechi n tabelul de date nou, cu efectuarea schimbrilor

    respective.

    Caracteristicile unui tabel de date (structura) pot fi vizualizate

    prin comanda:

    DISPLAY STRUCTURE

  • 6 Baze de date n Visual FoxPro

    1.4. nchiderea prelucrrii tabelelor de date

    Finalizarea operaiei de prelucrare a tabelelor se poate face prin

    comenzile:

    USE sau CLOSE ALL Prima comanda nchide prelucrarea tabelului de date din zona

    de lucru curent iar a doua nchide i elibereaz toate zonele de lucru

    (n acest caz zona curent devine zona de lucru 1).

    1.5. Editarea coninutului unui tabel de date

    Prelucrarea nregistrrilor. nregistrarea curent.

    Un grup de nregistrri (domeniu) poate fi:

    All semnific toate nregistrrile tabelei; Next urmtoarele nregistrri; Record - nregistrarea cu numrul de ordine specificat; Rest restul nregistrrilor din poziia curent pn la sfritul

    tabelului.

    Prelucrarea tabelelor de date se realizeaz la nivel de nregistrare. La un moment dat este activ un singur tabel de date i o singur nregistrare din acest tabel. Fiecare nregistrare are un numr de ordine, asociat acesteia la introducerea ei n tabelul de date. Numrul de ordine al nregistrrii curente poate fi modificat prin comenzile:

    GOTO TOP | BOTTOM | RECORD

    (salt la prima, ultima sau nregistrarea precizat din tabel);

  • Baze de date n Visual FoxPro 7

    SKIP []

    (salt nainte sau napoi cu un numr de nregistrri);

    LOCATE [] [FOR ] [WHILE ]

    (cut prima nregistrare care respect condiia ,

    domeniul nregistrrilor fiind dat de clauzele i

    WHILE).

    Poziia curent n tabelul de date poate fi stabilit cu ajutorul

    funciilor:

    EOF() returneaz .T. sau .F. dup cum este detectat sau nu marcajul de sfrit de fiier (aflat dup ultima nregistrare);

    BOF() returneaz .T. sau .F. pentru nceput de fiier; RECNO() furnizeaz numrul de ordine al nregistrrii

    curente.

    Exemple:

    use personal ?recno() 1 goto record 7 ?recno() 7 goto top ?recno() 1 skip 1 ?bof() .T. skip 3 ?recno() 3 go bottom skip ?eof() .T. locate for nume=ALEX

  • 8 Baze de date n Visual FoxPro

    Introducerea nregistrrilor noi ntr-un tabel de date

    Numrul de nregistrri dintr-o baz de date, furnizat de funcia

    RECCOUNT(), poate fi modificat, prin introducerea unor nregistrri

    vide (adugri, inserri):

    APPEND BLANK sau INSERT BLANK [BEFORE]

    Inserarea se execut implicit dup nregistrarea curent, dac nu

    se folosete opiunea BEFORE, iar urmtoarele nregistrri sunt

    translatate spre sfritul tabelului de date i renumerotate.

    tergerea nregistrrilor dintr-un tabel

    Eliminarea unor nregistrri din tabelele de date se efectueaz la

    nivel logic sau fizic prin utilizarea comenzilor DELETE, RECALL, PACK,

    ZAP.

    a) tergerea logic (marcare pentru tergere). Prin marcarea

    pentru tergere nregistrrile din tabelele de date nu sunt

    eliminate definitiv. Pentru tergerea logic este utilizat

    comanda:

    DELETE [] [FOR ] [WHILE ]

    Aceast comand (precum i altele) folosete clauza FOR pentru

    selectarea tuturor nregistrrilor care corespund condiiei logice

    . Clauza WHILE ntrerupe testarea nregistrrilor cnd

    gsete o nregistrare ce nu respect condiia dat, .

    Accesul la nregistrrile marcate pentru tergere este controlat de comanda:

    SET DELETED ON OFF

  • Baze de date n Visual FoxPro