Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » scoala » informatica » baze de date
Deschiderea si inchiderea bazelor de date si a tabelelor - PoxPro

Deschiderea si inchiderea bazelor de date si a tabelelor - PoxPro


Deschiderea si inchiderea bazelor de date si a tabelelor - PoxPro

1 Deschiderea si inchiderea bazelor de date

Dupa creare bazele de date si tabelele, pentru a putea fi exploatate trebuie deschise.

Comanda folosita pentru deschiderea bazelor de date este OPEN DATABASE care are formatul general:

OPEN DATABASE [<nume_fisier> | ?]

[EXCLUSIVE | SHARED]

[NOUPDATE]



[VALIDATE]

Comanda deschide baza de date cu numele specificat. Daca se foloseste ? se deschide fereastra Open pentru a selecta o baza de date.

Clauza Exclusive este disponibila in retea admitand accesul la baza doar a utilizatorului care a deschis-o.

Clauza Shared asigura exploatarea partajata a bazei de date.

Clauza Update protejeaza baza de date deschisa impotriva modificarilor, ea putand fi doar consultata (citita).

Clauza Validate verifica daca referintele din baza deschisa sunt valide.

Exemplul 6: Sa se deschida bazele de date facultate.dbc si universitate.dbc:

OPEN DATABASE facultate

OPEN DATABASE universitate

Nota : ramane activa ultima baza de date deschisa

Inchiderea bazelor de date se realizeaza prin comanda:

CLOSE DATABASE [ALL]

Implicit comanda inchide baza de date activa. Daca se foloseste clauza All sunt inchise toate bazele de date.

Exemplul 7: Sa se inchida baza de date universitate.dbc:

CLOSE DATABASE

2 Deschiderea si inchiderea tabelelor

Intr-o sesiune de lucru pot fi deschise simultan maximum 32.767 de tabele. Pentru fiecare sistemul aloca o zona de memorie numita zona de lucru (work area) si in care se pastreaza informatiile de identificare a fiecarei tabele (nume, structura, continut). La un moment dat este activa o singura zona de lucru numita "zona curenta". Identificarea zonelor de lucru se face prin cifre de la 1 la 32.767. Din motive de compatibilitate pentru primele 10 zone de lucru pot fi folosite si literele A-J.

La deschiderea sesiunii de lucru VFP, zona 1 sau A este cea curenta. Selectarea unei alte zone de lucru se realizeaza cu comanda:

SELECT <expr_N>|<expr_C>

in care:<expr_N> - specifica numarul zonei selectate

<expr_C> - specifica aliasul tabelei ce se activeaza.

Pentru a afla care este zona de lucru curenta se foloseste functia:

SELECT([0|1])

in care : 0 - este implicit si returneaza numarul zonei de lucru curente

1 - returneaza numarul ultimei zone de lucru nefolosite

Exemplul 8:

? SELECT()

&& zona de lucru curenta este zona 1

SELECT  7 && selecteaza zona 7

SELECT SELECT() +1 && selecteaza prima zona de lucru dupa cea curenta

? SELECT()

8

? SELECT(1) && selecteaza ultima zona nefolosita

32767

Deschiderea tabelelor se realizeaza folosind comanda USE cu urmatorul format:

USE[[<nume_baza_date>.]<nume_tabel>|SQL<nume_vedere>|?][IN <nr_zona_de_lucru> | <exp_c>][ONLINE][ADMIN][AGAIN][NOREQUERY[<nr_sesine_de_date>]][NODATA] [INDEX <lista_fisier_index> | ?[ORDER [<nr_index> | IDX<nume fisier­>| [TAG] <eticheta> [OF CDX<nume_fisier>][ASCENDING|DESCENDING]]]][ALIAS <alias>][EXCLUSIVE][SHARED]

[NOUPDATE]

Comanda folosita fara parametrii inchide tabela deschisa in zona de lucru curenta. Prezentam in continuare doar principalele clauze din format.

- <nume_tabel>  indica numele tabelei ce va fi deschisa;

Clauza IN <nr_zona_de_lucru> | <exp_c> - determina deschiderea tabelei intr-o alta zona decat cea curenta, fara a activa fisierul;

Clauza AGAIN permite deschiderea in zone diferite a aceluiasi tabel; in absenta clauzei, la incercarea de deschidere a unei tabele deja deschisa, sistemul afiseaza mesajul "file is in use" .

Clauza ALIAS <nume_alias> permite specificarea unui nume suplimentar de identificare a tabelei ce se deschide. In absenta clauzei sistemul atribuie automat un nume alias astfel:

-numele tabelei fara extensie, pentru tabelele deschise o singura data;

-o litera A-J, pentru tabelele deschise cu AGAIN in primele zece zone de lucru, sau W11-W32767, pentru tabelele deschise in celelalte zone.

Comenzii USE ii sunt asociate si functiile USED(), DBF() si ALIAS().

Functia USED(<expr_N|<expr_C>)returneaza valoarea de adevar(.T.)sau neadevar (.F.) dupa cum zona specificata contine sau nu o tabela.

Functia DBF (<expr_N|<expr_C>) returneaza numele tabelei deschise in zona specificata; daca in zona specificata nu este deschisa o tabela, functia returneaza sirul vid.

Functia ALIAS() returneaza aliasul tabelei dintr-o zona specificata.

In cazul tuturor functiilor de mai sus, daca nu este specificata zona, se considera zona de lucru curenta. 

Exemplul 9

USE student  && deschide in zona curenta tabela student.dbf

USE student IN 2 AGAIN && deschide din nou tabela student

in zona 2

SELECT 3

? USED()  && verifica daca zona este ocupata .F.

USE student;  && deschide in zona 3 tabela

AGAIN ALIAS feaa  && cu alias-ul feaa

? alas()  && returneaza alias-ul

FEAA

? DBF()

USE  && inchide tabela student.dbf

Inchiderea tabelelor se realizeaza cu una din urmatoarele comenzi:

USE && inchide tabela curenta

CLOSE BATABASE && inchide baza de date

CLOSE ALL && inchide toate fisierele

4.4.4 Vizualizarea si modificarea structurii tabelelor

Structurile tabelelor create anterior pot fi vizualizate prin comenzile

LIST | DISPLAY STRUCTURE

[IN <nr_zona_lucru> |<alias>]

[TO PRINTER [PROMPT] | TO FILE <nume_fisier>]

[NOCONSOLE]

Comenzile ofera informatii privind structura tabelei din zona curenta. Daca se foloseste clauza IN informatiile se refera la tabela deschisa in zona specificata. Implicit informatiile sunt obtinute pe ecran. Daca se doreste dirijarea lor catre o alta iesire se foloseste clauza TO. TO PRINTER asigura tiparirea structurii la imprimanta cu clauza PROMPT pot fi setati parametrii de tiparire. TO FILE salveaza structura intr-un fisier text. NOCONSOLE inhiba afisarea structurii pe ecran. Ea este recomandata impreuna cu TO PRINTER pentru a folosi tastatura si ecranul la lansarea altor comenzii, imprimanta fiind un periferic mai lent.

Modificarea structurii unei tabele se realizeaza cu comanda:

MODIFY STRUCTURE

Aceasta comanda opereaza doar asupra tabelei curente si deschide fereastra Table Designer in care este posibila efectuarea de modificari prin adaugarea de noi campuri, stergerea de campuri, modificarea numelui, lungimii si naturii campurilor, schimbarea pozitiei campurilor, modificarea indecsilor etc. Practic comanda creeaza o noua tabela prin rescrierea vechii tabele cu modificarile efectuate. Daca in tabela nu au fost incarcate articole, modificarea se realizeaza fara probleme. Altfel, trebuie avute in vedere urmatoarele:

-adaugarea unui nou camp si /sau marirea lungimii unui camp presupune un spatiu de memorie suplimentar, in absenta caruia se pierd articole din tabela;

-stergerea unui camp presupune eliminarea irecuperabila din toate articolele a datelor incarcate in el;

-modificarea naturii campurilor poate duce la pierderea de informatii daca noile tipuri nu sunt compatibile cu cele dinaintea modificarii;

-micsorarea lungimii unui camp poate duce de asemenea la pierderea informatiilor care depasesc noua lungime.

Existand riscul pierderii de informatii inaintea modificarii structurii este recomandata realizarea unei copii de siguranta a tabelei.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.