Sunteți pe pagina 1din 11

Noţiuni introductive SGBD Fox Pro.

Sunt prezentate în continuare câteva dintre comenzile FoxPro care


permit crearea, actualizarea (adăugarea, modificarea ştergerea) şi
consultarea unei baze de date simple, formată dintr-un singur tabel.

Toate comenzile descrise în continuare sunt introduse în fereastra de


comenzi (Command). Dacă această fereastră nu este vizibilă pe ecranul
principal al aplicaţiei se apasă combinaţia de taste CTRL+F2 sau se
selectează din meniul Window opţiunea Command Window.

După scrierea comenzilor în Command window, acestea sunt validate


prin apăsasrea tastei Enter.

Comenzile corect scrise se vor afişa cu culoarea albastră.


Fereastra de comenzi

Ecranul principal din FoxPro

Numele câmpurilor va fi o succesiune de caractere, neîntrerupte de


caracterul spaţiu (Ex: produs, nume, prenume, datan, sal, cant, starecivila,
etc).

Tipul precizează natura datelor care se vor găsi în acel câmp (numerice,
şiruri de caractere, date de tip logic, dată calendaristică ş.a.)
Lungimea maximă este o caracteristică a câmpurilor care se referă la
numărul maxim de caractere care pot fi introduse în câmpul respectiv. În
momentul în care s-a ajuns la această lungime maximă se realizează trecerea
automată la următorul câmp. Câmpurile de tipul logic au lungimea maximă
implicită 1 iar câmpurile de tipul dată calendaristică au implicit lungimea
maximă 8 (două caractere pentru zi, doua caractere pentru lună,doua
caractere pentru an – ultimele două cifre ale anului- precum şi două
caractere pentru separarea zilelor de lună şi a lunii de an. Ex: 23/11/19 ).

Se precizeazǎ astfel structura unui articol. Definirea structurii articolului


constă în descrierea pentru fiecare câmp în parte a caracteristicilor sale
(nume, tip, lungime maximă).

La închiderea ferestrei se poate opta pentru introducerea înregistrărilor în


acel moment sau pentru introducerea ulterioară a acestora prin intermediul
comenzii append . În acest ultim caz se salvează numai structura articolului.
Toate înregistrǎrile din tabelul respectiv vor respecta aceastǎ structurǎ a
articolului.

5.3.2 Crearea tabelelor, definirea structurii articolului, tipuri de date

Comanda Create

Comanda Create este utilizată pentru crearea unei baze de date.

Determină apariţia unei ferestre în care utilizatorul precizează numele noului


tabel precum şi caracteristicile fiecǎrui câmp (nume, tip, lungime maximǎ).

În privinţa tipului datele pot fi:

Tipul şir de caractere (character) precizează că valorile din acel câmp


sunt de tipul alfanumeric. Valorile introduse în aceste câmpuri vor fi
interpretate ca succesiuni de simboluri din codul ASCII. Introducerea
valorii 1256 nu are în acest caz semnificaţia unui număr ci este pur şi
simplu o înşiruire de caractere:1,2,5 şi 6.

Tipul numeric (numeric,integer,float).Datele vor fi numere. În acest


caz se poate preciza şi numărul de zecimale. Se realizează validarea
automată a datelor introduse în câmpuri de acest tip (nu se poate
introduce într-un câmp declarat de tipul numeric valoarea ”Popescu”)

Tipul logic (logical). În câmpurile declarate de tip logic pot fi


introduse numai valorile logice de adevărat (TRUE) sau fals
(FALSE). În FoxPro valoarea logică de adevăr se reprezintă prin litera
.T. iar valoarea logică de fals se reprezintă prin litera .F. (ambele
cuprinse între două puncte). Se realizează validarea automată (se
acceptă numai T sau F), iar lungimea maximă pentru valorile din
aceste câmpuri este implicit 1.

Tipul dată calendaristică (date). Valorile introduse se referă la o astfel


de dată. În funcţie de setări se va utiliza un anumit format de dată
(ZZ/LL/AA, ZZ-LL-AA, LL/ZZ/AA ş.a.). Şi în acest caz se realizează
validarea automată a datelor introduse (pentru lună se acceptă numai
valori întregi cuprinse în intervalul 1-12, pentru zi se pot introduce
numai valori cuprinse în intervalul 1-31). Se ţine cont şi de numărul
zilelor din luna respectivă (data 30/02/2019 nu este validată).În mod
similar se utilizează şi tipul dată calendaristică şi oră . (DateTime)

După introducerea comenzii CREATE (în Command window) se cere un


nume pentru tabelul care urmează a fi creat. Tabelul a fost denumit
PRODUSE. Devine vizibil apoi ecranul în care este precizată structura
articolului.
După precizarea structurii articolului se selectează butonul OK. Utilizatorul
este întrebat daca doreşte să introducă primele înregistrări în baza de date.
Dacă se răspunde afirmativ apare un ecran în care sunt introduse primele
înregistrări în baza de date.

5.3.3 Actualizări (adăugare, ştergere, modificare)

Comenzi şi clauze utilizate în consultarea şi actualizarea bazelor de date.

Comanda List

Comanda list permite vizualizarea înregistrǎrilor din baza de date.Acestea


vor fi afişate în fereastra principală a aplicaţiei, simulându-se modul de lucru
text. (ecranul este împărţit în linii şi coloane, putnd fi afişate caractere din
codul ASCII). Dacă există un număr mare de înregistrări în baza de date vor
rămâne vizibile pe ecran numai ultimele înregistrări. Pentru a evita această
situaţie listarea se poate redirecţiona spre un fisier text sau spre imprimantă,
prin intermediul clauzelor to file sau to printer. (Ex: list to file
<nume_fişier> sau list to printer)

Se pot vizualiza, prin utilizarea clauzei for, numai acele întegistrǎri care
corespund unui anumit criteriu (list for <nume_câmp> <criteriu>),Ex:

list for sal<1500

list for nume=”Ion”

list for starecivila=.T.


Listarea poate fi filtrată după mai multe criterii prin utilizarea şi-ului logic
(AND) respectiv sau logic (OR)
Exemple:
list for denprod=”calculator” and pretv < 2000

list for denprodus =”imprimanta” or pretv <500


Se pot afişa numai anumite câmpuri din baza de date prin utilizarea clauzei
fields . Sintaxa în acest caz este:
list fields <nume_câmp1>, <nume_câmp2>,…,<nume_câmp_n>

Prin folosirea acestei clauze se controlează de asemenea şi ordinea în care


sunt afişate câmpurile.

Înregistrările marcate pentru ştergere logică vor fi evidenţiate cu caracterul


„*”

Pentru formatarea câmpurilor declarate de tipul şir de caractere se pot folosi


următoarele funcţii:
Funcţia upper , având sintaxa upper(<nume_câmp>).Funcţia primeşte
ca parametru un şir de caractere şi returnează acel şir scris cu litere
mari.

Funcţia lower, având sintaxa lower(<nume_câmp>).Funcţia primeşte


ca parametru un şir de caractere şi returnează acel şir scris cu litere
mici.

Funcţia proper, având sintaxa proper(<nume_câmp>). Funcţia


primeşte ca parametru un şir de caractere şi returnează acel şir
formatat astfel: primul caracter de la începutul fiecărui cuvănt este
transformat în literă mare, restul caracterelor fiind transformate în
litere mici .

Comanda Browse

Se afişază înregistrǎrile din baza de date sub forma unui tabel

Permite marcarea înregistrǎrilor pentru ştergere logicǎ

Se poate utiliza împreunǎ cu clauzele for,fields semnificaţia acestora


fiind cea descrisă anterior.

Modul de afişare al înregistrǎrilor se controlează prin intermediul


clauzelor font si style
Clauza font precizează tipul de caractere utilizat ( Times New Roman, Arial,
etc) şi dimensiunea acestora. (Ex: browse fields nume,sal font "arial",20 )
Clauza style este urmată de unul sau mai mulţi parametri (b,u sau i), având
următoarea semnificaţie:

B – înregistrările for fi afişate cu caractere îngroşate (bold)

U - subliniere (underline)

I – scrierea se realizează cu caractere înclinate (italic)


Exemplu: browse fields nume,sal style"bui" sau browse fields nume
style"bi"

Cele două clauze se pot utiliza simultan.

Ex: browse fields nume,sal font "arial",20 style"bui"

Comanda permite şi modificarea înregistrǎrilor, pentu aceasta utilizându-se


însa mai des comanda edit.

Comanda se mai poate utiliza împreună cu clauza freeze. Această clauză


specifică faptul că putem modifica numai valorile dintr-un anumit câmp,
restul câmpurilor fiind afişate fără posibilitatea modificării. Sintaxa este în
acest caz: browse freeze <nume_camp>

Pentru a marca una sau mai multe înregistrări pentru ştergere logică prin
intermediul comenzii browse se selectează (cu mouse-ul) celulele din stânga
respectivelor înregistrări. Pentru anularea marcării pentru ştergere logică se
vor deselecta respectivele celule.
Acest mod de a marca înregistrări pentru ştergere logică este eficient numai
în cazul în care se marchează un număr mic de înregistrări care nu au o
caracteristică comună. Ĭn caz contrar se foloseşte comanda delete pentru
marcare şi comanda recall pentru demarcare.
Actualizarea bazei de date. Comenzi legate de adǎugarea şi modificarea
înregistrǎrilor. Ştergerea logicǎ şi ştergerea fizicǎ a înregistrǎrilor.

Comanda Append

Comanda permite adǎugarea de înregistrǎri la sfârşitul bazei de date.

Comanda determină aparitia unei ferestre care conţine denumirile


câmpurilor. În acest ecran (fereastră) se introduc înregistrările care se
adaugă în baza de date.

Înregistrǎrile vor respecte structura articolului(caracteristicile fiecǎrui


câmp)
Comanda Delete

Comanda realizează marcarea pentru ştergere logicǎ a înregistrǎrilor.

Înregistrările nu sunt şterse fizic din baza de date, ele putând fi


recuperate ulterior prin comanda recall (sau prin comanda browse,
prin comanda edit).

În urma ştergerii logice a uneia sau mai multor înregistrări,


înregistrările rămase în baza de date nu sunt renumerotate.

Se poate utiliza împreunǎ cu clauzele for şi all sintaxa fiind


delete for <nume_câmp> <criteriu>

În această situaţie vor fi marcate pentru ştergere logică numai acele


înregistrări care corespund criteriului.

Ex: delete for denprodus=”imprimanta”

Urmarea execuţiei acestei comenzi este ştergerea logică din baza de date a
tuturor înregistrărilor care au în câmpul denprodus valoarea (textul în acest
caz) –”imprimanta”

Utilizarea clauzei all determinǎ marcarea pentru ştergere logicǎ a tuturor


înregistrǎrilor din baza de date:
delete all

Înregistrările care sunt marcate pentru ştergere logică sunt evidenţiate prin
prezenţa caracterului „*” în cazul vizualizării conţinutului tabelului prin
comanda list, sau printr-un marcaj negru în cazul vizualizării înregistrărilor
prin comanda browse sau comanda edit .

Comanda Recall
Comanda permite demarcarea înregistrǎrilor marcate pentru ştergere
logicǎ

Se poate utiliza împreunǎ cu clauzele for şi all

Sintaxa este: recall for <nume_câmp> <criteriu>. În această situaţie


vor fi demarcate acele înregistrări care corespund criteriului.

Ex: recall for denprodus=”imprimanta”

Utilizarea clauzer all determină demarcarea de la ştergere logică a


tuturor înregistrărilor marcate pentru ştergere logicǎ (cu delete sau
browse)

Ex: recall all

Comanda Pack

Comanda realizează ştergerea definitivă (fizică) a înregistrărilor


marcate pentru ştergere logică.

Înregistrările rămase în baza de date se renumerotează.

Practic se creează o nouă bază de date care conţine numai


înregistrările care nu sunt marcate pentru ştergere logică. SGBD
copiază toate înregistrările marcate pentru ştergere logica intr-un fişier
temporar apoi este şters fişierul original, acţiune urmată de
redenumirea fişierului temporar cu numele fişierului original. Din
acest motiv nu este posibilă recuperarea înregistrărilor şterse.

Această acţiune de ştergere logică nu este realizată în următoarele situaţii:

Nu există loc pe hard disk pentru crearea fişierului temporar

In timpul procesului utilizatorul apasă tasta ESC.


Comanda Zap

Comanda realizează ştergerea fizică, definitivă, a tuturor


înregistrărilor din baza de date.

Se păstrează numai structura articolelor (caracteristicile fiecărui


câmp)

Comanda este echivalentă cu succesiunea de comenzi :

Delete all (sunt marcate pentru ştergere logică toate


înregistrările din baza de date)
Pack (sunt şterse fizic din baza de date înregistrările marcate
pentru ştergere logică)

Comanda Edit

Se afişazǎ înregistrǎrile din baza de date sub forma unui tabel

Permite editarea şi modificarea înregistrǎrilor din baza de date, precum


şi marcarea acestora pentru ştergere logică.

Se poate utiliza împreunǎ cu clauzele for, fields semnificaţia acestora


fiind cea descrisă anterior. ( comanda list)

Modul de afişare al înregistrǎrilor se controlează prin intermediul


clauzelor font si style (vezi comanda browse)

S-ar putea să vă placă și